add settings template

This commit is contained in:
2022-08-21 18:00:51 +06:00
parent aa9f187203
commit 463a590861
9 changed files with 119 additions and 0 deletions

View File

@@ -0,0 +1 @@
package dev.inmo.plaguposter.settings

View File

@@ -0,0 +1,6 @@
package dev.inmo.plaguposter.settings.repo
import dev.inmo.micro_utils.repos.ReadKeyValueRepo
import dev.inmo.tgbotapi.types.ChatId
interface ReadSettingsRepo<T> : ReadKeyValueRepo<ChatId, T>

View File

@@ -0,0 +1,13 @@
package dev.inmo.plaguposter.settings.repo
import dev.inmo.tgbotapi.types.ChatId
import kotlinx.serialization.json.buildJsonObject
suspend inline fun <reified T : Any> SettingsRepo.set(
chatId: ChatId,
settings: T
) {
val oldSettings = get(chatId) ?: buildJsonObject { }
}

View File

@@ -0,0 +1,8 @@
package dev.inmo.plaguposter.settings.repo
import dev.inmo.micro_utils.repos.*
import dev.inmo.tgbotapi.types.ChatId
import kotlinx.serialization.SerializationStrategy
import kotlinx.serialization.json.JsonObject
interface SettingsRepo<T> : KeyValueRepo<ChatId, T>, ReadSettingsRepo<T>, WriteSettingsRepo<T>

View File

@@ -0,0 +1,8 @@
package dev.inmo.plaguposter.settings.repo
import dev.inmo.micro_utils.repos.*
import dev.inmo.tgbotapi.types.ChatId
import dev.inmo.tgbotapi.utils.RiskFeature
import kotlinx.serialization.json.JsonObject
interface WriteSettingsRepo<T> : WriteKeyValueRepo<ChatId, T>