"""Delegation Engine domain event definitions."""

from __future__ import annotations

from simorgh.apps.events.bus import register_event


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

    register_event(
        "delegation.created",
        description="A new delegation rule was created.",
        payload_keys=("delegation_rule_id", "delegator_id", "delegate_to_id", "tenant_id"),
    )
    register_event(
        "delegation.activated",
        description="A delegation rule was activated.",
        payload_keys=("delegation_rule_id", "delegator_id", "delegate_to_id", "tenant_id"),
    )
    register_event(
        "delegation.deactivated",
        description="A delegation rule was deactivated.",
        payload_keys=("delegation_rule_id", "delegator_id", "tenant_id"),
    )
    register_event(
        "delegation.expired",
        description="A delegation rule has expired.",
        payload_keys=("delegation_rule_id", "delegator_id", "tenant_id"),
    )
    register_event(
        "delegation.deleted",
        description="A delegation rule was deleted.",
        payload_keys=("delegation_rule_id", "delegator_id", "tenant_id"),
    )
