Compare commits

...

19 Commits
0.2.0 ... 0.4.2

Author SHA1 Message Date
f6df96c405 0.4.2 2022-08-03 09:35:06 +06:00
fd33cbfca3 Merge pull request #22 from InsanusMokrassar/0.4.1
0.4.1
2022-07-30 23:26:01 +06:00
62a10b9042 fixes in build 2022-07-30 23:25:38 +06:00
a7814c61b5 update admins api 2022-07-30 23:24:24 +06:00
4eb27b42ad Merge pull request #21 from InsanusMokrassar/0.4.0
0.4.0
2022-07-30 20:55:38 +06:00
5367ff5629 Update gradle-wrapper.properties 2022-07-30 20:42:47 +06:00
50caa740cc start 0.4.0 2022-07-30 20:42:04 +06:00
6c85e977f1 Merge pull request #20 from InsanusMokrassar/0.3.1
0.3.1
2022-07-23 00:17:35 +06:00
156a8dd8be Update gradle.properties 2022-07-23 00:11:24 +06:00
3728983653 start 0.3.1 2022-07-23 00:08:55 +06:00
8e99cb9e18 Merge pull request #19 from InsanusMokrassar/0.3.0
0.3.0
2022-06-26 16:27:19 +06:00
0f569ead82 Update gradle.properties 2022-06-26 16:07:26 +06:00
71f6710397 Update gradle.properties 2022-06-22 12:48:07 +06:00
243926cd17 Merge pull request #18 from InsanusMokrassar/0.2.1
0.2.1
2022-06-13 00:28:11 +06:00
b2d3ded0da Update gradle.properties 2022-06-13 00:07:30 +06:00
fbbd8e640c update build scripts 2022-06-11 20:27:00 +06:00
15c0f9979a fixes related to the new microutils 2022-06-11 19:45:29 +06:00
e6d04de433 start 0.2.1 and update dependencies 2022-06-11 19:35:59 +06:00
a6b837f633 Merge pull request #17 from InsanusMokrassar/0.2.0
0.2.0
2022-05-22 15:35:00 +06:00
7 changed files with 31 additions and 33 deletions

View File

@@ -1,7 +1,7 @@
package dev.inmo.tgbotapi.libraries.cache.admins
import dev.inmo.micro_utils.repos.exposed.keyvalue.ExposedKeyValueRepo
import dev.inmo.micro_utils.repos.exposed.onetomany.ExposedOneToManyKeyValueRepo
import dev.inmo.micro_utils.repos.exposed.onetomany.ExposedKeyValuesRepo
import dev.inmo.micro_utils.repos.mappers.withMapper
import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
@@ -36,7 +36,7 @@ fun AdminsCacheAPI(
) : AdminsCacheAPI = DefaultAdminsCacheAPI(
bot,
DefaultAdminsCacheAPIRepo(
ExposedOneToManyKeyValueRepo(
ExposedKeyValuesRepo(
database,
{ long("chatId") },
{ text("member") },

View File

@@ -21,9 +21,7 @@ val Koin.adminsPlugin: AdminsPlugin?
get() = getOrNull()
@Serializable
class AdminsPlugin(
private val chatsSettings: Map<ChatId, AdminsCacheSettings>? = null
) : Plugin {
class AdminsPlugin : Plugin {
@Transient
private val globalAdminsCacheAPI = MutableStateFlow<AdminsCacheAPI?>(null)
@Transient
@@ -31,15 +29,10 @@ class AdminsPlugin(
private val mutex = Mutex()
suspend fun adminsAPI(database: Database): AdminsCacheAPI {
return when (chatsSettings) {
null -> {
val flow = mutex.withLock {
databaseToAdminsCacheAPI.getOrPut(database){ MutableStateFlow(null) }
}
flow.first { it != null }!!
}
else -> globalAdminsCacheAPI.first { it != null }!!
val flow = mutex.withLock {
databaseToAdminsCacheAPI.getOrPut(database){ MutableStateFlow(null) }
}
return flow.filterNotNull().first()
}
override fun Module.setupDI(database: Database, params: JsonObject) {
@@ -48,17 +41,10 @@ class AdminsPlugin(
override suspend fun BehaviourContext.setupBotPlugin(koin: Koin) {
with(koin) {
when (chatsSettings) {
null -> {
mutex.withLock {
val flow = databaseToAdminsCacheAPI.getOrPut(koin.get()){ MutableStateFlow(null) }
if (flow.value == null) {
flow.value = AdminsCacheAPI(koin.get())
}
}
}
else -> mutex.withLock {
globalAdminsCacheAPI.value = AdminsCacheAPI(koin.get())
mutex.withLock {
val flow = databaseToAdminsCacheAPI.getOrPut(koin.get()){ MutableStateFlow(null) }
if (flow.value == null) {
flow.value = AdminsCacheAPI(koin.get())
}
}
}

View File

@@ -52,6 +52,8 @@ val chatIdToMessageIdentifierSerializer = PairSerializer(
val messageContentSerializer = PolymorphicSerializer<MessageContent>(MessageContent::class)
inline fun <K> KeyValueRepo<K, MessageContent>.asMessageContentCache() = SimpleKeyValueMessageContentCache(this)
inline fun KeyValueRepo<String, String>.asMessageContentCache(
serialFormatCreator: (SerializersModule) -> StringFormat = { Json { serializersModule = it } }
): StandardKeyValueRepo<Pair<ChatId, MessageIdentifier>, MessageContent> {

View File

@@ -9,12 +9,12 @@ android.enableJetifier=true
kotlin_version=1.6.21
kotlin_serialisation_core_version=1.3.3
github_release_plugin_version=2.3.7
github_release_plugin_version=2.4.1
tgbotapi_version=2.0.0
micro_utils_version=0.10.4
tgbotapi_version=2.2.2
micro_utils_version=0.11.13
exposed_version=0.38.2
plagubot_version=1.1.0
plagubot_version=1.4.1
# ANDROID
@@ -33,5 +33,5 @@ dokka_version=1.6.21
# Project data
group=dev.inmo
version=0.2.0
android_code_version=20
version=0.4.2
android_code_version=26

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@@ -5,7 +5,11 @@ apply from: "$publishGradlePath"
kotlin {
jvm {
compilations.main.kotlinOptions.useIR = true
compilations.main {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
sourceSets {

View File

@@ -4,7 +4,13 @@ project.group = "$group"
apply from: "$publishGradlePath"
kotlin {
jvm()
jvm {
compilations.main {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
js (IR) {
browser()
nodejs()