From 7ea91da20af4fa9963088df90e76d63ca5407662 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Sun, 2 Nov 2025 09:37:20 +0100 Subject: [PATCH] refactor: move route definitions to a separate module --- libertas_api/src/main.rs | 27 ++------------------------- libertas_api/src/routes.rs | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 25 deletions(-) create mode 100644 libertas_api/src/routes.rs diff --git a/libertas_api/src/main.rs b/libertas_api/src/main.rs index b0a515c..2924f0c 100644 --- a/libertas_api/src/main.rs +++ b/libertas_api/src/main.rs @@ -1,21 +1,12 @@ use std::net::SocketAddr; -use axum::{ - Router, - routing::{get, post}, -}; - -use crate::handlers::{ - album_handlers, auth_handlers, - media_handlers::{self}, -}; - pub mod config; pub mod error; pub mod factory; pub mod handlers; pub mod middleware; pub mod repositories; +pub mod routes; pub mod security; pub mod services; pub mod state; @@ -27,21 +18,7 @@ async fn main() -> anyhow::Result<()> { let app_state = factory::build_app_state(config).await?; - let auth_routes = Router::new() - .route("/register", post(auth_handlers::register)) - .route("/login", post(auth_handlers::login)); - - let user_routes = Router::new().route("/me", get(auth_handlers::get_me)); - let media_routes = media_handlers::media_routes(); - let album_routes = album_handlers::album_routes(); - - let app = Router::new() - .route("/api/v1/health", get(|| async { "OK" })) - .nest("/api/v1/auth", auth_routes) - .nest("/api/v1/users", user_routes) - .nest("/api/v1/media", media_routes) - .nest("/api/v1/albums", album_routes) - .with_state(app_state); + let app = routes::api_routes().with_state(app_state); println!("Starting server at http://{}", addr); diff --git a/libertas_api/src/routes.rs b/libertas_api/src/routes.rs new file mode 100644 index 0000000..f1d46aa --- /dev/null +++ b/libertas_api/src/routes.rs @@ -0,0 +1,26 @@ +use axum::{ + Router, + routing::{get, post}, +}; + +use crate::{ + handlers::{album_handlers, auth_handlers, media_handlers}, + state::AppState, +}; + +pub fn api_routes() -> Router { + let auth_routes = Router::new() + .route("/register", post(auth_handlers::register)) + .route("/login", post(auth_handlers::login)); + + let user_routes = Router::new().route("/me", get(auth_handlers::get_me)); + let media_routes = media_handlers::media_routes(); + let album_routes = album_handlers::album_routes(); + + Router::new() + .route("/api/v1/health", get(|| async { "OK" })) + .nest("/api/v1/auth", auth_routes) + .nest("/api/v1/users", user_routes) + .nest("/api/v1/media", media_routes) + .nest("/api/v1/albums", album_routes) +}