deploy / main.py
Sharooq Ayaz
adding
26406d1
Raw
History Blame Contribute Delete
787 Bytes
from contextlib import asynccontextmanager
from fastapi import FastAPI
from routes import tasks
from routes import auth
from sqlmodel import SQLModel
from config.database import engine
from models.user import User
from models.task import Task
@asynccontextmanager
async def lifespan(app: FastAPI):
# Create tables on startup
async with engine.begin() as conn:
await conn.run_sync(SQLModel.metadata.create_all)
yield
app = FastAPI(title="Todo Backend API", version="1.0.0", lifespan=lifespan)
# Include the auth router
app.include_router(auth.router, prefix="/api", tags=["auth"])
# Include the tasks router
app.include_router(tasks.router, prefix="/api/v1", tags=["tasks"])
@app.get("/")
def read_root():
return {"message": "Welcome to the Todo Backend API"}