From 4b3a2e3da5edbabc48ba621394b0790eea3946c9 Mon Sep 17 00:00:00 2001 From: Bevan Hunt Date: Mon, 6 Jan 2020 23:34:18 -0800 Subject: [PATCH] fix login and new_client --- src/lib.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 226f21c..2cd3f58 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -148,7 +148,7 @@ async fn new_client(data: web::Data, broad: web::Data let origin = config.origin; // turn iVec(s) to String(s) and make HashMap - let vals: HashMap = data.db.iter().into_iter().filter(|x| { + let mut vals: HashMap = data.db.iter().into_iter().filter(|x| { let p = x.as_ref().unwrap(); let k = std::str::from_utf8(&p.0).unwrap().to_owned(); if !k.contains("_v_") && !k.contains("_u_") { @@ -164,6 +164,11 @@ async fn new_client(data: web::Data, broad: web::Data (json.event, data) }).collect(); + if vals.is_empty() { + vals = HashMap::new(); + vals.insert("connection".to_owned(), "connected".to_owned()); + } + // create new client for sse with hashmap of initial values let rx = broad.lock().unwrap().new_client(vals); @@ -328,8 +333,7 @@ async fn login(data: web::Data, json: web::Json) -> Result = data.db.iter().into_iter().filter(|x| { let p = x.as_ref().unwrap(); let k = std::str::from_utf8(&p.0).unwrap().to_owned(); - let search = format!("{}_u_", json.username); - if k.contains(&search) { + if k.contains(&"_u_") { return true; } else { return false;