|
|
from __future__ import annotations |
|
|
|
|
|
from fastapi import FastAPI |
|
|
from fastapi.middleware.cors import CORSMiddleware |
|
|
from fastapi.staticfiles import StaticFiles |
|
|
|
|
|
from .core.config import get_settings |
|
|
from .routers.api import router as api_router |
|
|
|
|
|
settings = get_settings() |
|
|
|
|
|
app = FastAPI(title=settings.app_name) |
|
|
|
|
|
app.add_middleware( |
|
|
CORSMiddleware, |
|
|
allow_origins=["*"], |
|
|
allow_credentials=True, |
|
|
allow_methods=["*"] , |
|
|
allow_headers=["*"], |
|
|
) |
|
|
|
|
|
app.include_router(api_router) |
|
|
|
|
|
app.mount("/static", StaticFiles(directory=settings.static_dir), name="static") |
|
|
app.mount("/media", StaticFiles(directory=settings.audio_dir), name="media") |
|
|
app.mount("/", StaticFiles(directory=settings.frontend_dir, html=True), name="frontend") |
|
|
|
|
|
|
|
|
@app.get("/health") |
|
|
def healthcheck() -> dict[str, str]: |
|
|
return {"status": "ok"} |
|
|
|