erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-001-fundamentos/historias-usuario/US-MMD001-002-configurar-roles.md

4.5 KiB

US-MMD001-002: Configurar Roles de Taller

Metadata

Campo Valor
ID US-MMD001-002
Epica EPIC-MMD-001 - Fundamentos
Modulo fundamentos
Prioridad P0
Story Points 5
Sprint Sprint 1
Estado Backlog
Asignado a Por asignar

Historia de Usuario

Como administrador del taller, quiero configurar roles especificos para mi negocio (mecanico, almacenista, recepcion, jefe de taller), para asignar permisos apropiados a cada tipo de empleado.

Descripcion Detallada

El sistema debe ofrecer roles predefinidos tipicos de un taller diesel, pero permitir personalizacion. Cada rol tiene permisos especificos sobre modulos y acciones del sistema.


Criterios de Aceptacion

Escenario 1: Roles predefinidos disponibles

DADO que accedo a la configuracion de roles
CUANDO veo la lista de roles
ENTONCES veo los roles predefinidos:
  | Rol | Descripcion |
  | AdminTaller | Acceso completo al taller |
  | JefeTaller | Supervisa operaciones y asigna trabajos |
  | MecanicoDiesel | Ejecuta diagnosticos y reparaciones |
  | Almacenista | Gestiona inventario de refacciones |
  | Recepcionista | Atiende clientes y crea ordenes |
  | Contador | Accede a reportes y facturacion |

Escenario 2: Ver permisos de un rol

DADO que selecciono el rol "MecanicoDiesel"
CUANDO veo sus permisos
ENTONCES veo los modulos y acciones permitidas:
  | Modulo | Permisos |
  | Ordenes | Ver asignadas, actualizar avance |
  | Diagnosticos | Crear, editar, ver |
  | Refacciones | Solicitar, ver stock |
  | Vehiculos | Ver historial |

Escenario 3: Modificar permisos de rol

DADO que selecciono el rol "Recepcionista"
CUANDO agrego el permiso "Ver reportes basicos"
ENTONCES el sistema guarda el cambio
Y los usuarios con ese rol tienen el nuevo permiso

Escenario 4: Crear rol personalizado

DADO que necesito un rol "Supervisor Nocturno"
CUANDO creo el rol seleccionando permisos especificos
ENTONCES el sistema guarda el nuevo rol
Y esta disponible para asignar a usuarios

Roles Predefinidos

Rol Ordenes Diagnosticos Inventario Vehiculos Cotizaciones Reportes Config
AdminTaller CRUD CRUD CRUD CRUD CRUD CRUD CRUD
JefeTaller CRUD CRUD Ver CRUD CRUD Ver -
MecanicoDiesel Ver+Editar CRUD Solicitar Ver - - -
Almacenista Ver - CRUD - - Ver inv -
Recepcionista Crear+Ver - Ver Crear+Ver CRUD - -
Contador Ver - Ver - Ver CRUD -

Tareas Tecnicas

Database:

  • DB-003: Crear tabla workshop_roles en schema workshop_core
  • DB-004: Crear tabla role_permissions para matriz de permisos
  • DB-005: Insertar roles y permisos predefinidos (seed)

Backend:

  • BE-005: Crear RoleEntity con relacion a permisos
  • BE-006: Crear RoleService con CRUD y asignacion permisos
  • BE-007: Crear RoleController endpoints
  • BE-008: Implementar guard de permisos

Frontend:

  • FE-005: Crear RolesConfigPage
  • FE-006: Crear RoleCard y PermissionsMatrix components
  • FE-007: Crear RoleForm para creacion/edicion
  • FE-008: Implementar rolesStore

Tests:

  • TEST-003: Test guard de permisos
  • TEST-004: Test asignacion de rol a usuario

Dependencias

Depende de:

  • US-MMD001-001: Configurar taller
  • MGN-003 Roles (Core)

Bloquea:

  • Asignacion de usuarios a roles
  • Todos los modulos que verifican permisos

Notas Tecnicas

Endpoints involucrados:

Metodo Endpoint Descripcion
GET /api/roles Listar roles del taller
POST /api/roles Crear rol
GET /api/roles/:id Detalle rol con permisos
PATCH /api/roles/:id Actualizar rol
DELETE /api/roles/:id Eliminar rol (solo custom)
GET /api/permissions Listar permisos disponibles

Entidades/Tablas:

  • workshop_core.workshop_roles
  • workshop_core.role_permissions
  • workshop_core.permissions

Definition of Ready (DoR)

  • Historia claramente escrita
  • Criterios de aceptacion definidos
  • Matriz de permisos definida
  • Roles predefinidos listados

Definition of Done (DoD)

  • Roles predefinidos creados
  • UI de gestion de roles funcionando
  • Guard de permisos implementado
  • Tests pasando
  • Demo realizada

Creada por: Requirements-Analyst Fecha: 2025-12-06