use redis::TypedCommands; use super::{Client, FOLDER_PREFIX}; use crate::data::Event; const CONFIG_FILE_NAME: &str = "config"; impl Client { pub fn set_event(&self, id: &str, event: Event) -> Result<(), ()> { let mut conn = match self.client.get_connection() { Ok(x) => x, Err(e) => { println!("{e}"); return Err(()); } }; let serialized = match serde_json::to_string(&event) { Ok(x) => x, Err(e) => { println!("{e}"); return Err(()); } }; let key = format!("{FOLDER_PREFIX}:{id}:{CONFIG_FILE_NAME}"); match conn.set(key, serialized) { Ok(_) => Ok(()), Err(e) => { println!("{e}"); Err(()) } } } pub fn get_event(&self, id: &str) -> Result { let mut conn = match self.client.get_connection() { Ok(x) => x, Err(e) => { println!("{e}"); return Err(()); } }; let key = format!("{FOLDER_PREFIX}:{id}:{CONFIG_FILE_NAME}"); let value = match conn.get(key) { Ok(x) => x, Err(e) => { println!("{e}"); return Err(()); } }; let Some(value) = value else { return Err(()) }; match serde_json::from_str(&value) { Ok(x) => Ok(x), Err(e) => { println!("{e}"); Err(()) } } } }