"""Tasks IAM permission definitions."""

from __future__ import annotations


def register_all() -> None:
    """Register all Tasks permissions into the IAM registry."""
    from simorgh.apps.iam.registry import register_permission

    # ── Task ─────────────────────────────────────────────────────────────────
    register_permission("tasks.task.view",           label="مشاهده تسک‌ها",               description="View tasks.")
    register_permission("tasks.task.create",         label="ایجاد تسک",                    description="Create new tasks.")
    register_permission("tasks.task.update",         label="ویرایش تسک",                   description="Edit task fields.")
    register_permission("tasks.task.delete",         label="حذف تسک",                      description="Delete tasks.")
    register_permission("tasks.task.manage_others",  label="مدیریت تسک دیگران",            description="Change assignee/status of tasks owned by others.")

    # ── Comments ──────────────────────────────────────────────────────────────
    register_permission("tasks.comment.create",      label="افزودن نظر به تسک",            description="Post comments on tasks.")
    register_permission("tasks.comment.delete_own",  label="حذف نظر خود",                 description="Delete own comments on tasks.")

    # ── Tags ──────────────────────────────────────────────────────────────────
    register_permission("tasks.tag.manage",          label="مدیریت برچسب‌های تسک",        description="Create/edit/delete task tags.")


# Convenience constants
PERM_TASK_VIEW          = "tasks.task.view"
PERM_TASK_CREATE        = "tasks.task.create"
PERM_TASK_UPDATE        = "tasks.task.update"
PERM_TASK_DELETE        = "tasks.task.delete"
PERM_TASK_MANAGE_OTHERS = "tasks.task.manage_others"
PERM_COMMENT_CREATE     = "tasks.comment.create"
PERM_COMMENT_DELETE_OWN = "tasks.comment.delete_own"
PERM_TAG_MANAGE         = "tasks.tag.manage"
