From 7bbc871e3402fdedec8f07c8969a8877b87fae18 Mon Sep 17 00:00:00 2001 From: curly Date: Thu, 9 Feb 2023 09:27:58 -0700 Subject: message_list, delete_user, limits --- src/main.rs | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 9ed4ddc..86a6186 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,6 +26,10 @@ fn get_message(id: usize, db: &State) -> Json/")] fn get_message_id_list(id_start: u64, id_end: u64, db: &State) -> Json, &'static str>> { + if id_end - id_start > 25 { + return Json(Response(Err("Request limit is 25"))) + } + let lock = db.sdb.lock().unwrap(); let list = lock.get_message_id_list(id_start.into(), id_end.into()); @@ -35,6 +39,21 @@ fn get_message_id_list(id_start: u64, id_end: u64, db: &State) -> Json Json(Response(Ok(list))) } } +#[get("/get_message_list//")] +fn get_message_list(id_start: u64, id_end: u64, db: &State) -> Json, &'static str>> { + if id_end - id_start > 25 { + return Json(Response(Err("Request limit is 25"))) + } + + let lock = db.sdb.lock().unwrap(); + let list = lock.get_message_list(id_start.into(), id_end.into()); + + if list.len() == 0 { + Json(Response(Err("No messages"))) + } else { + Json(Response(Ok(list))) + } +} #[get("/get_message_id_newest")] fn get_message_id_newest(db: &State) -> Json> { let lock = db.sdb.lock().unwrap(); @@ -85,6 +104,13 @@ fn create_user(name: Json, db: &State) -> Json, db: &State) -> Json> { + let mut lock = db.sdb.lock().unwrap(); + + Json(Response(lock.delete_user(id.0))) +} + #[get("/ping")] fn ping() -> Json> { Json(Response(Ok("pong"))) @@ -115,7 +141,9 @@ fn rocket() -> _ { get_user_by_name, get_message_id_newest, delete_message, + delete_user, + get_message_list, ]) .mount("/", routes![api_index]) .manage(SharedDB{sdb: Mutex::new(database::Database::new())}) -} +} \ No newline at end of file -- cgit v1.2.3