fooder-api/fooder/view/meal.py
Piotr Domański 2123f55eab
Some checks are pending
Python lint and test / linttest (push) Waiting to run
[meal] allow edit
2026-04-01 23:43:54 +02:00

60 lines
1.5 KiB
Python

from fastapi import APIRouter, Depends, Request
from ..controller.meal import CreateMeal, CreateMealFromPreset, DeleteMeal, RenameMeal, SaveMeal
from ..model.meal import (
CreateMealFromPresetPayload,
CreateMealPayload,
Meal,
RenameMealPayload,
SaveMealPayload,
)
from ..model.preset import Preset
router = APIRouter(tags=["meal"])
@router.post("", response_model=Meal)
async def create_meal(
request: Request,
data: CreateMealPayload,
contoller: CreateMeal = Depends(CreateMeal),
):
return await contoller.call(data)
@router.post("/{meal_id}/save", response_model=Preset)
async def save_meal(
request: Request,
meal_id: int,
data: SaveMealPayload,
contoller: SaveMeal = Depends(SaveMeal),
):
return await contoller.call(meal_id, data)
@router.patch("/{meal_id}", response_model=Meal)
async def rename_meal(
request: Request,
meal_id: int,
data: RenameMealPayload,
contoller: RenameMeal = Depends(RenameMeal),
):
return await contoller.call(meal_id, data)
@router.delete("/{meal_id}")
async def delete_meal(
request: Request,
meal_id: int,
contoller: DeleteMeal = Depends(DeleteMeal),
):
return await contoller.call(meal_id)
@router.post("/from_preset", response_model=Meal)
async def create_meal_from_preset(
request: Request,
data: CreateMealFromPresetPayload,
contoller: CreateMealFromPreset = Depends(CreateMealFromPreset),
):
return await contoller.call(data)