From 2728be796edd334bfcfa9d06b14ab338c1692035 Mon Sep 17 00:00:00 2001 From: ntr Date: Tue, 3 Sep 2019 10:02:32 +1000 Subject: [PATCH] fix pvp instance state push notification --- WORKLOG.md | 2 ++ server/src/account.rs | 3 ++- server/src/instance.rs | 2 +- server/src/pg.rs | 2 +- server/src/rpc.rs | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/WORKLOG.md b/WORKLOG.md index a12975b4..a246a525 100644 --- a/WORKLOG.md +++ b/WORKLOG.md @@ -6,6 +6,7 @@ * serde serialize privatise * DO postgres * mobile styles + * can't reset password without knowing password =\ * treats * constructs jiggle when clicked @@ -17,6 +18,7 @@ * bot game grind +* stress test * change score to enum * pct based translates for combat animation diff --git a/server/src/account.rs b/server/src/account.rs index a33b6b02..716c9b10 100644 --- a/server/src/account.rs +++ b/server/src/account.rs @@ -185,8 +185,9 @@ pub fn set_password(tx: &mut Transaction, id: Uuid, current: &String, password: let id: Uuid = row.get(0); let db_pw: String = row.get(1); + // return bad request to prevent being logged out if !verify(current, &db_pw)? { - return Err(MnmlHttpError::PasswordNotMatch); + return Err(MnmlHttpError::BadRequest); } let rounds = 8; diff --git a/server/src/instance.rs b/server/src/instance.rs index eb2c35d7..5443eac9 100644 --- a/server/src/instance.rs +++ b/server/src/instance.rs @@ -724,7 +724,7 @@ pub fn instance_ready(tx: &mut Transaction, account: &Account, instance_id: Uuid Ok(RpcMessage::InstanceState(instance_update(tx, instance)?)) } -pub fn instance_state(tx: &mut Transaction, _account: &Account, instance_id: Uuid) -> Result { +pub fn instance_state(tx: &mut Transaction, instance_id: Uuid) -> Result { let instance = instance_get(tx, instance_id)?; if let Some(game_id) = instance.current_game_id() { diff --git a/server/src/pg.rs b/server/src/pg.rs index 88e05a87..3afabde6 100644 --- a/server/src/pg.rs +++ b/server/src/pg.rs @@ -88,7 +88,7 @@ fn handle_notification(n: Notification, pool: &PgPool, events: &Sender) { Table::Accounts => Some(Event::Push(n.id, RpcMessage::AccountState(account::select(&db, n.id).unwrap()))), Table::Instances => - Some(Event::Push(n.id, RpcMessage::InstanceState(instance::instance_get(&mut tx, n.id).unwrap()))), + Some(Event::Push(n.id, instance::instance_state(&mut tx, n.id).unwrap())), Table::Games => Some(Event::Push(n.id, RpcMessage::GameState(game::game_get(&mut tx, n.id).unwrap()))), _ => { diff --git a/server/src/rpc.rs b/server/src/rpc.rs index df7a503c..01579c23 100644 --- a/server/src/rpc.rs +++ b/server/src/rpc.rs @@ -180,7 +180,7 @@ impl Connection { RpcRequest::InstanceReady { instance_id } => Ok(instance_ready(&mut tx, account, instance_id)?), RpcRequest::InstanceState { instance_id } => - Ok(instance_state(&mut tx, account, instance_id)?), + Ok(instance_state(&mut tx, instance_id)?), RpcRequest::VboxAccept { instance_id, group, index } => Ok(RpcMessage::InstanceState(vbox_accept(&mut tx, account, instance_id, group, index)?)),