from fastapi import FastAPI, File, UploadFile, HTTPException from fastapi.middleware.cors import CORSMiddleware from generate_report import generate_report from utils import convert_to_png import io app = FastAPI(title="FastAPI Example App", version="0.1.0") app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.get("/") async def read_root(): return {"message": "Hello oopa"} @app.post("/upload-image/") async def upload_image(file: UploadFile = File(...)): try: image = await convert_to_png(file) image_io = io.BytesIO() image.save(image_io, format="PNG") image_data = image_io.getvalue() report = generate_report(image_data) return {"report": report} except Exception as e: raise HTTPException(status_code=500, detail=str(e))