aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorcurly <curly@infernal.garden>2024-07-17 15:56:33 -0600
committercurly <curly@infernal.garden>2024-07-17 15:56:33 -0600
commit2d6f29228c3379debcc9f6395a50e2f2f6a1910e (patch)
treeccfe4cf08f61b8e9d603463363bca89375ccb7a9 /src/main.rs
parentd000e75ab0c20b266e90deec437e02329210db11 (diff)
downloadpoko_server-2d6f29228c3379debcc9f6395a50e2f2f6a1910e.tar.gz
poko_server-2d6f29228c3379debcc9f6395a50e2f2f6a1910e.tar.bz2
poko_server-2d6f29228c3379debcc9f6395a50e2f2f6a1910e.zip
registration keys
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs
index 8ddd853..63a497d 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -77,14 +77,15 @@ fn default_id() -> UID {
uid::EMPTY_UID
}
#[derive(Deserialize)]
-struct UserForm {
+struct RegisterForm {
name: String,
password: String,
#[serde(default = "default_id")]
id: UID,
+ key: String,
}
#[post("/register", data="<data>", format="json")]
-async fn new_user(data: Json<UserForm>, db: &State<Mutex<DB>>) -> (Status, Result<Json<UserOut>, Json<String>>) {
+async fn new_user(data: Json<RegisterForm>, db: &State<Mutex<DB>>) -> (Status, Result<Json<UserOut>, Json<String>>) {
let mut db = db.lock().await;
let id;
@@ -119,7 +120,7 @@ async fn new_user(data: Json<UserForm>, db: &State<Mutex<DB>>) -> (Status, Resul
match id {
None => return (Status::InternalServerError, Err("".to_string().into())),
Some(n) => {
- match db.new_user(name.into(), data.password.clone(), n).await {
+ match db.new_user(name.into(), data.password.clone(), n, &data.key).await {
// User has been created
Ok(u) => return (Status::Created, Ok(Json(u.into()))),
// Could not create user