"""Projects IAM permission definitions."""

from __future__ import annotations


def register_all() -> None:
    """Register all Projects permissions into the IAM registry."""
    from simorgh.apps.iam.registry import register_permission

    # ── Project ──────────────────────────────────────────────────────────────
    register_permission("projects.project.view",   label="مشاهده پروژه‌ها",     description="View projects.")
    register_permission("projects.project.create", label="ایجاد پروژه",          description="Create new projects.")
    register_permission("projects.project.update", label="ویرایش پروژه",         description="Edit project fields.")
    register_permission("projects.project.delete", label="حذف پروژه",            description="Delete projects.")

    # ── Members ──────────────────────────────────────────────────────────────
    register_permission("projects.member.manage",  label="مدیریت اعضای پروژه",   description="Add/remove/update project members.")

    # ── Phases ───────────────────────────────────────────────────────────────
    register_permission("projects.phase.manage",   label="مدیریت فازهای پروژه",  description="Create/edit/delete project phases.")

    # ── Milestones ───────────────────────────────────────────────────────────
    register_permission("projects.milestone.manage", label="مدیریت نقاط عطف",   description="Create/edit/delete milestones.")

    # ── Tags ────────────────────────────────────────────────────────────────
    register_permission("projects.tag.view",   label="مشاهده برچسب‌های پروژه",  description="View project tags.")
    register_permission("projects.tag.manage", label="مدیریت برچسب‌های پروژه",  description="Create/edit/delete project tags.")


# Convenience constants
PERM_PROJECT_VIEW   = "projects.project.view"
PERM_PROJECT_CREATE = "projects.project.create"
PERM_PROJECT_UPDATE = "projects.project.update"
PERM_PROJECT_DELETE = "projects.project.delete"
PERM_MEMBER_MANAGE  = "projects.member.manage"
PERM_PHASE_MANAGE   = "projects.phase.manage"
PERM_MILESTONE_MANAGE = "projects.milestone.manage"
