IT WORKS!!!

This commit is contained in:
Aleksandrov Vladimir 2019-04-13 19:59:25 +03:00
parent 81e121c1b9
commit a3b5765a63
No known key found for this signature in database
GPG Key ID: CF84A9185F9615AE
3 changed files with 14 additions and 9 deletions

View File

@ -42,14 +42,15 @@ impl Cell {
// ================== CanvasManager ==================
#[derive(Debug)]
pub struct CanvasManager {
canvas: HashMap<Cell, String>
}
impl CanvasManager {
pub fn new() -> Self {
let x_size = 1000;
let y_size = 1000;
let x_size = 10;
let y_size = 10;
let white_colour = String::from("#ffafff");
let mut canvas_map: HashMap<Cell, String> = HashMap::new();
@ -73,11 +74,15 @@ impl CanvasManager {
let json_response: AppResult<Value> = serde_json::to_value(result).map_err(Into::into);
match &json_response {
Ok(res) => info!("JSON ok : {}", res.to_string()),
Err(err) => info!("JSON error: {}", err.to_string())
}
json_response
}
pub fn set(&mut self, x_coord: u32, y_coord: u32, colour: String) -> AppResult<Value> {
self.canvas.insert(Cell::new(x_coord, y_coord), colour);
let result = Response::PaintResult {
ok: true
};
serde_json::to_value(result).map_err(Into::into)
}
}

View File

@ -37,6 +37,6 @@ fn do_request(req: String) -> AppResult<Value> {
match request {
Request::Get => CANVAS_MANAGER.with(|cm| cm.borrow_mut().to_response()),
Request::Set{x_coord, y_coord, colour} => serde_json::from_str("lala").map_err(Into::into)
Request::Set{x_coord, y_coord, colour} => CANVAS_MANAGER.with(|cm| cm.borrow_mut().set(x_coord, y_coord, colour))
}
}

View File

@ -15,7 +15,7 @@ pub enum Request {
#[serde(untagged)]
pub enum Response {
Matrix { state: Vec<CellStateResponse> },
PaintResult { error: Option<String> },
PaintResult { ok: bool },
Error { message: String },
}