bookforge/src/lib.rs

27 lines
737 B
Rust
Raw Normal View History

2026-01-27 01:33:21 +01:00
use axum::{
Router,
routing::{delete, get, post},
};
2026-01-23 13:56:30 +01:00
use static_serve::embed_assets;
2026-01-26 01:05:10 +01:00
use crate::state::AppState;
2026-01-27 01:33:21 +01:00
mod migrations;
mod models;
2026-01-23 13:56:30 +01:00
mod routes;
2026-01-26 01:05:10 +01:00
pub mod state;
2026-01-23 13:56:30 +01:00
2026-01-26 01:05:10 +01:00
pub fn build_app(state: AppState) -> Router {
2026-01-23 13:56:30 +01:00
embed_assets!("assets", compress = true);
Router::new()
.route("/", get(routes::book::index))
.route("/books/{id}", get(routes::book::show))
.route("/books/{id}/edit", get(routes::book::edit))
.route("/books/new", get(routes::book::new))
.route("/users", get(routes::user::index))
2026-01-27 01:33:21 +01:00
.route("/users", post(routes::user::create))
.route("/users/{id}", post(routes::user::delete))
2026-01-23 13:56:30 +01:00
.nest("/assets", static_router())
2026-01-26 01:05:10 +01:00
.with_state(state)
2026-01-23 13:56:30 +01:00
}