Files
minxa.lol/backend/main.py
2025-07-24 21:23:09 +00:00

31 lines
734 B
Python

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from backend.config import settings
from backend.db import database, Base, engine
from backend.routes import shortener_router
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=settings.get_allow_origins(),
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.on_event("startup")
async def startup():
await database.connect()
# create tables if they don't exist TODO: maybe?
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
@app.on_event("shutdown")
async def shutdown():
await database.disconnect()
app.include_router(shortener_router)