Some checks failed
Build and Deploy Thoughts / build-and-deploy-local (push) Failing after 3m4s
37 lines
877 B
Rust
37 lines
877 B
Rust
use axum::{extract::State, http::StatusCode, routing::get, Router};
|
|
use sea_orm::{ConnectionTrait, Statement};
|
|
|
|
use app::state::AppState;
|
|
|
|
use crate::error::ApiError;
|
|
|
|
#[utoipa::path(
|
|
get,
|
|
path = "",
|
|
responses(
|
|
(status = 200, description = "Hello world", body = String)
|
|
)
|
|
)]
|
|
async fn root_get(state: State<AppState>) -> Result<String, ApiError> {
|
|
let result = state
|
|
.conn
|
|
.query_one(Statement::from_string(
|
|
state.conn.get_database_backend(),
|
|
"SELECT 'Hello, World from DB!'",
|
|
))
|
|
.await
|
|
.map_err(ApiError::from)?;
|
|
|
|
result.unwrap().try_get_by(0).map_err(|e| e.into())
|
|
}
|
|
|
|
async fn health_check() -> StatusCode {
|
|
StatusCode::OK
|
|
}
|
|
|
|
pub fn create_root_router() -> Router<AppState> {
|
|
Router::new()
|
|
.route("/", get(root_get))
|
|
.route("/health", get(health_check))
|
|
}
|