service.dish typehint
parent
015a0bcc87
commit
181c6f10af
|
@ -17,7 +17,7 @@ async def get_dishes(
|
|||
submenu_id: UUID,
|
||||
dish: DishService = Depends(),
|
||||
background_tasks: BackgroundTasks = BackgroundTasks(),
|
||||
):
|
||||
) -> list[Dish]:
|
||||
result = await dish.read_dishes(menu_id, submenu_id)
|
||||
return result
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ from fastapi import BackgroundTasks, Depends
|
|||
from fastfood.dbase import get_async_redis_client
|
||||
from fastfood.repository.dish import DishRepository
|
||||
from fastfood.repository.redis import RedisRepository
|
||||
from fastfood.schemas import Dish_db, DishBase
|
||||
from fastfood.schemas import Dish, Dish_db, DishBase
|
||||
|
||||
|
||||
class DishService:
|
||||
|
@ -20,13 +20,13 @@ class DishService:
|
|||
self.cache_client = RedisRepository(redis_client)
|
||||
self.background_tasks = background_tasks
|
||||
|
||||
async def read_dishes(self, menu_id: UUID, submenu_id: UUID) -> list[dict]:
|
||||
async def read_dishes(self, menu_id: UUID, submenu_id: UUID) -> list[Dish]:
|
||||
data = await self.dish_repo.get_dishes(menu_id, submenu_id)
|
||||
response = []
|
||||
for row in data:
|
||||
dish = row.__dict__
|
||||
dish['price'] = str(dish['price'])
|
||||
response.append(dish)
|
||||
response.append(Dish(**dish))
|
||||
return response
|
||||
|
||||
async def create_dish(
|
||||
|
@ -34,7 +34,7 @@ class DishService:
|
|||
menu_id: UUID,
|
||||
submenu_id: UUID,
|
||||
dish_data: DishBase,
|
||||
) -> dict:
|
||||
) -> Dish:
|
||||
dish = Dish_db(**dish_data.model_dump())
|
||||
data = await self.dish_repo.create_dish_item(
|
||||
menu_id,
|
||||
|
@ -43,24 +43,26 @@ class DishService:
|
|||
)
|
||||
response = data.__dict__
|
||||
response['price'] = str(response['price'])
|
||||
return response
|
||||
return Dish(**response)
|
||||
|
||||
async def read_dish(self, menu_id: UUID, submenu_id: UUID, dish_id: UUID) -> dict:
|
||||
async def read_dish(
|
||||
self, menu_id: UUID, submenu_id: UUID, dish_id: UUID
|
||||
) -> Dish | None:
|
||||
data = await self.dish_repo.get_dish_item(menu_id, submenu_id, dish_id)
|
||||
if data is None:
|
||||
return {}
|
||||
return None
|
||||
response = data.__dict__
|
||||
response['price'] = str(response['price'])
|
||||
return response
|
||||
return Dish(**response)
|
||||
|
||||
async def update_dish(
|
||||
self, menu_id: UUID, submenu_id: UUID, dish_id, dish_data: DishBase
|
||||
) -> dict:
|
||||
) -> Dish:
|
||||
dish = Dish_db(**dish_data.model_dump())
|
||||
data = await self.dish_repo.update_dish_item(menu_id, submenu_id, dish_id, dish)
|
||||
response = data.__dict__
|
||||
response['price'] = str(response['price'])
|
||||
return response
|
||||
return Dish(**response)
|
||||
|
||||
async def del_dish(self, menu_id: UUID, submenu_id: UUID, dish_id: UUID) -> int:
|
||||
response = await self.dish_repo.delete_dish_item(
|
||||
|
|
Loading…
Reference in New Issue