diff --git a/server/src/auth/login.rs b/server/src/auth/login.rs index 0fd2494..f853157 100644 --- a/server/src/auth/login.rs +++ b/server/src/auth/login.rs @@ -29,7 +29,7 @@ pub async fn handle( Err(err) => { return match err { Error::UserNotFound => Err(ServerError::AuthError(AuthError::UserNotFound)), - _ => Err(ServerError::AuthError(AuthError::UnknowError( + _ => Err(ServerError::AuthError(AuthError::UnknownError( err.to_string(), ))), } diff --git a/server/src/auth/mod.rs b/server/src/auth/mod.rs index d2d8062..d520f66 100644 --- a/server/src/auth/mod.rs +++ b/server/src/auth/mod.rs @@ -1,11 +1,9 @@ -use axum::routing::get; - pub mod login; pub mod register; pub mod whoami; pub fn app() -> axum::Router { - use axum::routing::post; + use axum::routing::{get, post}; axum::Router::new() .route("/login", post(login::handle)) diff --git a/server/src/auth/register.rs b/server/src/auth/register.rs index 41fbf65..261c5b9 100644 --- a/server/src/auth/register.rs +++ b/server/src/auth/register.rs @@ -48,7 +48,7 @@ pub async fn handle( return Err(ServerError::AuthError(AuthError::UserAlreadyExists)); } - return Err(ServerError::AuthError(AuthError::UnknowError( + return Err(ServerError::AuthError(AuthError::UnknownError( e.to_string(), ))); } diff --git a/server/src/auth/whoami.rs b/server/src/auth/whoami.rs index d26da78..a36ada2 100644 --- a/server/src/auth/whoami.rs +++ b/server/src/auth/whoami.rs @@ -24,7 +24,7 @@ pub async fn handle( Err(err) => match err { Error::UserNotFound => return Err(ServerError::AuthError(AuthError::UserNotFound)), _ => { - return Err(ServerError::AuthError(AuthError::UnknowError( + return Err(ServerError::AuthError(AuthError::UnknownError( err.to_string(), ))) } diff --git a/server/src/fs/mod.rs b/server/src/fs/mod.rs index ca82bf1..aa1f494 100644 --- a/server/src/fs/mod.rs +++ b/server/src/fs/mod.rs @@ -1,5 +1,3 @@ -use homedisk_types::errors::{FsError, ServerError}; - pub mod list; pub mod upload; @@ -11,7 +9,9 @@ pub fn app() -> axum::Router { .route("/upload", post(upload::handle)) } -pub fn validate_path(path: &str) -> Result<(), ServerError> { +pub fn validate_path(path: &str) -> Result<(), homedisk_types::errors::ServerError> { + use homedisk_types::errors::{FsError, ServerError}; + // `path` cannot contain `..` // to prevent attack attempts because by using a `..` you can access the previous folder if path.contains("..") { diff --git a/server/src/middleware/jwt.rs b/server/src/middleware/jwt.rs index e524642..bd79529 100644 --- a/server/src/middleware/jwt.rs +++ b/server/src/middleware/jwt.rs @@ -18,7 +18,7 @@ pub async fn find_user(db: Database, user_id: String) -> Result { Err(ServerError::AuthError(AuthError::UserNotFound)) } - _ => Err(ServerError::AuthError(AuthError::UnknowError( + _ => Err(ServerError::AuthError(AuthError::UnknownError( err.to_string(), ))), }, diff --git a/types/src/database/user.rs b/types/src/database/user.rs index 387b2ab..38f0c7b 100644 --- a/types/src/database/user.rs +++ b/types/src/database/user.rs @@ -48,7 +48,9 @@ impl User { /// /// let user = User::new("medzik", "whatever"); /// - /// user.user_dir("/home/homedisk"); // will return `/home/homedisk/medzik` + /// let dir = user.user_dir("/home/homedisk"); // will return `/home/homedisk/medzik` + /// + /// assert_eq!(dir, "/home/homedisk/medzik") /// ``` pub fn user_dir(&self, storage: &str) -> String { let path = format!( diff --git a/types/src/errors/auth.rs b/types/src/errors/auth.rs index d1f35b8..3938b54 100644 --- a/types/src/errors/auth.rs +++ b/types/src/errors/auth.rs @@ -23,6 +23,6 @@ pub enum Error { #[error("invalid jwt token")] InvalidToken, - #[error("unknow error")] - UnknowError(String), + #[error("unknown error")] + UnknownError(String), } diff --git a/types/src/errors/mod.rs b/types/src/errors/mod.rs index d529a37..087a1a9 100644 --- a/types/src/errors/mod.rs +++ b/types/src/errors/mod.rs @@ -48,7 +48,7 @@ impl axum::response::IntoResponse for ServerError { AuthError::PasswordTooShort => StatusCode::NOT_ACCEPTABLE, AuthError::TokenGenerate => StatusCode::INTERNAL_SERVER_ERROR, AuthError::InvalidToken => StatusCode::BAD_REQUEST, - AuthError::UnknowError(_) => StatusCode::INTERNAL_SERVER_ERROR, + AuthError::UnknownError(_) => StatusCode::INTERNAL_SERVER_ERROR, }, Self::FsError(ref err) => match err { FsError::FileAlreadyExists => StatusCode::BAD_REQUEST,