2025-03-22 22:17:47 -04:00
|
|
|
pub mod api;
|
|
|
|
pub mod assets;
|
|
|
|
pub mod pages;
|
|
|
|
|
|
|
|
use crate::config::Config;
|
|
|
|
use axum::{
|
|
|
|
Router,
|
|
|
|
routing::{get, get_service},
|
|
|
|
};
|
|
|
|
|
|
|
|
pub fn routes(config: &Config) -> Router {
|
|
|
|
Router::new()
|
|
|
|
// assets
|
|
|
|
.route("/css/style.css", get(assets::style_css_request))
|
|
|
|
.route("/js/loader.js", get(assets::loader_js_request))
|
2025-03-23 16:37:43 -04:00
|
|
|
.route("/js/atto.js", get(assets::atto_js_request))
|
|
|
|
.route("/js/me.js", get(assets::me_js_request))
|
2025-03-22 22:17:47 -04:00
|
|
|
.nest_service(
|
2025-03-23 12:31:48 -04:00
|
|
|
"/public",
|
2025-03-22 22:17:47 -04:00
|
|
|
get_service(tower_http::services::ServeDir::new(&config.dirs.assets)),
|
|
|
|
)
|
2025-03-23 12:31:48 -04:00
|
|
|
.route("/public/favicon.svg", get(assets::favicon_request))
|
2025-03-22 22:17:47 -04:00
|
|
|
// api
|
|
|
|
.nest("/api/v1", api::v1::routes())
|
|
|
|
// pages
|
|
|
|
.merge(pages::routes())
|
|
|
|
}
|