24 lines
788 B
Python
24 lines
788 B
Python
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)
|