"""Escalation Engine domain event definitions."""

from __future__ import annotations

from simorgh.apps.events.bus import register_event


def register_all() -> None:
    """Register all Escalation Engine domain events into the event bus registry."""

    register_event(
        "escalation.triggered",
        description="An escalation has been triggered for an entity.",
        payload_keys=(
            "escalation_instance_id",
            "rule_id",
            "tenant_id",
            "entity_type",
            "entity_id",
            "escalation_level",
        ),
    )
    register_event(
        "escalation.escalated",
        description="An escalation has been performed to a higher level.",
        payload_keys=(
            "escalation_instance_id",
            "rule_id",
            "tenant_id",
            "escalated_to_user_id",
            "escalation_level",
        ),
    )
    register_event(
        "escalation.resolved",
        description="An escalation has been resolved.",
        payload_keys=(
            "escalation_instance_id",
            "rule_id",
            "tenant_id",
        ),
    )
    register_event(
        "escalation.cancelled",
        description="An escalation has been cancelled.",
        payload_keys=(
            "escalation_instance_id",
            "rule_id",
            "tenant_id",
        ),
    )
