"""DMS repositories — IAM permission definitions."""

from __future__ import annotations

from simorgh.apps.iam.registry import register_permission

# Repository permissions
PERM_REPOSITORY_VIEW = "dms.repository.view"
PERM_REPOSITORY_MANAGE = "dms.repository.manage"

# Folder permissions
PERM_FOLDER_VIEW = "dms.folder.view"
PERM_FOLDER_MANAGE = "dms.folder.manage"


def register_all() -> None:
    register_permission(
        codename=PERM_REPOSITORY_VIEW,
        label="DMS: View repositories",
        description="Allows listing and retrieving document repositories.",
    )
    register_permission(
        codename=PERM_REPOSITORY_MANAGE,
        label="DMS: Manage repositories",
        description="Allows creating, updating, and deleting document repositories.",
    )
    register_permission(
        codename=PERM_FOLDER_VIEW,
        label="DMS: View folders",
        description="Allows listing and retrieving folders inside a repository.",
    )
    register_permission(
        codename=PERM_FOLDER_MANAGE,
        label="DMS: Manage folders",
        description="Allows creating, renaming, moving, and deleting folders.",
    )
