Presentación Técnica del Proyecto
@Transactional
public void crearGestor(UsuarioBanco ejecutor, String id, String nombre, String pin) {
if (!"JEFE".equals(ejecutor.getRol())) {
throw new SecurityException("Acceso exclusivo para el Jefe de la entidad.");
}
if (pin == null || !pin.matches("^[0-9]{4}$")) {
throw new IllegalArgumentException("El PIN debe constar de 4 dígitos.");
}
usuarioRepo.save(new UsuarioBanco(id, nombre, pin, "GESTOR"));
}
1. Jefe Único: Autoridad total sobre la entidad. Es el único rol con capacidad para dar de alta o revocar gestores, además de operar sobre cualquier cuenta.
2. Gestores Bancarios: Permisos totales sobre las cuentas de los clientes (bloqueo/desbloqueo preventivo, abonos, cargos y traspasos de fondos).
3. Clientes Titulares: Acceso mediante DNI y PIN de 4 dígitos para consultar sus cuentas IBAN y ordenar transferencias.