"""WorkItem IAM permission definitions."""

from __future__ import annotations


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

    # ── Canonical WorkItem permissions ─────────────────────────────
    register_permission("workbox.workitem.view",     label="مشاهده آیتم کاری",          description="View work items.")
    register_permission("workbox.workitem.create",   label="ایجاد آیتم کاری",          description="Create work items.")
    register_permission("workbox.workitem.complete", label="تکمیل آیتم کاری",          description="Complete work items.")
    register_permission("workbox.workitem.cancel",   label="لغو آیتم کاری",            description="Cancel work items.")
    register_permission("workbox.workitem.reassign", label="ارجاع آیتم کاری",          description="Reassign work items.")

    # ── Legacy workbox permissions (backward compatible) ────────────
    register_permission("workbox.item.view",    label="مشاهده کارتابل",             description="View workbox items.")
    register_permission("workbox.item.refresh", label="به‌روزرسانی کارتابل",       description="Refresh workbox items from source services.")
    register_permission("workbox.dashboard.view", label="مشاهده داشبورد کارتابل",   description="View workbox dashboard widgets and counters.")
    register_permission("workbox.search.use",   label="جستجوی کارتابل",            description="Use unified search across workbox sources.")


# ── Canonical WorkItem permission constants ──────────────────────────
PERM_ITEM_VIEW     = "workbox.workitem.view"
PERM_ITEM_CREATE   = "workbox.workitem.create"
PERM_ITEM_COMPLETE = "workbox.workitem.complete"
PERM_ITEM_CANCEL   = "workbox.workitem.cancel"
PERM_ITEM_REASSIGN = "workbox.workitem.reassign"

# ── Legacy workbox permission constants ─────────────────────────────
PERM_ITEM_VIEW_WB      = "workbox.item.view"
PERM_ITEM_REFRESH      = "workbox.item.refresh"
PERM_DASHBOARD_VIEW    = "workbox.dashboard.view"
PERM_SEARCH_USE        = "workbox.search.use"
