From b38c8c663c257a395b4391d42cba3f7dd3f04189 Mon Sep 17 00:00:00 2001 From: Greg Shuflin Date: Sat, 1 Feb 2025 23:41:23 -0800 Subject: [PATCH] cargo fmt, fix lint --- src/main.rs | 2 +- src/user.rs | 27 +++++++++++++++++---------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main.rs b/src/main.rs index c49fad9..e325798 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,10 +4,10 @@ extern crate rocket; mod user; use rocket::fs::FileServer; +use rocket::response::Redirect; use rocket::serde::{json::Json, Serialize}; use rocket_db_pools::{sqlx, Database}; use rocket_dyn_templates::{context, Template}; -use rocket::response::Redirect; use user::AuthenticatedUser; #[derive(Database)] diff --git a/src/user.rs b/src/user.rs index 8ce2332..c06ae2f 100644 --- a/src/user.rs +++ b/src/user.rs @@ -1,9 +1,9 @@ +use bcrypt; use chrono; use rocket::http::{Cookie, CookieJar, Status}; use rocket::serde::{json::Json, Deserialize, Serialize}; use rocket_db_pools::Connection; use uuid::Uuid; -use bcrypt; use crate::Db; @@ -19,7 +19,12 @@ pub struct User { } impl User { - pub fn new(username: String, password_hash: String, email: Option, display_name: Option) -> Self { + pub fn new( + username: String, + password_hash: String, + email: Option, + display_name: Option, + ) -> Self { User { id: Uuid::new_v4(), username, @@ -60,16 +65,16 @@ pub async fn create_user( new_user: Json, ) -> Result, Status> { let new_user = new_user.into_inner(); - + // Hash the password - we'll use bcrypt let password_hash = bcrypt::hash(new_user.password.as_bytes(), bcrypt::DEFAULT_COST) .map_err(|_| Status::InternalServerError)?; - + let user = User::new( new_user.username, password_hash, new_user.email, - new_user.display_name + new_user.display_name, ); let query = sqlx::query( @@ -169,7 +174,7 @@ pub async fn login( cookies: &CookieJar<'_>, ) -> Result, Status> { let creds = credentials.into_inner(); - + // Find user by username let user = sqlx::query!( r#" @@ -214,7 +219,7 @@ pub async fn login( #[post("/logout")] pub fn logout(cookies: &CookieJar<'_>) -> Status { - cookies.remove_private(Cookie::named("user_id")); + cookies.remove_private(Cookie::build("user_id")); Status::NoContent } @@ -227,7 +232,9 @@ pub struct AuthenticatedUser { impl<'r> rocket::request::FromRequest<'r> for AuthenticatedUser { type Error = (); - async fn from_request(request: &'r rocket::Request<'_>) -> rocket::request::Outcome { + async fn from_request( + request: &'r rocket::Request<'_>, + ) -> rocket::request::Outcome { match request.cookies().get_private("user_id") { Some(cookie) => { if let Ok(user_id) = Uuid::parse_str(cookie.value()) { @@ -235,8 +242,8 @@ impl<'r> rocket::request::FromRequest<'r> for AuthenticatedUser { } else { rocket::request::Outcome::Forward(Status::Unauthorized) } - }, + } None => rocket::request::Outcome::Forward(Status::Unauthorized), } } -} +}