From 8655c93853506acf05f6ae4e58bfc2c6198be254 Mon Sep 17 00:00:00 2001 From: Conrad Ludgate Date: Mon, 12 Jun 2023 09:04:35 +0100 Subject: refactor server to allow pluggable db and tracing (#1036) * refactor server to allow pluggable db and tracing * clean up * fix descriptions * remove dependencies --- atuin-server/src/router.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'atuin-server/src/router.rs') diff --git a/atuin-server/src/router.rs b/atuin-server/src/router.rs index 20b11f45..ec558e78 100644 --- a/atuin-server/src/router.rs +++ b/atuin-server/src/router.rs @@ -10,11 +10,14 @@ use http::request::Parts; use tower::ServiceBuilder; use tower_http::trace::TraceLayer; -use super::{database::Database, handlers}; -use crate::{models::User, settings::Settings}; +use super::handlers; +use crate::settings::Settings; +use atuin_server_database::{models::User, Database}; + +pub struct UserAuth(pub User); #[async_trait] -impl FromRequestParts> for User +impl FromRequestParts> for UserAuth where DB: Database, { @@ -45,7 +48,7 @@ where .await .map_err(|_| http::StatusCode::FORBIDDEN)?; - Ok(user) + Ok(UserAuth(user)) } } @@ -54,15 +57,12 @@ async fn teapot() -> impl IntoResponse { } #[derive(Clone)] -pub struct AppState { +pub struct AppState { pub database: DB, - pub settings: Settings, + pub settings: Settings, } -pub fn router( - database: DB, - settings: Settings, -) -> Router { +pub fn router(database: DB, settings: Settings) -> Router { let routes = Router::new() .route("/", get(handlers::index)) .route("/sync/count", get(handlers::history::count)) -- cgit v1.3.1