workspace-v1/projects/erp-core/docs/01-fase-foundation/MGN-003-roles
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00
..
especificaciones feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
historias-usuario feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
implementacion feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
requerimientos feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
_MAP.md feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
README.md feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00

MGN-003: Roles y Permisos

Metadata

Campo Valor
ID MGN-003
Nombre Roles y Permisos (RBAC)
Fase 01 - Foundation
Prioridad P0 (Critico)
Story Points 40 SP
Estado Documentado
Dependencias MGN-001, MGN-002

Descripcion

Sistema de control de acceso basado en roles (Role-Based Access Control) que permite:

  • Definir roles con conjuntos de permisos
  • Crear permisos granulares por modulo/accion/recurso
  • Asignar multiples roles a usuarios
  • Verificar permisos en tiempo de ejecucion
  • Roles de sistema predefinidos (admin, user, etc.)

Modelo de Permisos

Permission = module:action:resource

Ejemplos:
- users:read:all      -> Leer todos los usuarios
- users:read:own      -> Leer solo su usuario
- users:write:all     -> Escribir todos los usuarios
- sales:create:orders -> Crear ordenes de venta
- reports:export:*    -> Exportar cualquier reporte

Roles de Sistema

Rol Descripcion Permisos
super_admin Administrador global Todos (::*)
tenant_admin Admin de tenant Todos en su tenant
user Usuario basico Lectura propia

Endpoints API

Metodo Path Descripcion
GET /api/v1/roles Listar roles
POST /api/v1/roles Crear rol
GET /api/v1/roles/:id Obtener rol
PATCH /api/v1/roles/:id Actualizar rol
DELETE /api/v1/roles/:id Eliminar rol
GET /api/v1/permissions Listar permisos
POST /api/v1/users/:id/roles Asignar rol a usuario
DELETE /api/v1/users/:id/roles/:roleId Quitar rol
GET /api/v1/users/:id/permissions Permisos de usuario

Guards y Decoradores

// Decorador de roles
@Roles('admin', 'manager')
@Get('admin-only')
adminEndpoint() {}

// Decorador de permisos
@RequirePermission('users', 'read', 'all')
@Get('users')
getUsers() {}

// Guard combinado
@UseGuards(JwtAuthGuard, RolesGuard, PermissionsGuard)

Documentacion


Generado por: Requirements-Analyst Fecha: 2025-12-05