Download apps/core/dto/cases.py from jun2024/fc: direct link, hf CLI and curl.
- Browser
- Download file 3.25 kB
-
https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/core/dto/cases.py
- Command line
-
hf download hf://spaces/jun2024/fc/apps/core/dto/cases.py
-
curl -L -o cases.py https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/core/dto/cases.py
3.25 kB
| """Module for cases.""" | |
| from __future__ import annotations | |
| from dataclasses import dataclass, field | |
| from typing import TYPE_CHECKING | |
| if TYPE_CHECKING: | |
| from apps.cases.models import Case, CaseParty, CaseTemplateBinding | |
| class CaseDTO: | |
| id: int | |
| name: str | |
| current_stage: str | None = None | |
| contract_id: int | None = None | |
| status: str = "active" | |
| case_type: str | None = None | |
| cause_of_action: str | None = None | |
| target_amount: str | None = None | |
| is_archived: bool = False | |
| start_date: str | None = None | |
| effective_date: str | None = None | |
| case_number: str | None = None | |
| def from_model(cls, case: Case) -> CaseDTO: | |
| return cls( | |
| id=case.id, | |
| name=case.name, | |
| current_stage=case.current_stage, | |
| contract_id=case.contract_id, | |
| status=case.status, | |
| case_type=case.case_type, | |
| cause_of_action=case.cause_of_action, | |
| target_amount=str(case.target_amount) if case.target_amount is not None else None, | |
| is_archived=case.is_archived, | |
| start_date=str(case.start_date) if case.start_date else None, | |
| effective_date=str(case.effective_date) if case.effective_date else None, | |
| ) | |
| class CaseSearchResultDTO: | |
| id: int | |
| name: str | |
| case_numbers: list[str] = field(default_factory=list) | |
| parties: list[str] = field(default_factory=list) | |
| created_at: str | None = None | |
| class CaseTemplateBindingDTO: | |
| id: int | |
| case_id: int | |
| template_id: int | |
| template_name: str | |
| template_function_code: str | None = None | |
| binding_source: str = "manual" | |
| created_at: str | None = None | |
| def from_model(cls, binding: CaseTemplateBinding) -> CaseTemplateBindingDTO: | |
| return cls( | |
| id=binding.id, | |
| case_id=binding.case_id, | |
| template_id=binding.template_id, | |
| template_name=binding.template.name if binding.template else "", | |
| template_function_code=None, | |
| binding_source=binding.binding_source, | |
| created_at=str(binding.created_at) if binding.created_at else None, | |
| ) | |
| class CasePartyDTO: | |
| id: int | |
| case_id: int | |
| client_id: int | |
| client_name: str | |
| client_type: str | |
| legal_status: str | |
| id_number: str | None = None | |
| address: str | None = None | |
| phone: str | None = None | |
| legal_representative: str | None = None | |
| is_our_client: bool = False | |
| def from_model(cls, party: CaseParty) -> CasePartyDTO: | |
| client = party.client | |
| return cls( | |
| id=party.id, | |
| case_id=party.case_id, | |
| client_id=party.client_id, | |
| client_name=client.name if client else "", | |
| client_type=client.client_type if client else "natural", | |
| legal_status=party.legal_status or "", | |
| id_number=client.id_number if client else None, | |
| address=client.address if client else None, | |
| phone=client.phone if client else None, | |
| legal_representative=client.legal_representative if client else None, | |
| is_our_client=client.is_our_client if client else False, | |
| ) | |