| import os |
|
|
| |
| os.environ.setdefault("ANONYMIZED_TELEMETRY", "FALSE") |
|
|
| from fastapi import FastAPI |
| from fastapi.middleware.cors import CORSMiddleware |
|
|
| from api.config import get_settings |
| from storage.audit_store import init_audit_db |
| from storage.job_store import init_jobs_db |
| from .routes import audit, ingest, jobs, query |
|
|
| _settings = get_settings() |
| app = FastAPI( |
| title=_settings.app_name, |
| version=_settings.app_version, |
| description=_settings.app_description, |
| ) |
|
|
| app.add_middleware( |
| CORSMiddleware, |
| allow_origins=["*"], |
| allow_credentials=True, |
| allow_methods=["*"], |
| allow_headers=["*"], |
| ) |
|
|
| app.include_router(audit.router) |
| app.include_router(ingest.router) |
| app.include_router(jobs.router) |
| app.include_router(query.router) |
| app.include_router(query.legacy_query_router) |
|
|
|
|
| @app.on_event("startup") |
| async def startup() -> None: |
| settings = get_settings() |
| await init_audit_db(settings.audit_db_path) |
| await init_jobs_db(settings.jobs_db_path) |
|
|
|
|
| @app.get("/health", tags=["Health"]) |
| def health() -> dict[str, str]: |
| settings = get_settings() |
| return { |
| "status": "ok", |
| "app": settings.app_name, |
| "version": settings.app_version, |
| } |
|
|