from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles from app.api.routes import admin, assets, auth, jobs from app.core.config import settings from app.db.init_db import init_db app = FastAPI(title="Animatrix API", version="0.1.0") app.add_middleware( CORSMiddleware, allow_origins=settings.cors_origins_list, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) init_db() app.include_router(auth.router) app.include_router(assets.router) app.include_router(jobs.router) app.include_router(admin.router) app.mount("/storage/assets", StaticFiles(directory=settings.ASSET_STORAGE_ROOT), name="assets") app.mount("/storage/outputs", StaticFiles(directory=settings.OUTPUT_STORAGE_ROOT), name="outputs") @app.get("/health") def health() -> dict[str, str]: return {"status": "ok"}