Princeaka's picture
Upload 14 files
220d87f verified
raw
history blame
1.2 kB
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from .core.config import settings
from .database import Base, engine
from .routes import auth, apikey, chat, about
def run_migrations():
try:
from alembic import command
from alembic.config import Config
import os
cfg = Config(os.path.join(os.path.dirname(__file__), "migrations", "alembic.ini"))
cfg.set_main_option("script_location", os.path.join(os.path.dirname(__file__), "migrations"))
cfg.set_main_option("sqlalchemy.url", settings.DATABASE_URL)
command.upgrade(cfg, "head")
except Exception as e:
print("Alembic migration error:", e)
def create_app() -> FastAPI:
app = FastAPI(title=settings.APP_NAME)
app.add_middleware(
CORSMiddleware,
allow_origins=[settings.CORS_ORIGINS] if settings.CORS_ORIGINS != "*" else ["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
Base.metadata.bind = engine
app.include_router(auth.router)
app.include_router(apikey.router)
app.include_router(chat.router)
app.include_router(about.router)
return app