from fastapi import FastAPI, APIRouter from fastapi.staticfiles import StaticFiles from starlette.responses import FileResponse from fastapi.middleware.cors import CORSMiddleware import base64 from pydantic import BaseModel import time app = FastAPI() router = APIRouter() app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) class ImageData(BaseModel): image: str class ImagesData(BaseModel): idCard: str profileImage: str @router.get("/") async def index() -> FileResponse: return FileResponse(path="front/dist/index.html", media_type="text/html") @router.get("/verification") async def verif() -> FileResponse: return FileResponse(path="front/dist/index.html", media_type="text/html") @router.post("/uploadpdf") async def upload_pdf(data: ImageData): header, encoded = data.image.split(',', 1) binary_data = base64.b64decode(encoded) time.sleep(20) return {"message": "Image reçue et sauvegardée"} @router.post("/uploadids") async def upload_ids(data: ImagesData): return {"message": "Images reçues et sauvegardées"} app.include_router(router) app.mount("/", StaticFiles(directory="front/dist", html=True), name="static")