inluding sdi

This commit is contained in:
2021-02-17 01:21:41 +06:00
parent a2b3fe57ac
commit 2baed760f7
8 changed files with 34 additions and 9 deletions

View File

@@ -2,6 +2,7 @@ package dev.inmo.plagubot.config
import com.github.matfax.klassindex.KlassIndex
import dev.inmo.plagubot.Plugin
import dev.inmo.sdi.Module
import kotlinx.serialization.*
import kotlinx.serialization.json.Json
import kotlinx.serialization.modules.*
@@ -37,6 +38,7 @@ internal val configSerialFormat: StringFormat
@Serializable
data class Config(
val plugins: List<Plugin>,
val database: DatabaseConfig,
val botToken: String
val database: DatabaseConfig = DatabaseConfig(),
val botToken: String,
val params: Module? = null
)

View File

@@ -1,5 +1,6 @@
package dev.inmo.plagubot.config
import dev.inmo.sdi.SDIIncluded
import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
import org.jetbrains.exposed.sql.Database
@@ -7,7 +8,12 @@ import org.jetbrains.exposed.sql.transactions.transactionManager
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
@Serializable
@SDIIncluded
data class DatabaseConfig(
val url: String = "jdbc:sqlite:file:test?mode=memory&cache=shared",
val driver: String = JDBC::class.qualifiedName!!,