Files
CRM_backup/backend/src/handlers/mod.rs
T

26 lines
676 B
Rust

use axum::extract::State;
use axum::Json;
use serde_json::Value;
use crate::database::verify_connection;
use crate::dto::{ApiResponse, HealthResponse};
use crate::AppState;
pub async fn health_check(State(state): State<AppState>) -> Json<Value> {
let db_ok = verify_connection(&state.pool).await;
let response = HealthResponse {
status: "ok".to_string(),
service: "crm-api".to_string(),
database: if db_ok {
"connected".to_string()
} else {
"disconnected".to_string()
},
};
Json(serde_json::to_value(ApiResponse::success(
response,
"Service is healthy",
))
.unwrap())
}