Create Account endpoint works
This commit is contained in:
22
src/main.rs
22
src/main.rs
@@ -8,8 +8,8 @@ use data::{LoginRequest, ThumbnailRequest};
|
||||
use jsonwebtoken::{encode, EncodingKey, Header};
|
||||
use std::path::PathBuf;
|
||||
|
||||
use crate::data::{Claims, Token};
|
||||
use crate::database::{create_user, get_user};
|
||||
use crate::data::{Claims, CreateAccountRequest, Token};
|
||||
use crate::database::{create_user, get_user, user_exists};
|
||||
use crate::files::list_files;
|
||||
|
||||
mod data;
|
||||
@@ -17,10 +17,18 @@ mod database;
|
||||
mod files;
|
||||
|
||||
#[post("/register")]
|
||||
async fn register() -> impl Responder {
|
||||
create_user("u", "p");
|
||||
println!("{:?}", get_user("u", "p"));
|
||||
"".to_owned()
|
||||
async fn register(user: Json<CreateAccountRequest>) -> impl Responder {
|
||||
if !user.username.is_empty() && user.password.len() > 5 && user.password == user.confirmation {
|
||||
if user_exists(&user.username) {
|
||||
HttpResponse::BadRequest()
|
||||
} else if let Some(_user) = create_user(&user.username, &user.password) {
|
||||
HttpResponse::Ok()
|
||||
} else {
|
||||
HttpResponse::InternalServerError()
|
||||
}
|
||||
} else {
|
||||
HttpResponse::BadRequest()
|
||||
}
|
||||
}
|
||||
|
||||
#[post("/login")]
|
||||
@@ -28,7 +36,7 @@ async fn login(creds: Json<LoginRequest>) -> impl Responder {
|
||||
if let Some(user) = get_user(&creds.username, &creds.password) {
|
||||
let claims = Claims {
|
||||
sub: user.id.to_string(),
|
||||
exp: (Utc::now() + Duration::seconds(30)).timestamp(),
|
||||
exp: (Utc::now() + Duration::days(3)).timestamp(),
|
||||
};
|
||||
let token = encode(
|
||||
&Header::default(),
|
||||
|
||||
Reference in New Issue
Block a user