summaryrefslogtreecommitdiff
path: root/src/handlers/mod.rs
diff options
context:
space:
mode:
authorWriterV2 <primary-v2@protonmail.com>2026-03-21 11:56:19 +0100
committerWriterV2 <primary-v2@protonmail.com>2026-03-21 11:56:19 +0100
commitf491ed95a3bc82c31c70b0f38ed841408576ec0c (patch)
tree1cfc9a957e150ded75c93fad54028a18640ba7c2 /src/handlers/mod.rs
parent74db93c431ebc02b1dc43ec12714007d005a9704 (diff)
Purge + prepare for local website builder
Diffstat (limited to 'src/handlers/mod.rs')
-rw-r--r--src/handlers/mod.rs53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs
deleted file mode 100644
index 3235f24..0000000
--- a/src/handlers/mod.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-use std::sync::Arc;
-use tokio::sync::Mutex;
-
-use axum::extract::DefaultBodyLimit;
-use axum::middleware::{self};
-use axum::routing::{delete, get, post};
-use axum::Router;
-use sqlx::SqlitePool;
-use tower_http::add_extension::AddExtensionLayer;
-use tower_http::services::ServeDir;
-
-use admin::{admin_healthcheck, admin_middleware, delete_story, generate_token, upload_story};
-use frontend_builder::home;
-
-use crate::db::story::Story;
-
-use self::admin::{get_products, get_stories};
-use self::frontend_builder::build_page;
-
-mod admin;
-pub mod frontend_builder;
-
-#[derive(Debug, Clone)]
-pub struct ApiContext {
- pool: SqlitePool,
-}
-
-#[derive(Clone)]
-struct AppState {
- admin_token: Arc<Mutex<String>>,
-}
-
-pub async fn router(pool: SqlitePool) -> Router {
- let state = AppState {
- admin_token: Arc::new(Mutex::new(generate_token())),
- };
-
- Router::new()
- .route("/admin/story/:story_id", delete(delete_story))
- .route("/admin/story", post(upload_story).get(get_stories))
- .route("/admin/product", get(get_products))
- .route("/admin", get(admin_healthcheck))
- .layer(middleware::from_fn_with_state(
- state.clone(),
- admin_middleware,
- ))
- .with_state(state)
- .route("/", get(home))
- .route("/stories", get(build_page::<Story>))
- .nest_service("/static", ServeDir::new("static"))
- .layer(DefaultBodyLimit::max(1074000000))
- .layer(AddExtensionLayer::new(ApiContext { pool }))
-}