forked from Support/sp-hydra-veil-gui
26 lines
689 B
Python
Executable file
26 lines
689 B
Python
Executable file
from typing import Any, Callable, TypedDict
|
|
|
|
|
|
class MenuResult(TypedDict, total=False):
|
|
status: str
|
|
message: str
|
|
request: dict[str, Any]
|
|
destination: str
|
|
button_text: str
|
|
profile_id: int
|
|
refresh: bool
|
|
clear_selection: bool
|
|
is_enabled: bool
|
|
busy: bool
|
|
package_name: str
|
|
ticket_number: str
|
|
billing_code: str
|
|
sync_data: tuple[list, list, bool, bool, list, list]
|
|
|
|
|
|
MenuCallback = Callable[[MenuResult], None]
|
|
|
|
|
|
def failure(message: str, request: dict[str, Any]) -> MenuResult:
|
|
"""Keep failures explicit so the GUI never infers success from status text."""
|
|
return {"status": "error", "message": message, "request": dict(request)}
|