from sqlalchemy.orm import selectinload from modules.fulfillment_base.models.service import ServicesKit from modules.fulfillment_base.schemas.services_kit import ( CreateServicesKitSchema, UpdateServicesKitSchema, ) from repositories.mixins import * class ServicesKitRepository( RepCrudMixin[ServicesKit, CreateServicesKitSchema, UpdateServicesKitSchema], ): entity_class = ServicesKit entity_not_found_msg = "Набор услуг не найден" def _process_get_by_id_stmt(self, stmt: Select) -> Select: return stmt.options(selectinload(ServicesKit.services)) async def update( self, service: ServicesKit, data: UpdateServicesKitSchema ) -> ServicesKit: return await self._apply_update_data_to_model(service, data, True)