mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-02-07 11:10:15 +00:00
Fix redis_key implementation.
This commit is contained in:
parent
e2682db6e2
commit
1813e6a7b2
@ -38,6 +38,7 @@ pub type PgPoolConnection = PooledConnection<ConnectionManager<PgConnection>>;
|
|||||||
lazy_static! {
|
lazy_static! {
|
||||||
static ref PG_POOL: RwLock<Option<PgPool>> = RwLock::new(None);
|
static ref PG_POOL: RwLock<Option<PgPool>> = RwLock::new(None);
|
||||||
static ref REDIS_POOL: RwLock<Option<RedisPool>> = RwLock::new(None);
|
static ref REDIS_POOL: RwLock<Option<RedisPool>> = RwLock::new(None);
|
||||||
|
static ref REDIS_PREFIX: RwLock<String> = RwLock::new("".to_string());
|
||||||
}
|
}
|
||||||
|
|
||||||
pub const MIGRATIONS: EmbeddedMigrations = embed_migrations!("./migrations");
|
pub const MIGRATIONS: EmbeddedMigrations = embed_migrations!("./migrations");
|
||||||
@ -210,6 +211,11 @@ pub async fn setup() -> Result<()> {
|
|||||||
set_redis_pool(RedisPool::Client(pool));
|
set_redis_pool(RedisPool::Client(pool));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !conf.redis.key_prefix.is_empty() {
|
||||||
|
info!(prefix = %conf.redis.key_prefix, "Setting Redis prefix");
|
||||||
|
*REDIS_PREFIX.write().unwrap() = conf.redis.key_prefix.clone();
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -244,7 +250,8 @@ pub fn set_redis_pool(p: RedisPool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn redis_key(s: String) -> String {
|
pub fn redis_key(s: String) -> String {
|
||||||
s
|
let prefix = REDIS_PREFIX.read().unwrap();
|
||||||
|
format!("{}{}", prefix, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
@ -264,3 +271,23 @@ pub async fn reset_redis() -> Result<()> {
|
|||||||
redis::cmd("FLUSHALL").query(&mut *c)?;
|
redis::cmd("FLUSHALL").query(&mut *c)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_prefix_no_prefix() {
|
||||||
|
*REDIS_PREFIX.write().unwrap() = "".to_string();
|
||||||
|
assert_eq!("lora:test:key", redis_key("lora:test:key".to_string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_prefix() {
|
||||||
|
*REDIS_PREFIX.write().unwrap() = "foobar:".to_string();
|
||||||
|
assert_eq!(
|
||||||
|
"foobar:lora:test:key",
|
||||||
|
redis_key("lora:test:key".to_string())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user