feat: add presentation layer + bootstrap wiring for vertical slice
This commit is contained in:
@@ -1,18 +1,32 @@
|
||||
use crate::{
|
||||
handlers::{auth, health},
|
||||
handlers::{albums, assets, auth, health, storage},
|
||||
openapi::openapi_router,
|
||||
state::AppState,
|
||||
};
|
||||
use axum::{
|
||||
Router,
|
||||
routing::{get, post},
|
||||
routing::{delete, get, post, put},
|
||||
};
|
||||
|
||||
pub fn api_v1_router() -> Router<AppState> {
|
||||
Router::new()
|
||||
// auth
|
||||
.route("/auth/register", post(auth::register))
|
||||
.route("/auth/login", post(auth::login))
|
||||
.route("/auth/me", get(auth::me))
|
||||
// albums
|
||||
.route("/albums", post(albums::create_album))
|
||||
.route("/albums/:id", get(albums::get_album))
|
||||
.route("/albums/:id/entries", post(albums::add_entry))
|
||||
.route("/albums/:id/entries/:asset_id", delete(albums::remove_entry))
|
||||
// assets
|
||||
.route("/assets/ingest", post(assets::ingest))
|
||||
.route("/assets/timeline", get(assets::timeline))
|
||||
.route("/assets/:id", get(assets::get_asset))
|
||||
.route("/assets/:id/metadata", put(assets::update_metadata))
|
||||
// storage
|
||||
.route("/storage/volumes", post(storage::register_volume))
|
||||
.route("/storage/library-paths", post(storage::register_library_path))
|
||||
}
|
||||
|
||||
pub fn app_router() -> Router<AppState> {
|
||||
|
||||
Reference in New Issue
Block a user