2025-03-15 01:53:20 +07:00
|
|
|
use axum::{middleware::from_fn, Router};
|
2025-02-03 21:53:42 +07:00
|
|
|
pub mod auth;
|
2025-03-14 17:50:37 +07:00
|
|
|
pub mod docs;
|
|
|
|
|
pub mod gacha;
|
2025-02-26 15:45:05 +07:00
|
|
|
pub mod users;
|
|
|
|
|
|
|
|
|
|
pub use auth::*;
|
2025-03-14 17:50:37 +07:00
|
|
|
pub use docs::*;
|
|
|
|
|
pub use gacha::*;
|
2025-02-26 15:45:05 +07:00
|
|
|
pub use users::*;
|
2025-03-19 05:34:39 +07:00
|
|
|
use utoipa_swagger_ui::SwaggerUi;
|
2025-02-03 21:53:42 +07:00
|
|
|
|
2025-02-25 02:00:19 +07:00
|
|
|
pub async fn routes() -> Router {
|
2025-03-15 01:53:20 +07:00
|
|
|
let public_routes = Router::new().nest("/auth", auth_router());
|
2025-03-19 05:34:39 +07:00
|
|
|
|
2025-03-15 01:53:20 +07:00
|
|
|
let protected_routes = Router::new()
|
2025-03-14 17:50:37 +07:00
|
|
|
.nest("/gacha", gacha_router())
|
2025-03-15 01:53:20 +07:00
|
|
|
.layer(from_fn(auth::auth_middleware::auth_middleware));
|
2025-03-19 05:34:39 +07:00
|
|
|
|
|
|
|
|
Router::new()
|
|
|
|
|
.merge(public_routes)
|
|
|
|
|
.merge(protected_routes)
|
|
|
|
|
.merge(SwaggerUi::new("/v1/docs").url("/openapi.json", docs_router()))
|
2025-02-25 02:00:19 +07:00
|
|
|
}
|