Files
libertas/libertas_api/src/routes.rs

32 lines
1.2 KiB
Rust

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<AppState> {
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)
}