from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from pydantic import BaseModel from calculator import calculator, Results app = FastAPI() origins = [ "http://localhost", "http://localhost:8000", "http://localhost:5173", ] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.get("/") async def root(): return {"message": "Hello World!"} class BreadParams(BaseModel): flour: float = 500.0 hydration: float = 60.0 sourdough_hydration: float = 50.0 sourdough_percent: float = 30.0 salt_percent: float = 1.6 @app.post("/calculate", response_model=Results) def bread_proportions(params: BreadParams): return calculator( base_flour=params.flour, hydration=params.hydration, sourdough_hydration=params.sourdough_hydration, sourdough_percent=params.sourdough_percent, salt_percent=params.salt_percent )