arbret/backend/main.py
2025-12-20 22:38:39 +01:00

41 lines
1.1 KiB
Python

"""FastAPI application entry point."""
from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from database import engine, Base
from routes import sum as sum_routes
from routes import counter as counter_routes
from routes import audit as audit_routes
from routes import profile as profile_routes
from routes import invites as invites_routes
from routes import auth as auth_routes
@asynccontextmanager
async def lifespan(app: FastAPI):
"""Create database tables on startup."""
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
yield
app = FastAPI(lifespan=lifespan)
app.add_middleware(
CORSMiddleware,
allow_origins=["http://localhost:3000"],
allow_methods=["*"],
allow_headers=["*"],
allow_credentials=True,
)
# Include routers
app.include_router(auth_routes.router)
app.include_router(sum_routes.router)
app.include_router(counter_routes.router)
app.include_router(audit_routes.router)
app.include_router(profile_routes.router)
app.include_router(invites_routes.router)
app.include_router(invites_routes.admin_router)