Add Dispatch_V0.1.1
This commit is contained in:
75
Dispatch_V0.1.1/module_contract.py
Normal file
75
Dispatch_V0.1.1/module_contract.py
Normal file
@@ -0,0 +1,75 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# hub/ticket/module_contract.py
|
||||
|
||||
"""Контракт каркаса Ticket для этапа 01 миграции."""
|
||||
|
||||
from dataclasses import dataclass
|
||||
|
||||
|
||||
TARGET_TICKET_DIRECTORIES = (
|
||||
"application",
|
||||
"domain",
|
||||
"services",
|
||||
"state",
|
||||
"ui",
|
||||
)
|
||||
|
||||
PUBLIC_API_SYMBOLS = (
|
||||
"TicketPlugin",
|
||||
"TicketApplicationApi",
|
||||
"TicketStateApi",
|
||||
"TicketHardwareGateway",
|
||||
)
|
||||
|
||||
LEGACY_BEHAVIOR_SOURCES = {
|
||||
"application": (
|
||||
"presenter/task_controller.py",
|
||||
"presenter/report_controller.py",
|
||||
"presenter/specialist_controller.py",
|
||||
"presenter/archive_controller.py",
|
||||
),
|
||||
"state": (
|
||||
"model/app_state.py",
|
||||
"model/persistence.py",
|
||||
),
|
||||
"services": (
|
||||
"services/service_manager.py",
|
||||
"services/serial_service.py",
|
||||
"services/mock_service.py",
|
||||
),
|
||||
"ui": (
|
||||
"view/board_module.py",
|
||||
"view/task_widget_base.py",
|
||||
"view/task_widget_details.py",
|
||||
"view/reports_view.py",
|
||||
"view/acts_view.py",
|
||||
"view/report_dialog.py",
|
||||
"view/acceptance_report_dialog.py",
|
||||
),
|
||||
}
|
||||
|
||||
FORBIDDEN_DIRECT_TRANSFER_FILES = (
|
||||
"client.py",
|
||||
"client.bat",
|
||||
"view/gui_main.py",
|
||||
"view/left_panel_module.py",
|
||||
"view/top_bar_module.py",
|
||||
"model/task_state_manager.py",
|
||||
"model/serial_service.py",
|
||||
)
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class TicketModuleContract:
|
||||
"""Краткое описание публичных точек входа нового Ticket."""
|
||||
|
||||
plugin_class_name: str = "TicketPlugin"
|
||||
plugin_display_name: str = "Ticket"
|
||||
state_api_name: str = "TicketStateApi"
|
||||
application_api_name: str = "TicketApplicationApi"
|
||||
hardware_gateway_api_name: str = "TicketHardwareGateway"
|
||||
|
||||
|
||||
def build_ticket_module_contract() -> TicketModuleContract:
|
||||
"""Вернуть краткий публичный контракт нового модуля Ticket."""
|
||||
return TicketModuleContract()
|
||||
Reference in New Issue
Block a user