blob: 6a854d54482a8ff0108dc42ec2b111a3eccc2519 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
use crate::{database::Database, routes::auth::hash_password};
pub fn register_admin(database: &Database, email: &str, username: &str, password: &str) -> Result<(), ()> {
match database.fetch_user_by_email(email) {
Err(_) | Ok(Some(_)) => return Err(()),
Ok(None) => {},
};
match database.fetch_user_by_username(username) {
Err(_) | Ok(Some(_)) => return Err(()),
Ok(None) => {},
};
let Ok(password_hash) = hash_password(password) else { return Err(()) };
match database.insert_user(email, username, &password_hash, true) {
Ok(_) => Ok(()),
Err(e) => {
eprintln!("{:?}", e);
return Err(());
}
}
}
|