use crate::chat::types::SP; use rusqlite; use super::{request::*, handlers}; use async_std::io::Result; use rusqlite::Connection; use serde_json::from_str; use serde_json::json; // server_sender sending data to server thread; pub async fn request_selector(json: String, server_sender: &SP, conn: &Connection) -> Result<()> { // if let Ok(res) = from_str::(&json) { //TODO v0.3 Add Instances return Ok(()); // } if let Ok(res) = from_str::(&json) { handlers::start_app(res, server_sender)? } if let Ok(res) = from_str::(&json) { handlers::stop_app(res, conn, server_sender)? } if let Ok(res) = from_str::(&json) { handlers::load_users(res, conn, server_sender)? } if let Ok(res) = from_str::(&json) { handlers::send_message(res, conn, server_sender)? } if let Ok(res) = from_str::(&json) { handlers::load_messages(res, conn, server_sender)? } if let Ok(res) = from_str::(&json) { handlers::add_user(res, conn, server_sender)? } Err(async_std::io::Error::new( async_std::io::ErrorKind::InvalidData, "Wrong request", )) } #[test] fn is_making_correct_jsons() { let json = from_str::("{\"req_type\":\"StartAppReq\"}").unwrap(); }