34 lines
879 B
Python
34 lines
879 B
Python
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"}
|