2025-02-25 02:00:19 +07:00
|
|
|
use crate::{AppState, RedisClient, SurrealClient};
|
2025-03-19 05:34:39 +07:00
|
|
|
use axum::{Extension, Router};
|
2025-03-19 20:55:29 +07:00
|
|
|
use utoipa_swagger_ui::SwaggerUi;
|
2025-02-07 22:26:32 +07:00
|
|
|
|
2025-02-03 21:53:42 +07:00
|
|
|
pub mod v1;
|
|
|
|
|
pub mod v2;
|
2025-02-07 22:26:32 +07:00
|
|
|
|
2025-02-25 02:00:19 +07:00
|
|
|
pub async fn apps(surrealdb: SurrealClient, redisdb: RedisClient) -> Router {
|
|
|
|
|
let state = AppState { surrealdb, redisdb };
|
|
|
|
|
Router::new()
|
|
|
|
|
.nest("/v1", v1::routes().await)
|
|
|
|
|
.nest("/v2", v2::routes().await)
|
2025-03-19 20:55:29 +07:00
|
|
|
.merge(SwaggerUi::new("/docs").url("/openapi.json", v1::docs_router()))
|
2025-02-25 02:00:19 +07:00
|
|
|
.layer(Extension(state))
|
2025-02-07 22:26:32 +07:00
|
|
|
}
|