from simorgh.apps.modules.registry import CapabilitySpec, FeatureSpec, ModuleManifest, register_module

register_module(
    ModuleManifest(
        name="notifications",
        version=1,
        domain="platform",
        label_key="notifications.module_label",
        description="Notifications — in-app, email, and SMS delivery with templates",
        capabilities=(
            CapabilitySpec(slug="delivery", label_key="notifications.capabilities.delivery",
                          description="Multi-channel notification delivery", icon="bell"),
        ),
        features=(
            FeatureSpec(code="delivery.in_app_notifications", label_key="notifications.features.in_app", scope="tenant", default_enabled=True, is_always_on=True, is_platform_internal=True, description="In-app notification inbox with real-time delivery"),
            FeatureSpec(code="delivery.email_notifications", label_key="notifications.features.email", scope="tenant", default_enabled=True, is_platform_internal=True, description="Email notification delivery with templates"),
            FeatureSpec(code="delivery.sms_notifications", label_key="notifications.features.sms", scope="tenant", description="SMS notification delivery"),
            FeatureSpec(code="delivery.notification_preferences", label_key="notifications.features.preferences", scope="tenant", default_enabled=True, is_platform_internal=True, description="Per-user notification channel and frequency preferences"),
        ),
    )
)
