diff options
Diffstat (limited to 'crates/turtle/src/atuin_server/handlers/user.rs')
| -rw-r--r-- | crates/turtle/src/atuin_server/handlers/user.rs | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/crates/turtle/src/atuin_server/handlers/user.rs b/crates/turtle/src/atuin_server/handlers/user.rs index 7708d43e..28cebfab 100644 --- a/crates/turtle/src/atuin_server/handlers/user.rs +++ b/crates/turtle/src/atuin_server/handlers/user.rs @@ -16,14 +16,16 @@ use metrics::counter; use rand::rngs::OsRng; use tracing::{debug, error, info, instrument}; -use crate::atuin_common::tls::ensure_crypto_provider; +use crate::{ + atuin_common::tls::ensure_crypto_provider, + atuin_server::database::{ + DbError, + models::{NewSession, NewUser}, + }, +}; use super::{ErrorResponse, ErrorResponseStatus, RespExt}; use crate::atuin_server::router::{AppState, UserAuth}; -use crate::atuin_server_database::{ - Database, DbError, - models::{NewSession, NewUser}, -}; use reqwest::header::CONTENT_TYPE; @@ -63,9 +65,9 @@ async fn send_register_hook(url: &str, username: String, registered: String) { } #[instrument(skip_all, fields(user.username = username.as_str()))] -pub(crate) async fn get<DB: Database>( +pub(crate) async fn get( Path(username): Path<String>, - state: State<AppState<DB>>, + state: State<AppState>, ) -> Result<Json<UserResponse>, ErrorResponseStatus<'static>> { let db = &state.0.database; let user = match db.get_user(username.as_ref()).await { @@ -87,8 +89,8 @@ pub(crate) async fn get<DB: Database>( } #[instrument(skip_all)] -pub(crate) async fn register<DB: Database>( - state: State<AppState<DB>>, +pub(crate) async fn register( + state: State<AppState>, Json(register): Json<RegisterRequest>, ) -> Result<Json<RegisterResponse>, ErrorResponseStatus<'static>> { if !state.settings.open_registration { @@ -163,9 +165,9 @@ pub(crate) async fn register<DB: Database>( } #[instrument(skip_all, fields(user.id = user.id))] -pub(crate) async fn delete<DB: Database>( +pub(crate) async fn delete( UserAuth(user): UserAuth, - state: State<AppState<DB>>, + state: State<AppState>, ) -> Result<Json<DeleteUserResponse>, ErrorResponseStatus<'static>> { debug!("request to delete user {}", user.id); @@ -183,9 +185,9 @@ pub(crate) async fn delete<DB: Database>( } #[instrument(skip_all, fields(user.id = user.id, change_password))] -pub(crate) async fn change_password<DB: Database>( +pub(crate) async fn change_password( UserAuth(mut user): UserAuth, - state: State<AppState<DB>>, + state: State<AppState>, Json(change_password): Json<ChangePasswordRequest>, ) -> Result<Json<ChangePasswordResponse>, ErrorResponseStatus<'static>> { let db = &state.0.database; @@ -213,8 +215,8 @@ pub(crate) async fn change_password<DB: Database>( } #[instrument(skip_all, fields(user.username = login.username.as_str()))] -pub(crate) async fn login<DB: Database>( - state: State<AppState<DB>>, +pub(crate) async fn login( + state: State<AppState>, login: Json<LoginRequest>, ) -> Result<Json<LoginResponse>, ErrorResponseStatus<'static>> { let db = &state.0.database; |
