use axum::{Router, routing::get}; use crate::{ handlers::{ album_handlers, auth_handlers, media_handlers, person_handlers, public_handlers, tag_handlers, user_handlers, }, state::AppState, }; pub fn api_routes(max_upload_size: usize) -> Router { let auth_routes = auth_handlers::auth_routes(); let user_routes = user_handlers::user_routes(); let media_routes = media_handlers::media_routes(max_upload_size); let album_routes = album_handlers::album_routes(); let media_tag_routes = tag_handlers::tag_routes(); let people_routes = person_handlers::people_routes(); let face_routes = person_handlers::face_routes(); let public_routes = public_handlers::public_routes(); Router::new() .route("/api/v1/health", get(|| async { "OK" })) .nest("/api/v1", public_routes) .nest("/api/v1/auth", auth_routes) .nest("/api/v1/users", user_routes) .nest("/api/v1/media", media_routes) .nest("/api/v1/media/{media_id}/tags", media_tag_routes) .nest("/api/v1/albums", album_routes) .nest("/api/v1/people", people_routes) .nest("/api/v1", face_routes) }