diff --git a/src/modes/server/api/mod.rs b/src/modes/server/api/mod.rs index 91015ff..50cf2d6 100644 --- a/src/modes/server/api/mod.rs +++ b/src/modes/server/api/mod.rs @@ -1,2 +1,3 @@ pub mod item; pub mod status; +pub mod routes; diff --git a/src/modes/server/api/routes.rs b/src/modes/server/api/routes.rs new file mode 100644 index 0000000..e24bf05 --- /dev/null +++ b/src/modes/server/api/routes.rs @@ -0,0 +1,24 @@ +use axum::{ + routing::{get, post, delete}, + Router, +}; + +use crate::modes::server::common::AppState; +use crate::modes::server::api::{ + item, status +}; + +pub fn add_routes(router: Router) -> Router { + router + // Status endpoints + .route("/api/status", get(status::handle_status)) + + // Item endpoints + .route("/api/item/", get(item::handle_list_items).post(item::handle_post_item)) + .route("/api/item/latest", get(item::handle_get_item_latest)) + .route("/api/item/latest/meta", get(item::handle_get_item_latest_meta)) + .route("/api/item/latest/content", get(item::handle_get_content_latest)) + .route("/api/item/:id", get(item::handle_get_item).delete(item::handle_delete_item)) + .route("/api/item/:id/meta", get(item::handle_get_item_meta)) + .route("/api/item/:id/content", get(item::handle_get_content)) +}