Money reveal + writing memory
This commit is contained in:
@@ -25,29 +25,43 @@ async fn ws_handler(ws: WebSocketUpgrade, State(state): State<AppState>) -> Resp
|
||||
async fn handle_socket(mut socket: WebSocket, state: AppState) {
|
||||
while let Some(msg) = socket.recv().await {
|
||||
if let Ok(msg) = msg {
|
||||
if msg == Message::Text("requestInfo".to_string()) {
|
||||
let str = {
|
||||
let data = state.data_lock.read().await;
|
||||
if let Ok(text) = msg.to_text() {
|
||||
if text == "requestInfo" {
|
||||
let str = {
|
||||
let data = state.data_lock.read().await;
|
||||
|
||||
match serde_json::to_string(&*data) {
|
||||
Ok(json) => json,
|
||||
Err(e) => {
|
||||
log::error!("Could not serialize data into json: {}", e.to_string());
|
||||
log::error!("Sending \"error\" instead");
|
||||
"error".to_string()
|
||||
},
|
||||
match serde_json::to_string(&*data) {
|
||||
Ok(json) => json,
|
||||
Err(e) => {
|
||||
log::error!("Could not serialize data into json: {}", e.to_string());
|
||||
log::error!("Sending \"error\" instead");
|
||||
"error".to_string()
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
if socket.send(Message::Text(str)).await.is_err() {
|
||||
return;
|
||||
}
|
||||
};
|
||||
} else if text == "toggleMoneyReveal" {
|
||||
let new_value = {
|
||||
let mut data = state.data_lock.write().await;
|
||||
data.money_reveal_enabled = !data.money_reveal_enabled;
|
||||
data.money_reveal_enabled
|
||||
};
|
||||
|
||||
//println!("{str}");
|
||||
let response = serde_json::json!({
|
||||
"action": "toggleMoneyReveal",
|
||||
"status": "success",
|
||||
"enabled": new_value
|
||||
});
|
||||
|
||||
if socket.send(Message::Text(str)).await.is_err() {
|
||||
// client disconnected
|
||||
return;
|
||||
if socket.send(Message::Text(response.to_string())).await.is_err() {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// client disconnected
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user