diff options
Diffstat (limited to 'src/handlers/mod.rs')
| -rw-r--r-- | src/handlers/mod.rs | 16 |
1 files changed, 12 insertions, 4 deletions
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 })) } |
