Add Dispatch_V0.1.1
This commit is contained in:
44
Dispatch_V0.1.1/state/ticket_state_api.py
Normal file
44
Dispatch_V0.1.1/state/ticket_state_api.py
Normal file
@@ -0,0 +1,44 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# hub/ticket/state/ticket_state_api.py
|
||||
|
||||
"""Публичный state API модуля Ticket."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any, Mapping, Protocol, Sequence
|
||||
|
||||
from domain import TicketTaskSnapshot
|
||||
|
||||
|
||||
class TicketStateApi(Protocol):
|
||||
"""Контракт для канонического runtime-state и persistence-контура Ticket."""
|
||||
|
||||
def load(self) -> None:
|
||||
"""Загрузить состояние из репозитория."""
|
||||
|
||||
def list_tasks(self) -> Sequence[TicketTaskSnapshot]:
|
||||
"""Вернуть все известные задачи."""
|
||||
|
||||
def list_active_tasks(self) -> Sequence[TicketTaskSnapshot]:
|
||||
"""Вернуть активные задачи."""
|
||||
|
||||
def list_archived_tasks(self) -> Sequence[TicketTaskSnapshot]:
|
||||
"""Вернуть архивные задачи."""
|
||||
|
||||
def get_task(self, task_id: int) -> TicketTaskSnapshot | None:
|
||||
"""Вернуть задачу по идентификатору."""
|
||||
|
||||
def upsert_task(self, task: TicketTaskSnapshot) -> None:
|
||||
"""Создать или обновить задачу в каноническом состоянии."""
|
||||
|
||||
def update_task(self, task_data: Mapping[str, Any]) -> TicketTaskSnapshot | None:
|
||||
"""Обновить задачу по словарю совместимых полей."""
|
||||
|
||||
def remove_task(self, task_id: int) -> None:
|
||||
"""Удалить задачу из состояния."""
|
||||
|
||||
def sign_report(self, task_id: int, report_type: str) -> None:
|
||||
"""Зафиксировать подписание отчёта."""
|
||||
|
||||
def can_advance_to_confirmation(self, task_id: int) -> bool:
|
||||
"""Проверить готовность задачи к подтверждению."""
|
||||
Reference in New Issue
Block a user