pub mod redis_client;
pub mod with_fred;
pub use redis_client::*;
pub use with_fred::*;
#[derive(serde::Deserialize, Clone, Debug)]
pub struct RedisSettings {
pub enable: Option<bool>,
pub server: Option<String>,
}
impl Default for RedisSettings {
fn default() -> Self {
Self {
enable: Some(false),
server: Some("rediss://127.0.0.1:6379/0".to_string()),
}
}
}
impl RedisSettings {
pub fn is_enable(&self) -> bool {
if let Some(enable) = &self.enable {
*enable
} else {
false
}
}
pub fn connection_string(&self) -> String {
self.server.clone().unwrap().to_string()
}
pub fn get(settings: &Option<RedisSettings>) -> Self {
let _default = Self::default();
if settings.is_some() {
let mut s = settings.clone().unwrap();
if s.enable.is_none() {
s.enable = _default.enable;
}
if s.server.is_none() {
s.server = _default.server;
}
s
} else {
_default
}
}
}