cat_gateway/db/event/config/
mod.rs1use key::ConfigKey;
4use serde_json::Value;
5
6use crate::db::event::EventDB;
7
8pub(crate) mod key;
9
10pub(crate) struct Config {}
12
13const GET_CONFIG: &str = include_str!("sql/get.sql");
15const UPSERT_CONFIG: &str = include_str!("sql/upsert.sql");
17
18impl Config {
19 pub(crate) async fn get(id: ConfigKey) -> anyhow::Result<Value> {
27 let (id1, id2, id3) = id.to_id();
28 let row = EventDB::query_one(GET_CONFIG, &[&id1, &id2, &id3]).await?;
29
30 let value = row.get(0);
31 Ok(value)
32 }
33
34 pub(crate) async fn set(
41 id: ConfigKey,
42 value: Value,
43 ) -> anyhow::Result<()> {
44 let (id1, id2, id3) = id.to_id();
45 EventDB::query(UPSERT_CONFIG, &[&id1, &id2, &id3, &value]).await?;
46 Ok(())
47 }
48}