mirror of
https://github.com/Xevion/xevion.dev.git
synced 2026-01-31 04:26:43 -06:00
- Split monolithic src/db.rs (1122 lines) into domain modules: projects, tags, settings - Extract API handlers from main.rs into separate handler modules by domain - Add proxy module for ISR/SSR coordination with Bun process - Introduce AppState for shared application context - Add utility functions for asset serving and request classification - Remove obsolete middleware/auth.rs in favor of session checks in handlers
36 lines
679 B
Rust
36 lines
679 B
Rust
pub mod assets;
|
|
pub mod auth;
|
|
pub mod health;
|
|
pub mod projects;
|
|
pub mod settings;
|
|
pub mod tags;
|
|
|
|
// Re-export handlers for easier imports
|
|
pub use assets::*;
|
|
pub use auth::*;
|
|
pub use health::*;
|
|
pub use projects::*;
|
|
pub use settings::*;
|
|
pub use tags::*;
|
|
|
|
// Request/Response types used by handlers
|
|
|
|
#[derive(serde::Deserialize)]
|
|
pub struct CreateTagRequest {
|
|
pub name: String,
|
|
pub slug: Option<String>,
|
|
pub color: Option<String>,
|
|
}
|
|
|
|
#[derive(serde::Deserialize)]
|
|
pub struct UpdateTagRequest {
|
|
pub name: String,
|
|
pub slug: Option<String>,
|
|
pub color: Option<String>,
|
|
}
|
|
|
|
#[derive(serde::Deserialize)]
|
|
pub struct AddProjectTagRequest {
|
|
pub tag_id: String,
|
|
}
|