"""Print Engine — settings definitions.

Platform-wide settings for print templates, document templates, and export layouts.
"""

from __future__ import annotations

from simorgh.apps.app_settings.registry import SettingDefinition, register_setting


def register_all() -> None:
    # Print templates
    register_setting(
        SettingDefinition(
            key="print.max_templates_per_entity",
            type="int",
            default=10,
            label_key="print.settings.max_templates_per_entity",
            description_key="print.settings.max_templates_per_entity_desc",
            scopes=("tenant",),
        )
    )
    register_setting(
        SettingDefinition(
            key="print.default_paper_size",
            type="string",
            default="A4",
            label_key="print.settings.default_paper_size",
            description_key="print.settings.default_paper_size_desc",
            scopes=("tenant",),
        )
    )
    register_setting(
        SettingDefinition(
            key="print.default_orientation",
            type="string",
            default="portrait",
            label_key="print.settings.default_orientation",
            description_key="print.settings.default_orientation_desc",
            scopes=("tenant",),
        )
    )
    # Document templates
    register_setting(
        SettingDefinition(
            key="print.max_document_templates",
            type="int",
            default=20,
            label_key="print.settings.max_document_templates",
            description_key="print.settings.max_document_templates_desc",
            scopes=("tenant",),
        )
    )
    # Export layouts
    register_setting(
        SettingDefinition(
            key="print.max_export_layouts",
            type="int",
            default=15,
            label_key="print.settings.max_export_layouts",
            description_key="print.settings.max_export_layouts_desc",
            scopes=("tenant",),
        )
    )
