From a16b2aab1b379a35dfb976f7fefc1dfc3ef658a2 Mon Sep 17 00:00:00 2001 From: Sergey Sova Date: Sat, 7 Jul 2018 01:46:27 +0300 Subject: [PATCH] feat(lib): add create_account --- src/lib.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 87747e3..c23ca5b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,7 +8,7 @@ extern crate failure; extern crate ron; extern crate rustbreak; -use actix_web::{server, App, HttpRequest, Responder}; +use actix_web::{server, App, HttpRequest, Responder, Json, http}; use failure::Fail; use std::collections::HashMap; use std::sync::{Arc, Mutex}; @@ -26,7 +26,7 @@ fn index(req: HttpRequest) -> impl Responder { let count = db.tokens.len(); let token = format!("tok{}", count); db.tokens.insert(count, String::from(token)); - db.save(); + let _ = db.save(); println!("after: {:?}", db.to_string()); @@ -37,6 +37,16 @@ fn index(req: HttpRequest) -> impl Responder { "Ok" } +#[derive(Deserialize)] +struct NewAccount { + email: String, + password: String, +} + +fn create_account(account: Json) -> impl Responder { + format!("Form: email: {}, password: {}", account.email, account.password) +} + pub fn create_server() -> Result<(), failure::Error> { // db::test_db().unwrap(); let database = db::Database::load()?; @@ -47,6 +57,9 @@ pub fn create_server() -> Result<(), failure::Error> { App::with_state(AppState { db, }).resource("/", |r| r.f(index)) + .resource("/account", |r| { + r.method(http::Method::POST).with(create_account) + }) }).workers(2) .bind("127.0.0.1:9000") .expect("Can not bind to 127.0.0.1:9000");