27 lines
892 B
Python
27 lines
892 B
Python
from modules.fulfillment_base.models import Service
|
|
from modules.fulfillment_base.schemas.service import (
|
|
CreateServiceSchema,
|
|
UpdateServiceSchema,
|
|
)
|
|
from repositories.mixins import *
|
|
|
|
|
|
class ServiceRepository(
|
|
BaseRepository,
|
|
RepGetAllMixin[Service],
|
|
RepDeleteMixin[Service],
|
|
RepCreateMixin[Service, CreateServiceSchema],
|
|
RepUpdateMixin[Service, UpdateServiceSchema],
|
|
RepGetByIdMixin[Service],
|
|
):
|
|
entity_class = Service
|
|
entity_not_found_msg = "Услуга не найдена"
|
|
|
|
async def update(self, service: Service, data: UpdateServiceSchema) -> Service:
|
|
return await self._apply_update_data_to_model(service, data, True)
|
|
|
|
async def get_by_ids(self, ids: list[int]) -> list[Service]:
|
|
stmt = select(Service).where(Service.id.in_(ids))
|
|
result = await self.session.execute(stmt)
|
|
return result.scalars().all()
|