mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-11-02 02:03:20 -05:00
* add universal toast plugin * add server side locales * integrate CRF++ into CI/CD Pipeline * docs(docs): 📝 add recipe parser docs * feat(backend): ✨ Continued work on ingredient parsers * add new model dest * feat(frontend): ✨ New ingredient parser page * formatting Co-authored-by: Hayden <hay-kot@pm.me>
32 lines
919 B
Python
32 lines
919 B
Python
from fastapi import APIRouter, Depends
|
|
from pydantic import BaseModel
|
|
|
|
from mealie.schema.recipe import RecipeIngredient
|
|
from mealie.services.parser_services import IngredientParserService
|
|
|
|
public_router = APIRouter(prefix="/parser")
|
|
|
|
|
|
class IngredientsRequest(BaseModel):
|
|
ingredients: list[str]
|
|
|
|
|
|
class IngredientRequest(BaseModel):
|
|
ingredient: str
|
|
|
|
|
|
@public_router.post("/ingredients", response_model=list[RecipeIngredient])
|
|
def parse_ingredients(
|
|
ingredients: IngredientsRequest,
|
|
p_service: IngredientParserService = Depends(IngredientParserService.private),
|
|
):
|
|
return {"ingredients": p_service.parse_ingredients(ingredients.ingredients)}
|
|
|
|
|
|
@public_router.post("/ingredient")
|
|
def parse_ingredient(
|
|
ingredient: IngredientRequest,
|
|
p_service: IngredientParserService = Depends(IngredientParserService.private),
|
|
):
|
|
return {"ingredient": p_service.parse_ingredient(ingredient.ingredient)}
|