from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from starlette.formparsers import MultiPartParser from .database import init_db from .config import MAX_UPLOAD_SIZE from .routes import datasets, features, images, settings # Relever la limite de taille des parts multipart (défaut Starlette: 1 Mo) MultiPartParser.max_part_size = MAX_UPLOAD_SIZE app = FastAPI(title="WebCarto API", version="0.1.0") app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_methods=["*"], allow_headers=["*"], ) app.include_router(datasets.router, prefix="/api") app.include_router(features.router, prefix="/api") app.include_router(images.router, prefix="/api") app.include_router(settings.router, prefix="/api") @app.on_event("startup") def on_startup(): init_db() @app.get("/api/health") def health(): return {"status": "ok"}