Skip to content

Commit

Permalink
fixes according to updated dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
InsanusMokrassar committed Aug 12, 2024
1 parent b441761 commit 9a84867
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 20 deletions.
5 changes: 3 additions & 2 deletions bans/src/main/kotlin/BanPlugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import dev.inmo.micro_utils.common.mapOnFirst
import dev.inmo.micro_utils.common.mapOnSecond
import dev.inmo.micro_utils.common.onFirst
import dev.inmo.micro_utils.common.onSecond
import dev.inmo.micro_utils.coroutines.runCatchingSafely
import dev.inmo.micro_utils.coroutines.safelyWithResult
import dev.inmo.micro_utils.koin.singleWithBinds
import dev.inmo.micro_utils.repos.add
Expand Down Expand Up @@ -203,7 +204,7 @@ class BanPlugin : Plugin {
if (warnings >= chatSettings.warningsUntilBan) {
when {
userInReply != null -> {
val banned = safelyWithResult {
val banned = runCatchingSafely {
banChatMember(commandMessage.chat, userInReply)
}.isSuccess
reply(
Expand All @@ -216,7 +217,7 @@ class BanPlugin : Plugin {
}
}
channelInReply != null -> {
val banned = safelyWithResult {
val banned = runCatchingSafely {
banChatSenderChat(commandMessage.chat, channelInReply.id)
}.isSuccess
reply(
Expand Down
2 changes: 1 addition & 1 deletion bans/src/main/kotlin/db/ChatsSettingsTable.kt
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ private class ExposedChatsSettingsTable(
it[chatSettingsColumn] = banPluginSerialFormat.encodeToString(ChatSettings.serializer(), v)
}

override fun insertKey(k: IdChatIdentifier, v: ChatSettings, it: InsertStatement<Number>) {
override fun insertKey(k: IdChatIdentifier, v: ChatSettings, it: UpdateBuilder<Int>) {
it[keyColumn] = k.chatId.long
it[threadIdColumn] = k.threadId ?.long
}
Expand Down
24 changes: 13 additions & 11 deletions bans/src/main/kotlin/models/WorkMode.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,29 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.modules.SerializersModule
import kotlinx.serialization.modules.polymorphic

@Polymorphic
@Serializable
sealed interface WorkMode {
@Serializable
sealed interface EnabledForAdmins : WorkMode {
@Serializable
companion object Default : EnabledForAdmins
}
@Serializable
sealed interface EnabledForUsers : WorkMode {
@Serializable
companion object Default : EnabledForUsers
}
@Serializable
object Enabled : WorkMode, EnabledForAdmins, EnabledForUsers
data object Enabled : WorkMode, EnabledForAdmins, EnabledForUsers
@Serializable
object Disabled : WorkMode
data object Disabled : WorkMode
}

internal val serializationModule = SerializersModule {
polymorphic(WorkMode::class) {
subclass(WorkMode.EnabledForAdmins.Default::class, WorkMode.EnabledForAdmins.serializer())
subclass(WorkMode.EnabledForUsers.Default::class, WorkMode.EnabledForUsers.serializer())
subclass(WorkMode.Enabled::class, WorkMode.Enabled.serializer())
subclass(WorkMode.Disabled::class, WorkMode.Disabled.serializer())
}
}
//internal val serializationModule = SerializersModule {
// polymorphic(WorkMode::class) {
// subclass(WorkMode.EnabledForAdmins.Default::class, WorkMode.EnabledForAdmins.Default.serializer())
// subclass(WorkMode.EnabledForUsers.Default::class, WorkMode.EnabledForUsers.Default.serializer())
// subclass(WorkMode.Enabled::class, WorkMode.Enabled.serializer())
// subclass(WorkMode.Disabled::class, WorkMode.Disabled.serializer())
// }
//}
4 changes: 2 additions & 2 deletions bans/src/main/kotlin/utils/BanPluginSerialFormat.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package dev.inmo.plagubot.plugins.bans.utils

import dev.inmo.plagubot.plugins.bans.models.serializationModule
//import dev.inmo.plagubot.plugins.bans.models.serializationModule
import kotlinx.serialization.json.Json

internal val banPluginSerialFormat = Json {
ignoreUnknownKeys = true
serializersModule = serializationModule
// serializersModule = serializationModule
}
22 changes: 22 additions & 0 deletions bans/src/test/kotlin/models/WorkModesTests.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package models

import dev.inmo.plagubot.plugins.bans.models.WorkMode
import dev.inmo.plagubot.plugins.bans.utils.banPluginSerialFormat
import org.junit.Test
import kotlin.test.assertEquals

class WorkModesTests {
private fun workModeSerializedType(classname: String) = "{\"type\":\"${classname}\"}"
val workModesToNominalSerializations = mapOf(
WorkMode.EnabledForAdmins.Default to workModeSerializedType(WorkMode.EnabledForAdmins.Default.javaClass.canonicalName!!),
WorkMode.EnabledForUsers.Default to workModeSerializedType(WorkMode.EnabledForUsers.Default.javaClass.canonicalName!!),
WorkMode.Enabled to workModeSerializedType(WorkMode.Enabled.javaClass.canonicalName!!),
WorkMode.Disabled to workModeSerializedType(WorkMode.Disabled.javaClass.canonicalName!!)
)
@Test
fun workModesSerializingCorrectly() {
workModesToNominalSerializations.forEach { (mode, serialized) ->
assertEquals(serialized, banPluginSerialFormat.encodeToString(WorkMode.serializer(), mode))
}
}
}
2 changes: 1 addition & 1 deletion captcha/src/main/kotlin/db/CaptchaChatsSettingsRepo.kt
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class CaptchaChatsSettingsRepo(
override val ResultRow.asId: IdChatIdentifier
get() = IdChatIdentifier(RawChatId(get(chatIdColumn)), get(threadIdColumn) ?.let(::MessageThreadId))

override fun createAndInsertId(value: ChatSettings, it: InsertStatement<Number>): IdChatIdentifier {
override fun createAndInsertId(value: ChatSettings, it: UpdateBuilder<Int>): IdChatIdentifier {
it[chatIdColumn] = value.chatId.chatId.long
it[threadIdColumn] = value.chatId.threadId ?.long
return value.chatId
Expand Down
3 changes: 2 additions & 1 deletion captcha/src/main/kotlin/db/UsersPassInfoRepo.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import org.jetbrains.exposed.sql.ResultRow
import org.jetbrains.exposed.sql.and
import org.jetbrains.exposed.sql.select
import org.jetbrains.exposed.sql.statements.InsertStatement
import org.jetbrains.exposed.sql.statements.UpdateBuilder
import org.jetbrains.exposed.sql.transactions.transaction

class UsersPassInfoRepo(database: Database) : AbstractExposedKeyValuesRepo<UserId, UsersPassInfoRepo.PassInfo>(
Expand Down Expand Up @@ -55,7 +56,7 @@ class UsersPassInfoRepo(database: Database) : AbstractExposedKeyValuesRepo<UserI
initTable()
}

override fun insert(k: UserId, v: PassInfo, it: InsertStatement<Number>) {
override fun insert(k: UserId, v: PassInfo, it: UpdateBuilder<Int>) {
it[userIdColumn] = k.chatId.long
it[chatIdColumn] = v.chatId.chatId.long
it[passedColumn] = v.passed
Expand Down
2 changes: 1 addition & 1 deletion captcha/src/main/kotlin/provider/CaptchaProvider.kt
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ private suspend fun BehaviourContext.banUser(
}
}
}
): Result<Boolean> = safelyWithResult {
): Result<Boolean> = runCatchingSafely {
restrictChatMember(chat, user, permissions = leftRestrictionsPermissions)
banChatMember(chat, user)
}.onFailure {
Expand Down
2 changes: 1 addition & 1 deletion captcha/src/main/kotlin/settings/InlineSettings.kt
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class InlineSettings(
it[threadIdColumn] = v.threadId ?.long
}

override fun insertKey(k: Pair<UserId, MessageId>, v: IdChatIdentifier, it: InsertStatement<Number>) {
override fun insertKey(k: Pair<UserId, MessageId>, v: IdChatIdentifier, it: UpdateBuilder<Int>) {
it[keyColumn] = stringFormat.encodeToString(pairSerializer, k)
}

Expand Down

0 comments on commit 9a84867

Please sign in to comment.