fix login and new_client

This commit is contained in:
Bevan Hunt 2020-01-06 23:34:18 -08:00
parent deeec92b04
commit 4b3a2e3da5
1 changed files with 7 additions and 3 deletions

View File

@ -148,7 +148,7 @@ async fn new_client(data: web::Data<MyData>, broad: web::Data<Mutex<Broadcaster>
let origin = config.origin;
// turn iVec(s) to String(s) and make HashMap
let vals: HashMap<String, String> = data.db.iter().into_iter().filter(|x| {
let mut vals: HashMap<String, String> = 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<MyData>, broad: web::Data<Mutex<Broadcaster>
(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<MyData>, json: web::Json<Login>) -> Result<HttpRe
let records : HashMap<String, String> = 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;