"""Escalation Engine IAM permission definitions."""

from __future__ import annotations


def register_all() -> None:
    """Register all Escalation Engine permissions into the IAM registry."""
    from simorgh.apps.iam.registry import register_permission

    register_permission(
        "escalation_engine.rule.view",
        label="مشاهده قوانین تشدید",
        description="View escalation rules.",
    )
    register_permission(
        "escalation_engine.rule.create",
        label="ایجاد قانون تشدید",
        description="Create new escalation rules.",
    )
    register_permission(
        "escalation_engine.rule.update",
        label="ویرایش قانون تشدید",
        description="Edit escalation rules.",
    )
    register_permission(
        "escalation_engine.rule.delete",
        label="حذف قانون تشدید",
        description="Delete escalation rules.",
    )

    register_permission(
        "escalation_engine.instance.view",
        label="مشاهده موارد تشدید",
        description="View escalation instances.",
    )
    register_permission(
        "escalation_engine.instance.escalate",
        label="اجرای تشدید",
        description="Trigger or manually escalate.",
    )
    register_permission(
        "escalation_engine.instance.resolve",
        label="حل‌وفصل تشدید",
        description="Resolve escalation instances.",
    )
    register_permission(
        "escalation_engine.instance.cancel",
        label="لغو تشدید",
        description="Cancel escalation instances.",
    )

    register_permission(
        "escalation_engine.log.view",
        label="مشاهده لاگ تشدید",
        description="View escalation logs.",
    )


PERM_RULE_VIEW = "escalation_engine.rule.view"
PERM_RULE_CREATE = "escalation_engine.rule.create"
PERM_RULE_UPDATE = "escalation_engine.rule.update"
PERM_RULE_DELETE = "escalation_engine.rule.delete"
PERM_INSTANCE_VIEW = "escalation_engine.instance.view"
PERM_INSTANCE_ESCALATE = "escalation_engine.instance.escalate"
PERM_INSTANCE_RESOLVE = "escalation_engine.instance.resolve"
PERM_INSTANCE_CANCEL = "escalation_engine.instance.cancel"
PERM_LOG_VIEW = "escalation_engine.log.view"
