"""Content Engine — settings registration."""

from __future__ import annotations

from simorgh.apps.content.models import ContentType


def register_all() -> None:
    from simorgh.apps.app_settings.registry import SettingScope, register_setting

    register_setting(
        key="content.default_visibility",
        scope=SettingScope.TENANT,
        default="internal",
        label="Default content visibility",
        field_type="select",
        options=["public", "internal", "private"],
    )
    register_setting(
        key="content.max_attachments_per_item",
        scope=SettingScope.TENANT,
        default=20,
        label="Maximum attachments per content item",
        field_type="number",
    )
    register_setting(
        key="content.require_approval_for_publish",
        scope=SettingScope.TENANT,
        default=True,
        label="Require approval before publishing",
        field_type="checkbox",
    )
    register_setting(
        key="content.enabled_content_types",
        scope=SettingScope.TENANT,
        default=[ct.value for ct in ContentType],
        label="Enabled content types",
        field_type="multiselect",
        options=[ct.value for ct in ContentType],
    )
    register_setting(
        key="content.allow_public_content",
        scope=SettingScope.TENANT,
        default=False,
        label="Allow public content visibility",
        field_type="checkbox",
    )
    register_setting(
        key="content.version_retention_count",
        scope=SettingScope.TENANT,
        default=50,
        label="Number of versions to retain per content item",
        field_type="number",
    )
