Compare commits

...

20 Commits
0.3.0 ... 0.5.2

Author SHA1 Message Date
961d7d9afd Update gradle.properties 2022-08-31 11:07:31 +06:00
6a84bcb860 start 0.5.2 2022-08-31 11:04:31 +06:00
cd1ba035ac Update gradle.properties 2022-08-18 17:18:20 +06:00
6f443c1617 Merge pull request #24 from InsanusMokrassar/0.5.0
0.5.0
2022-08-06 09:49:24 +06:00
85a1048b13 fixes 2022-08-06 09:31:11 +06:00
8dc1687b8e Update gradle.properties 2022-08-06 00:43:51 +06:00
2518109290 Update gradle.properties 2022-08-05 22:55:00 +06:00
760e51cabb 0.5.0 2022-08-05 22:23:15 +06:00
3a667946da Merge pull request #23 from InsanusMokrassar/0.4.2
0.4.2
2022-08-03 09:40:46 +06:00
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
4 changed files with 21 additions and 35 deletions

View File

@@ -23,7 +23,7 @@ private val serializationFormat = Json {
serializersModule = SerializersModule { serializersModule = SerializersModule {
polymorphic(AdministratorChatMember::class) { polymorphic(AdministratorChatMember::class) {
subclass(AdministratorChatMemberImpl::class, AdministratorChatMemberImpl.serializer()) subclass(AdministratorChatMemberImpl::class, AdministratorChatMemberImpl.serializer())
subclass(CreatorChatMember::class, CreatorChatMember.serializer()) subclass(OwnerChatMember::class, OwnerChatMember.serializer())
} }
contextual(AdministratorChatMember::class, PolymorphicSerializer(AdministratorChatMember::class)) contextual(AdministratorChatMember::class, PolymorphicSerializer(AdministratorChatMember::class))
} }

View File

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

View File

@@ -6,15 +6,15 @@ kotlin.incremental.js=true
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
kotlin_version=1.6.21 kotlin_version=1.7.10
kotlin_serialisation_core_version=1.3.3 kotlin_serialisation_core_version=1.4.0
github_release_plugin_version=2.4.1 github_release_plugin_version=2.4.1
tgbotapi_version=2.1.1 tgbotapi_version=3.2.0
micro_utils_version=0.11.6 micro_utils_version=0.12.5
exposed_version=0.38.2 exposed_version=0.39.2
plagubot_version=1.2.1 plagubot_version=2.2.0
# ANDROID # ANDROID
@@ -23,15 +23,15 @@ android_compileSdkVersion=32
android_buildToolsVersion=32.0.0 android_buildToolsVersion=32.0.0
dexcount_version=3.1.0 dexcount_version=3.1.0
junit_version=4.12 junit_version=4.12
test_ext_junit_version=1.1.2 test_ext_junit_version=1.1.3
espresso_core=3.3.0 espresso_core=3.4.0
# Dokka # Dokka
dokka_version=1.6.21 dokka_version=1.7.10
# Project data # Project data
group=dev.inmo group=dev.inmo
version=0.3.0 version=0.5.2
android_code_version=22 android_code_version=29

View File

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