innercontext/backend/main.py

38 lines
1 KiB
Python

from contextlib import asynccontextmanager
from dotenv import load_dotenv
load_dotenv() # load .env before db.py reads DATABASE_URL
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from db import create_db_and_tables
from innercontext.api import health, inventory, products, routines, skincare
@asynccontextmanager
async def lifespan(app: FastAPI):
create_db_and_tables()
yield
app = FastAPI(title="innercontext API", lifespan=lifespan)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(products.router, prefix="/products", tags=["products"])
app.include_router(inventory.router, prefix="/inventory", tags=["inventory"])
app.include_router(health.router, prefix="/health", tags=["health"])
app.include_router(routines.router, prefix="/routines", tags=["routines"])
app.include_router(skincare.router, prefix="/skin-snapshots", tags=["skincare"])
@app.get("/health-check")
def health_check():
return {"status": "ok"}