diff options
author | curly <curly@infernal.garden> | 2024-07-17 17:23:32 -0600 |
---|---|---|
committer | curly <curly@infernal.garden> | 2024-07-17 17:23:32 -0600 |
commit | 5c95f38610c61f43700b3e78dcb56c552d152c2b (patch) | |
tree | 8f180173da663cbaebafec70659e1c3c32b71c53 /src/main.rs | |
parent | d8f80c973159813a5937395a0f53c042b0c738c2 (diff) | |
download | poko_server-5c95f38610c61f43700b3e78dcb56c552d152c2b.tar.gz poko_server-5c95f38610c61f43700b3e78dcb56c552d152c2b.tar.bz2 poko_server-5c95f38610c61f43700b3e78dcb56c552d152c2b.zip |
del and list registration keys for admin
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/main.rs b/src/main.rs index 81b416c..3ad9efd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -125,7 +125,10 @@ async fn new_user(data: Json<RegisterForm>, db: &State<Mutex<DB>>) -> (Status, R // User has been created Ok(u) => return (Status::Created, Ok(Json(u.into()))), // Could not create user - Err(n) => return (Status::InternalServerError, Err(n.into())), + Err(e) => { + db.uid_generator.delete_uid(n); + return (Status::InternalServerError, Err(e.into())) + }, } } } @@ -239,16 +242,23 @@ async fn new_registration_key(data: Json<NewRegistrationKeyForm>, db: &State<Mut } } -#[post("/regkey/list", data="<data>", format="json")] -async fn list_registration_keys(data: Json<LogoutForm>, db: &State<Mutex<DB>>) -> (Status, Result<(), Json<String>>) { - (Status::NotFound, Err("NOT IMPLEMENTED".to_string().into())) -} - #[post("/regkey/del", data="<data>", format="json")] async fn del_registration_key(data: Json<NewRegistrationKeyForm>, db: &State<Mutex<DB>>) -> (Status, Result<(), Json<String>>) { - (Status::NotFound, Err("NOT IMPLEMENTED".to_string().into())) + let mut db = db.lock().await; + match db.del_registration_key(data.id, &data.session, &data.key).await { + Ok(_) => (Status::Ok, Ok(())), + Err(n) => (Status::InternalServerError, Err(n.into())) + } } +#[post("/regkey/list", data="<data>", format="json")] +async fn list_registration_keys(data: Json<LogoutForm>, db: &State<Mutex<DB>>) -> (Status, Result<Json<Vec<String>>, Json<String>>) { + let db = db.lock().await; + match db.list_registration_keys(data.id, &data.session).await { + Ok(n) => (Status::Ok, Ok(n.into())), + Err(n) => (Status::InternalServerError, Err(n.into())), + } +} #[derive(Deserialize, Debug)] struct TransferForm { |