from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles from sqlmodel import SQLModel, create_engine import os # Import models to ensure they are registered from models import User, WardrobeItem, Outfit # Import routers from routers import auth, wardrobe, outfit, vto, size, monetization, brand app = FastAPI(title="Bsure API", version="0.1.0") # Mount static files os.makedirs("static/uploads", exist_ok=True) app.mount("/static", StaticFiles(directory="static"), name="static") # CORS configuration origins = ["*"] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) from database import engine def create_db_and_tables(): SQLModel.metadata.create_all(engine) @app.on_event("startup") def on_startup(): print("🚀 STARTING BSURE API V2 - VERIFIED CONFIG") create_db_and_tables() # Include Routers app.include_router(auth.router) app.include_router(wardrobe.router) app.include_router(outfit.router) app.include_router(vto.router) app.include_router(size.router) app.include_router(monetization.router) app.include_router(brand.router) @app.get("/") def read_root(): return {"message": "Welcome to Bsure API"} @app.get("/health") def health_check(): return {"status": "ok"}