fc / apps /cases /services /case /assembler /case_dto_assembler.py
jun2024's picture
Upload 2241 files
b4f2238 verified
Raw History Blame Contribute Delete
568 Bytes
"""Business logic services."""
from __future__ import annotations
from typing import Any
from apps.core.dto import CaseDTO
class CaseDtoAssembler:
def to_dto(self, case: Any, case_number: str | None = None) -> CaseDTO:
dto = CaseDTO.from_model(case)
dto.case_number = case_number
return dto
def to_dtos(self, cases: list[Any], case_number_map: dict[int, str | None] | None = None) -> list[CaseDTO]:
case_number_map = case_number_map or {}
return [self.to_dto(case, case_number_map.get(case.id)) for case in cases]