44 lines
1017 B
Python
44 lines
1017 B
Python
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
|
|
)
|
|
|