temporal progress

This commit is contained in:
2022-05-16 20:07:57 +06:00
parent 11c5a38b72
commit dec27b1c34
11 changed files with 98 additions and 282 deletions

View File

@@ -1,19 +1,23 @@
package dev.inmo.plagubot.config
import dev.inmo.sdi.SDIIncluded
import dev.inmo.plagubot.Plugin
import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.exposed.sql.Database
import org.jetbrains.exposed.sql.transactions.transactionManager
import org.koin.core.KoinApplication
import org.koin.core.context.loadKoinModules
import org.koin.core.qualifier.StringQualifier
import org.koin.core.qualifier.named
import org.koin.core.scope.Scope
import org.sqlite.JDBC
import java.sql.Connection
const val defaultDatabaseParamsName = "defaultDatabase"
inline val Map<String, Any>.database: Database?
get() = (get(defaultDatabaseParamsName) as? DatabaseConfig) ?.database
inline val Plugin.database: Database?
get() = getKoin().getOrNull<Database>(named(defaultDatabaseParamsName))
@Serializable
@SDIIncluded
data class DatabaseConfig(
val url: String = "jdbc:sqlite:file:test?mode=memory&cache=shared",
val driver: String = JDBC::class.qualifiedName!!,