EN605.607.81.SP22_ASDM_Project/back_end/src/json_handlers.rs

47 lines
1.5 KiB
Rust

use serde_json::Value;
pub fn handle_json(root: Value) -> Result<String, String> {
if let Some(Value::String(type_str)) = root.get("type") {
match type_str.as_str() {
"pairing_request" => handle_pairing_request(root),
"check_pairing" => handle_check_pairing(root),
"place_token" => handle_place_token(root),
"whose_turn" => handle_whose_turn(root),
"disconnect" => handle_disconnect(root),
"request_board_state" => handle_request_board_state(root),
"game_state" => handle_game_state(root),
_ => Err("{\"type\":\"invalid_type\"}".into()),
}
} else {
Err("{\"type\":\"invalid_json\"}".into())
}
}
fn handle_pairing_request(root: Value) -> Result<String, String> {
Err("{\"type\":\"unimplemented\"}".into())
}
fn handle_check_pairing(root: Value) -> Result<String, String> {
Err("{\"type\":\"unimplemented\"}".into())
}
fn handle_place_token(root: Value) -> Result<String, String> {
Err("{\"type\":\"unimplemented\"}".into())
}
fn handle_whose_turn(root: Value) -> Result<String, String> {
Err("{\"type\":\"unimplemented\"}".into())
}
fn handle_disconnect(root: Value) -> Result<String, String> {
Err("{\"type\":\"unimplemented\"}".into())
}
fn handle_request_board_state(root: Value) -> Result<String, String> {
Err("{\"type\":\"unimplemented\"}".into())
}
fn handle_game_state(root: Value) -> Result<String, String> {
Err("{\"type\":\"unimplemented\"}".into())
}