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(id: ConfigKey, value: Value) -> anyhow::Result<()> {
41 let (id1, id2, id3) = id.to_id();
42 EventDB::query(UPSERT_CONFIG, &[&id1, &id2, &id3, &value]).await?;
43 Ok(())
44 }
45}