From 74c2f643f9577295d62d5985326722c4aaad5264 Mon Sep 17 00:00:00 2001 From: kageru Date: Thu, 18 Jul 2019 18:55:39 +0200 Subject: [PATCH] Add simple Dao to persistently store key, value pairs --- build.gradle.kts | 1 + .../moe/kageru/kagebot/persistence/Dao.kt | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 src/main/kotlin/moe/kageru/kagebot/persistence/Dao.kt diff --git a/build.gradle.kts b/build.gradle.kts index cd659bf..bd9d6a6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -37,6 +37,7 @@ dependencies { implementation("com.moandjiezana.toml:toml4j:0.7.2") implementation(kotlin("stdlib-jdk8")) implementation("org.javacord:javacord:3.0.4") + implementation("org.mapdb:mapdb:3.0.7") testImplementation("io.kotlintest:kotlintest-runner-junit5:3.3.2") testImplementation("io.mockk:mockk:1.9.3") diff --git a/src/main/kotlin/moe/kageru/kagebot/persistence/Dao.kt b/src/main/kotlin/moe/kageru/kagebot/persistence/Dao.kt new file mode 100644 index 0000000..1495cf8 --- /dev/null +++ b/src/main/kotlin/moe/kageru/kagebot/persistence/Dao.kt @@ -0,0 +1,17 @@ +package moe.kageru.kagebot.persistence + +import org.mapdb.DBMaker +import org.mapdb.Serializer + +object Dao { + private val db = DBMaker.fileDB("kagebot.db").fileMmapEnable().closeOnJvmShutdown().make() + private val strings = db.hashMap("main", Serializer.STRING, Serializer.STRING).createOrOpen() + + fun store(key: String, value: String) { + strings[key] = value + } + + fun get(key: String): String? { + return strings[key] + } +} \ No newline at end of file