From 977c93ef0568aa488c226915d14e6f164519fd98 Mon Sep 17 00:00:00 2001 From: WriterV2 Date: Mon, 28 Oct 2024 19:28:41 +0100 Subject: Feat: Add admin API route to add story --- src/handlers/mod.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/handlers/mod.rs') diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs index d69f590..d346512 100644 --- a/src/handlers/mod.rs +++ b/src/handlers/mod.rs @@ -1,21 +1,29 @@ use axum::extract::DefaultBodyLimit; use axum::middleware::{self}; -use axum::routing::get; +use axum::routing::{get, post}; use axum::Router; use sqlx::SqlitePool; +use tower_http::add_extension::AddExtensionLayer; use tower_http::services::ServeDir; -use admin::{admin_handler, admin_middleware}; +use admin::{admin_healthcheck, admin_middleware, upload_story}; use frontend::home; mod admin; mod frontend; +#[derive(Debug, Clone)] +struct ApiContext { + pool: SqlitePool, +} + pub async fn router(pool: SqlitePool) -> Router { Router::new() - .route("/admin", get(admin_handler)) + .route("/admin/story", post(upload_story)) + .route("/admin", get(admin_healthcheck)) .layer(middleware::from_fn(admin_middleware)) .route("/", get(home)) .nest_service("/static", ServeDir::new("src/static")) - .layer(DefaultBodyLimit::max(10000)) + .layer(DefaultBodyLimit::max(1074000000)) + .layer(AddExtensionLayer::new(ApiContext { pool })) } -- cgit v1.2.3