fix(core,crm): habilitar RBAC por carril sin romper el entorno dev
- Crea el módulo faltante permissions/seed_v2.py (register_core_permissions), que sync_permissions y bootstrap_super_admin importan; sin él ambos fallaban con ImportError y el auto-bootstrap dev quedaba inoperante. - seed: ensure_company (a76.company id=1, requerida por la FK de company_roles) y seed_carril_roles (Ventas, Operaciones, Facturación, Consulta) con sus permisos; pobla el PermissionRegistry importando los permisos de cada dominio. - Verificado end-to-end: con enforcement activo el usuario dev auto-bootstrapea a super_admin y crm/ops/fin responden 200 (no 403). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
27
backend/api/v1/modules/core/permissions/seed_v2.py
Normal file
27
backend/api/v1/modules/core/permissions/seed_v2.py
Normal file
@@ -0,0 +1,27 @@
|
||||
"""Registro de permisos base del núcleo (core).
|
||||
|
||||
``PermissionService.sync_permissions`` y ``bootstrap_super_admin`` importan este
|
||||
módulo por su efecto secundario: dar de alta en el ``PermissionRegistry`` los
|
||||
permisos transversales del sistema antes de sincronizarlos a la base de datos.
|
||||
Los permisos de cada dominio (crm, ops, fin) se registran en el
|
||||
``register_permissions()`` de su propio módulo al importar sus routers.
|
||||
"""
|
||||
|
||||
from .registry import registry
|
||||
|
||||
MODULE = "core"
|
||||
|
||||
|
||||
def register_core_permissions() -> None:
|
||||
"""Da de alta los permisos base del sistema (idempotente)."""
|
||||
registry.register(code="core.access", description="Acceso al sistema", module=MODULE, action="access")
|
||||
registry.register(code="core.admin", description="Administración del sistema", module=MODULE, action="admin")
|
||||
registry.register(
|
||||
code="core.permissions.manage",
|
||||
description="Gestionar roles y permisos",
|
||||
module=MODULE,
|
||||
action="manage",
|
||||
)
|
||||
|
||||
|
||||
register_core_permissions()
|
||||
Reference in New Issue
Block a user