"""Registro de permisos del módulo CRM. Se importa desde ``router.py`` para que los permisos queden registrados en el ``PermissionRegistry`` al arrancar la app. Persistir en BD se hace con el endpoint ``POST /v1/core/permissions/sync`` o el CLI de sincronización. """ from api.v1.modules.core.permissions.registry import registry MODULE = "crm" # (entidad, etiqueta legible) _ENTITIES = [ ("account", "cuentas"), ("contact", "contactos"), ("lead", "prospectos"), ("opportunity", "oportunidades"), ("pipeline", "embudos"), ("activity", "actividades"), ] # (acción, verbo para la descripción) _ACTIONS = [ ("view", "Ver"), ("create", "Crear"), ("edit", "Editar"), ("delete", "Eliminar"), ] def register_permissions() -> None: """Da de alta los permisos del CRM en el registro central.""" registry.register(code=f"{MODULE}.access", description="Acceso al módulo CRM", module=MODULE, action="access") for entity, label in _ENTITIES: for action, verb in _ACTIONS: registry.register( code=f"{MODULE}.{entity}.{action}", description=f"{verb} {label}", module=MODULE, action=action, ) register_permissions()