1use anyhow::Result;
2
3use super::Db;
4
5impl Db {
6 pub fn read_kvp(&self, key: &str) -> Result<String> {
7 let mut stmt = self
8 .connecion
9 .prepare_cached("SELECT value FROM kv_store WHERE key = (?)")?;
10
11 Ok(stmt.query_row([key], |row| row.get(0))?)
12 }
13
14 pub fn delete_kvp(&self, key: &str) -> Result<()> {
15 let mut stmt = self
16 .connecion
17 .prepare_cached("SELECT value FROM kv_store WHERE key = (?)")?;
18
19 stmt.execute([key])?;
20
21 Ok(())
22 }
23
24 pub fn write_kvp(&self, key: &str, value: &str) -> Result<()> {
25 let mut stmt = self
26 .connecion
27 .prepare_cached("INSERT OR REPLACE INTO kv_store(key, value) VALUES ((?), (?))")?;
28
29 stmt.execute([key, value])?;
30
31 Ok(())
32 }
33}