hydraveil-gui/gui/v2/actions/menu_results.py
2026-09-25 09:12:02 -04:00

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)}