diff --git a/src/modes/server/api/mod.rs b/src/modes/server/api/mod.rs index 9bebe18..4300b71 100644 --- a/src/modes/server/api/mod.rs +++ b/src/modes/server/api/mod.rs @@ -1,5 +1,27 @@ pub mod item; pub mod status; -mod routes; -pub use routes::add_routes; +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)) +}