Readur/src/lib.rs

52 lines
1.2 KiB
Rust

pub mod auth;
pub mod config;
pub mod db;
pub mod db_guardrails_simple;
pub mod ingestion;
pub mod models;
pub mod monitoring;
pub mod ocr;
pub mod oidc;
pub mod routes;
pub mod scheduling;
pub mod seed;
pub mod services;
pub mod swagger;
pub mod utils;
pub mod webdav_xml_parser;
#[cfg(test)]
mod tests;
#[cfg(any(test, feature = "test-utils"))]
pub mod test_utils;
use axum::{http::StatusCode, Json};
use utoipa;
use config::Config;
use db::Database;
use oidc::OidcClient;
#[derive(Clone)]
pub struct AppState {
pub db: Database,
pub config: Config,
pub webdav_scheduler: Option<std::sync::Arc<scheduling::webdav_scheduler::WebDAVScheduler>>,
pub source_scheduler: Option<std::sync::Arc<scheduling::source_scheduler::SourceScheduler>>,
pub queue_service: std::sync::Arc<ocr::queue::OcrQueueService>,
pub oidc_client: Option<std::sync::Arc<OidcClient>>,
}
/// Health check endpoint for monitoring
#[utoipa::path(
get,
path = "/api/health",
tag = "health",
responses(
(status = 200, description = "Service is healthy", body = serde_json::Value),
)
)]
pub async fn health_check() -> Result<Json<serde_json::Value>, StatusCode> {
Ok(Json(serde_json::json!({"status": "ok"})))
}