Files
Crm-Backend/modules/fulfillment_base/repositories/service.py

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()