## ST-3.3 Documentation (3 SP) - Add 11 page specification files documenting 25 pages - Create docs/05-frontend/pages/ directory - Specs: Goals, MLM, Portfolio, RBAC, Notifications, Analytics, Audit, Storage, Webhooks, Settings - Add _INDEX.md with complete listing ## ST-3.4 Dead Code Analysis (1 SP) - Analyze usePortfolio hook usage (18/21 functions used) - Document components ready for future use - Decision: Keep all code as preparation for features - Create DEAD-CODE-REPORT.md ## Frontend Submodule - WCAG improvements (11 files) - 160 unit tests (8 new test files) Sprint 3 (P2) completed: 14 SP Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.1 KiB
4.1 KiB
RBAC Pages Specification
Modulo: rbac Ultima actualizacion: 2026-02-03 Total Paginas: 2
1. RolesPage
Ruta: /dashboard/rbac/roles
Archivo: src/pages/dashboard/rbac/RolesPage.tsx
Descripcion
Gestion de roles de usuario. Vista master-detail con lista de roles a la izquierda y detalle de permisos a la derecha.
Componentes Utilizados
- Search Input - Busqueda de roles
- Roles List - Lista seleccionable de roles
- Role Card - Tarjeta de rol con icono y contador
- Role Detail Panel - Panel derecho con info y permisos
- Permission Tags - Tags agrupados por categoria
- Lock Icon - Indica roles de sistema
- Icons: Shield, Plus, Search, Edit, Trash2, Lock (lucide-react)
Hooks Utilizados
useRoles()- Lista todos los rolesusePermissions()- Lista todos los permisos (para agrupar)useDeleteRole()- Elimina rolgetPermissionCategoryLabel()- Labels de categorias
Funcionalidades
- Buscar roles por nombre
- Ver lista de roles con contador de permisos
- Identificar roles de sistema (bloqueados)
- Seleccionar rol para ver detalle
- Ver info del rol (tipo, default, slug)
- Ver permisos agrupados por categoria
- Editar y eliminar roles custom (no system)
Estados
- Loading: Spinner en lista
- Success: Layout master-detail
- No Selection: Panel derecho con mensaje "Select a role"
- Empty Search: Mensaje "No roles found"
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Click "New Role" | Navega a /rbac/roles/new |
| Buscar | Filtra lista de roles |
| Click en rol | Selecciona y muestra detalle |
| Click "Edit" | Navega a edicion (solo custom) |
| Click "Delete" | Confirm + elimina (solo custom) |
| Click en rol system | Alerta "System roles cannot be deleted" |
Permisos Requeridos
rbac:read- Ver roles y permisosrbac:write- Crear/editar rolesrbac:delete- Eliminar roles
Notas
- Roles de sistema (is_system: true) no pueden editarse ni eliminarse
- El rol default se asigna automaticamente a nuevos usuarios
2. PermissionsPage
Ruta: /dashboard/rbac/permissions
Archivo: src/pages/dashboard/rbac/PermissionsPage.tsx
Descripcion
Vista de todos los permisos del sistema. Solo lectura, agrupados por categoria con filtros.
Componentes Utilizados
- Stats Cards - Metricas de permisos
- Search Input - Busqueda de permisos
- Category Filter Select - Filtro por categoria
- Permissions List - Lista agrupada por categoria
- Permission Item - Item con nombre, action badge, descripcion, slug
- Action Badge - Badge con color segun accion (read, write, delete, assign)
- Icons: Key, Shield, Filter, Search (lucide-react)
Hooks Utilizados
usePermissions()- Lista todos los permisosgetPermissionCategoryLabel(category)- Label de categoriagetPermissionActionLabel(action)- Label de accion
Funcionalidades
- Ver estadisticas (total permisos, categorias, filtrados)
- Buscar por nombre, slug o descripcion
- Filtrar por categoria
- Ver permisos agrupados por categoria
- Ver accion con color (read=gray, write=yellow, delete=red, assign=purple)
- Ver slug tecnico de cada permiso
Estados
- Loading: Spinner centrado
- Error: Mensaje de error
- Success: Lista agrupada
- Empty Filter: Icono + mensaje "No permissions found matching your criteria"
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Buscar | Filtra permisos |
| Seleccionar categoria | Filtra por categoria |
| (Solo lectura) | - |
Permisos Requeridos
rbac:read- Ver permisos
Notas
- Esta pagina es SOLO lectura
- Los permisos son definidos por el sistema, no se pueden crear/editar/eliminar
- Sirve como referencia para administradores al asignar roles
Diagrama de Flujo RBAC
Usuario → tiene → Roles
Roles → tienen → Permisos
Permisos → definen → Acciones permitidas
Ejemplo:
- Usuario "John"
→ Rol "Admin"
→ Permiso "users:read" (puede ver usuarios)
→ Permiso "users:write" (puede editar usuarios)
→ Permiso "users:delete" (puede eliminar usuarios)
Documentacion generada - Template SaaS - 2026-02-03