File size: 1,628 Bytes
b4f2238 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | """Module for reminder protocols."""
from datetime import datetime
from typing import Any, Protocol
from apps.core.dto import ReminderDTO, ReminderTypeDTO
class IReminderService(Protocol):
def create_case_log_reminder_internal(
self,
*,
case_log_id: int,
reminder_type: str,
content: str,
reminder_time: datetime,
user_id: int | None = None,
) -> ReminderDTO: ...
def create_reminder_internal(
self,
case_log_id: int,
reminder_type: str,
reminder_time: datetime | None,
user_id: int | None = None,
) -> ReminderDTO | None: ...
def get_reminder_type_by_code_internal(self, code: str) -> ReminderTypeDTO | None: ...
def get_reminder_type_for_document_internal(self, document_type: str) -> ReminderTypeDTO | None: ...
def get_existing_reminder_times_internal(self, case_log_id: int, reminder_type: str) -> set[datetime]: ...
def create_contract_reminders_internal(self, *, contract_id: int, reminders: list[dict[str, Any]]) -> int: ...
def create_case_log_reminders_internal(self, *, case_log_id: int, reminders: list[dict[str, Any]]) -> int: ...
def export_contract_reminders_internal(self, *, contract_id: int) -> list[dict[str, Any]]: ...
def export_case_log_reminders_internal(self, *, case_log_id: int) -> list[dict[str, Any]]: ...
def export_case_log_reminders_batch_internal(
self, *, case_log_ids: list[int]
) -> dict[int, list[dict[str, Any]]]: ...
def get_latest_case_log_reminder_internal(self, *, case_log_id: int) -> dict[str, Any] | None: ...
|