from simorgh.apps.modules.registry import CapabilitySpec, FeatureSpec, ModuleManifest, register_module

register_module(
    ModuleManifest(
        name="memberships",
        version=1,
        domain="platform",
        label_key="memberships.module_label",
        description="Memberships — user-to-org membership with role assignments and status lifecycle",
        capabilities=(
            CapabilitySpec(slug="management", label_key="memberships.capabilities.management",
                          description="Membership and enrollment management", icon="users"),
        ),
        features=(
            FeatureSpec(code="management.membership_management", label_key="memberships.features.membership_management", scope="tenant", default_enabled=True, is_always_on=True, is_platform_internal=True, description="Add/remove users from organisations with roles"),
            FeatureSpec(code="management.auto_enrollment", label_key="memberships.features.auto_enrollment", scope="tenant", default_enabled=True, is_platform_internal=True, description="Auto-enroll users into workspaces based on role grants"),
        ),
    )
)
