from .routers import auth from .routers import users from .routers import admin from .routers import ai from .routers import generate from .routers import images from .routers import models from .db import close_db, init_db import os from contextlib import asynccontextmanager from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from dotenv import load_dotenv load_dotenv() @asynccontextmanager async def lifespan(app: FastAPI): init_db() yield close_db() app = FastAPI( title="All You Can GET AI Biz API", description="Multi-modal AI generation API powered by openrouter.ai", version="0.1.0", lifespan=lifespan, ) app.add_middleware( CORSMiddleware, allow_origins=[os.getenv("CORS_ORIGINS", "http://localhost:12016")], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(auth.router) app.include_router(users.router) app.include_router(admin.router) app.include_router(ai.router) app.include_router(generate.router) app.include_router(images.router) app.include_router(models.router) @app.get("/health", tags=["health"]) async def health() -> dict: return {"status": "ok"}