32 lines
1.2 KiB
Rust
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)
|
|
}
|