Se maneja las excepciones en ServiceUzyTPerfilMenu

parent cd5ea98d
package ec.edu.espe.movilidad.MovilidadWS.Controller; package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTPerfil;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTPerfilMenu; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTPerfilMenu;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTPerfil;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTPerfilMenu.IServiceUzyTPerfilMenu; import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTPerfilMenu.IServiceUzyTPerfilMenu;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -29,33 +26,36 @@ public class UzyTPerfilMenuController { ...@@ -29,33 +26,36 @@ public class UzyTPerfilMenuController {
@GetMapping("/exampleFindId/{id}") @GetMapping("/exampleFindId/{id}")
public ResponseEntity<DtoUzyTPerfilMenu> ListarPorID(@PathVariable Long id) { public ResponseEntity<DtoUzyTPerfilMenu> ListarPorID(@PathVariable Long id) {
DtoUzyTPerfilMenu dto = serviceUzyTPerfilMenu.ListarPorID(id); return ResponseEntity.ok(serviceUzyTPerfilMenu.ListarPorID(id));
return ResponseEntity.ok(dto);
} }
@GetMapping("/getAll") @GetMapping("/getAll")
public ResponseEntity<List<DtoUzyTPerfilMenu>> ListarRegistros() { public ResponseEntity<List<DtoUzyTPerfilMenu>> ListarRegistros() {
List<DtoUzyTPerfilMenu> dtos = serviceUzyTPerfilMenu.ListarRegistros(); return new ResponseEntity<>(serviceUzyTPerfilMenu.ListarRegistros(), HttpStatus.OK);
return ResponseEntity.ok(dtos);
} }
@PostMapping("/guardar") @PostMapping("/guardar")
public ResponseEntity<DtoUzyTPerfilMenu> guardar(@RequestBody DtoUzyTPerfilMenu dtoUzyTPerfilMenu) { public ResponseEntity<DtoUzyTPerfilMenu> guardar(@RequestBody DtoUzyTPerfilMenu dtoUzyTPerfilMenu) {
DtoUzyTPerfilMenu savedDto = serviceUzyTPerfilMenu.guardar(dtoUzyTPerfilMenu); return new ResponseEntity<>(serviceUzyTPerfilMenu.guardar(dtoUzyTPerfilMenu), HttpStatus.OK);
return ResponseEntity.ok(savedDto);
} }
@DeleteMapping("/eliminar/{id}") @DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) { public ResponseEntity<String> eliminar(@PathVariable Long id) {
serviceUzyTPerfilMenu.eliminar(id); boolean eliminado = serviceUzyTPerfilMenu.eliminar(id);
return ResponseEntity.ok().build(); if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
} }
@PutMapping("/editar/{id}") @PutMapping("/editar/{id}")
public ResponseEntity<DtoUzyTPerfilMenu> editar(@PathVariable Long id, public ResponseEntity<DtoUzyTPerfilMenu> editar(@PathVariable Long id,
@RequestBody DtoUzyTPerfilMenu dtoUzyTPerfilMenu) { @RequestBody DtoUzyTPerfilMenu dtoUzyTPerfilMenu) {
DtoUzyTPerfilMenu editedDto = serviceUzyTPerfilMenu.editar(id, dtoUzyTPerfilMenu); return new ResponseEntity<>(serviceUzyTPerfilMenu.editar(id, dtoUzyTPerfilMenu), HttpStatus.OK);
return ResponseEntity.ok(editedDto);
} }
} }
...@@ -31,7 +31,7 @@ public class UzyTUsuarioController { ...@@ -31,7 +31,7 @@ public class UzyTUsuarioController {
@GetMapping("/exampleFindId/{id}") @GetMapping("/exampleFindId/{id}")
public ResponseEntity<DtoUzyTUsuario> ListarPorID(@PathVariable Long id) { public ResponseEntity<DtoUzyTUsuario> ListarPorID(@PathVariable Long id) {
return ResponseEntity.ok(serviceUzyTUsuario.ListarPorID(id)); return new ResponseEntity<>(serviceUzyTUsuario.ListarPorID(id), HttpStatus.OK);
} }
@GetMapping("/getAll") @GetMapping("/getAll")
...@@ -63,7 +63,7 @@ public class UzyTUsuarioController { ...@@ -63,7 +63,7 @@ public class UzyTUsuarioController {
} }
@PostMapping("/guardar") @PostMapping("/guardar")
public ResponseEntity<DtoUzyTUsuario> guardar( @Valid @RequestBody DtoUzyTUsuario dtoUzyTUsuario) throws Exception { public ResponseEntity<DtoUzyTUsuario> guardar( @Valid @RequestBody DtoUzyTUsuario dtoUzyTUsuario){
return new ResponseEntity<>(serviceUzyTUsuario.guardar(dtoUzyTUsuario), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTUsuario.guardar(dtoUzyTUsuario), HttpStatus.OK);
} }
......
package ec.edu.espe.movilidad.MovilidadWS.Exceptions.Configuration; package ec.edu.espe.movilidad.MovilidadWS.Exceptions.Configuration;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.InvalidArgumentException;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException; import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
...@@ -21,19 +22,19 @@ public class GlobalExceptionHandler { ...@@ -21,19 +22,19 @@ public class GlobalExceptionHandler {
public ResponseEntity<String> handleNoSuchElementException(NoSuchElementException ex) { public ResponseEntity<String> handleNoSuchElementException(NoSuchElementException ex) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage()); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
} }
@ExceptionHandler(IllegalArgumentException.class) @ExceptionHandler(InvalidArgumentException.class)
public ResponseEntity<String> handleIllegalArgumentException(IllegalArgumentException ex) { public ResponseEntity<String> handleInvalidArgumentException(InvalidArgumentException ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(ex.getMessage()); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(ex.getMessage());
} }
@ExceptionHandler(RuntimeException.class) @ExceptionHandler(RuntimeException.class)
public ResponseEntity<String> handleRuntimeException(RuntimeException ex) { public ResponseEntity<String> handleRuntimeException(RuntimeException ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(ex.getMessage()); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Ha ocurrido un error inesperado en el servidor: -> " + ex.getMessage());
} }
@ExceptionHandler(Exception.class) @ExceptionHandler(Exception.class)
public ResponseEntity<String> handleGenericException(Exception ex) { public ResponseEntity<String> handleGenericException(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Ha ocurrido un error inesperado -> "+ ex.getMessage()); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Ha ocurrido un error INTERNO en el servidor: -> "+ ex.getMessage());
} }
} }
......
package ec.edu.espe.movilidad.MovilidadWS.Exceptions;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
public class InvalidArgumentException extends IllegalArgumentException {
public InvalidArgumentException(String message) {
super(message);
}
}
...@@ -15,6 +15,6 @@ public interface IServiceUzyTPerfilMenu { ...@@ -15,6 +15,6 @@ public interface IServiceUzyTPerfilMenu {
DtoUzyTPerfilMenu editar(Long id, DtoUzyTPerfilMenu dtoUzyTPerfilMenu); DtoUzyTPerfilMenu editar(Long id, DtoUzyTPerfilMenu dtoUzyTPerfilMenu);
void eliminar(Long id); boolean eliminar(Long id);
} }
...@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; ...@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import java.util.List; import java.util.List;
import java.util.Objects;
@Service @Service
public class ServiceUzyTPerfilMenu implements IServiceUzyTPerfilMenu { public class ServiceUzyTPerfilMenu implements IServiceUzyTPerfilMenu {
...@@ -23,43 +24,84 @@ public class ServiceUzyTPerfilMenu implements IServiceUzyTPerfilMenu { ...@@ -23,43 +24,84 @@ public class ServiceUzyTPerfilMenu implements IServiceUzyTPerfilMenu {
@Override @Override
public DtoUzyTPerfilMenu ListarPorID(@PathVariable Long id) { public DtoUzyTPerfilMenu ListarPorID(@PathVariable Long id) {
ModelUzyTPerfilMenu entity = daoUzyTPerfilMenu.findById(id) if (id <= 0) {
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id)); throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
return mapper.entityToDto(entity); }
try {
ModelUzyTPerfilMenu entity = daoUzyTPerfilMenu.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) { // Manejo de cualquier error en el servidor
throw new RuntimeException("Error al buscar el registro con ID: " + id);
}
} }
@Override @Override
public List<DtoUzyTPerfilMenu> ListarRegistros() { public List<DtoUzyTPerfilMenu> ListarRegistros() {
List<ModelUzyTPerfilMenu> entities = daoUzyTPerfilMenu.findAll(); try {
return mapper.entitiesToDtos(entities); List<ModelUzyTPerfilMenu> entities = daoUzyTPerfilMenu.findAll();
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar registros de usuarios: " + ex.getMessage());
}
} }
@Override @Override
public DtoUzyTPerfilMenu guardar(DtoUzyTPerfilMenu dtoUzyTPerfilMenu) { public DtoUzyTPerfilMenu guardar(DtoUzyTPerfilMenu dtoUzyTPerfilMenu) {
ModelUzyTPerfilMenu entity = mapper.dtoToEntity(dtoUzyTPerfilMenu); if (Objects.isNull(dtoUzyTPerfilMenu.getUzytmedu_id())) {
ModelUzyTPerfilMenu nuevoEntity = daoUzyTPerfilMenu.save(entity); throw new IllegalArgumentException("El ID del menú no puede ser nulo.");
return mapper.entityToDto(nuevoEntity); }
if (Objects.isNull(dtoUzyTPerfilMenu.getUzytperfil_id())) {
throw new IllegalArgumentException("El ID del perfil no puede ser nulo.");
}
if (Objects.isNull(dtoUzyTPerfilMenu.getUzytlinea_operativa_id())) {
throw new IllegalArgumentException("El ID de la línea operativa no puede ser nulo.");
}
try {
ModelUzyTPerfilMenu entity = mapper.dtoToEntity(dtoUzyTPerfilMenu);
ModelUzyTPerfilMenu nuevoEntity = daoUzyTPerfilMenu.save(entity);
return mapper.entityToDto(nuevoEntity);
} catch (Exception ex) {
throw new RuntimeException("Error al guardar el usuario: " + ex.getMessage());
}
} }
@Override @Override
public DtoUzyTPerfilMenu editar(Long id, DtoUzyTPerfilMenu dtoUzyTPerfilMenu) { public DtoUzyTPerfilMenu editar(Long id, DtoUzyTPerfilMenu dtoUzyTPerfilMenu) {
if (id <= 0) {
throw new IllegalArgumentException("El ID debe ser válido y mayor que cero.");
}
try { try {
ModelUzyTPerfilMenu entity = daoUzyTPerfilMenu.findById(id) ModelUzyTPerfilMenu entity = daoUzyTPerfilMenu.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id)); .orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
ModelUzyTPerfilMenu updatedEntity = daoUzyTPerfilMenu.save(entity); ModelUzyTPerfilMenu updatedEntity = daoUzyTPerfilMenu.save(entity);
return mapper.entityToDto(updatedEntity); return mapper.entityToDto(updatedEntity);
} catch (Exception e) { }catch (ResourceNotFoundException ex) {
throw new ResourceNotFoundException("Error al editar el registro: " + e.getMessage()); throw ex;
} catch (Exception ex) {
throw new RuntimeException("Error al editar el usuario -> " + ex.getMessage());
} }
} }
@Override @Override
public void eliminar(Long id) { public boolean eliminar(Long id) {
ModelUzyTPerfilMenu dato = daoUzyTPerfilMenu.findById(id).get(); if (id == null || id <= 0) {
throw new IllegalArgumentException("El ID debe ser válido y mayor que cero.");
}
try {
daoUzyTPerfilMenu.delete(dato); ModelUzyTPerfilMenu entity = daoUzyTPerfilMenu.findById(id).orElseThrow(() -> new ResourceNotFoundException("Registro no encontrado con ID: " + id));
if (entity != null) {
daoUzyTPerfilMenu.delete(entity);
return true;
}
return false;
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) {
throw new RuntimeException("Error al eliminar el usuario: " + ex.getMessage());
}
} }
} }
...@@ -65,7 +65,7 @@ public class ServiceUzyTPlanificacion implements IServiceUzyTPlanificacion { ...@@ -65,7 +65,7 @@ public class ServiceUzyTPlanificacion implements IServiceUzyTPlanificacion {
@Override @Override
public DtoUzyTPlanificacion editar(Long id, DtoUzyTPlanificacion dtoUzyTPlanificacion) { public DtoUzyTPlanificacion editar(Long id, DtoUzyTPlanificacion dtoUzyTPlanificacion) {
if (id <= 0) { if (id <= 0) {
throw new IllegalArgumentException("El ID del usuario debe ser válido y mayor que cero."); throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
} }
try { try {
ModelUzyTPlanificacion entity = daoUzyTPlanificacion.findById(id) ModelUzyTPlanificacion entity = daoUzyTPlanificacion.findById(id)
...@@ -77,14 +77,14 @@ public class ServiceUzyTPlanificacion implements IServiceUzyTPlanificacion { ...@@ -77,14 +77,14 @@ public class ServiceUzyTPlanificacion implements IServiceUzyTPlanificacion {
}catch (ResourceNotFoundException ex) { }catch (ResourceNotFoundException ex) {
throw ex; throw ex;
} catch (Exception ex) { } catch (Exception ex) {
throw new RuntimeException("Error al editar el usuario -> " + ex.getMessage()); throw new RuntimeException("Error al editar el registro -> " + ex.getMessage());
} }
} }
@Override @Override
public boolean eliminar(Long id) { public boolean eliminar(Long id) {
if (id == null || id <= 0) { if (id == null || id <= 0) {
throw new IllegalArgumentException("El ID del usuario debe ser válido y mayor que cero."); throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
} }
try { try {
......
...@@ -14,7 +14,7 @@ public interface IServiceUzyTUsuario { ...@@ -14,7 +14,7 @@ public interface IServiceUzyTUsuario {
List<DtoUzyTUsuario> ListarRegistros() ; List<DtoUzyTUsuario> ListarRegistros() ;
List<DtoUzyTUsuario> findByUsuario(String usuario); List<DtoUzyTUsuario> findByUsuario(String usuario);
DtoUzyTUsuario guardar(DtoUzyTUsuario dtoUzyTUsuario) throws Exception; DtoUzyTUsuario guardar(DtoUzyTUsuario dtoUzyTUsuario);
DtoUzyTUsuario editar( Long id, DtoUzyTUsuario dtoUzyTUsuario); DtoUzyTUsuario editar( Long id, DtoUzyTUsuario dtoUzyTUsuario);
......
...@@ -5,6 +5,7 @@ import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTUsuario; ...@@ -5,6 +5,7 @@ import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUsuarioConPerfiles; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUsuarioConPerfiles;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTPerfil; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTPerfil;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTUsuario; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.InvalidArgumentException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTPerfilMapper; import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTPerfilMapper;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTUsuarioMapper; import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTUsuarioMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTPerfil; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTPerfil;
...@@ -19,6 +20,7 @@ import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException; ...@@ -19,6 +20,7 @@ import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
@Service @Service
public class ServiceUzyTUsuario implements IServiceUzyTUsuario { public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
//Mejores prácticas de diseño y desarrollo, más fácil probar el servicio a través de pruebas unitarias. //Mejores prácticas de diseño y desarrollo, más fácil probar el servicio a través de pruebas unitarias.
private final DaoUzyTUsuario daoUzyTUsuario; private final DaoUzyTUsuario daoUzyTUsuario;
private final DaoUzyTPerfil daoUzyTPerfil; private final DaoUzyTPerfil daoUzyTPerfil;
...@@ -36,17 +38,11 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario { ...@@ -36,17 +38,11 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
@Override @Override
public DtoUzyTUsuario ListarPorID(Long id) { public DtoUzyTUsuario ListarPorID(Long id) {
if (id <= 0) { if (id <= 0) {
throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo."); throw new InvalidArgumentException("El parámetro 'id' debe ser un valor positivo.");
}
try {
ModelUzyTUsuario entity = daoUzyTUsuario.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Usuario no encontrado con ID: " + id));
return mapper.entityToDto(entity);
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) { // Manejo de cualquier error en el servidor
throw new RuntimeException("Error al buscar usuario con ID: " + id);
} }
ModelUzyTUsuario entity = daoUzyTUsuario.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Usuario no encontrado con ID: " + id));
return mapper.entityToDto(entity);
} }
@Override @Override
...@@ -76,28 +72,29 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario { ...@@ -76,28 +72,29 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
throw new RuntimeException("Error al buscar usuarios por nombre: " + ex.getMessage()); throw new RuntimeException("Error al buscar usuarios por nombre: " + ex.getMessage());
} }
} else { } else {
throw new IllegalArgumentException("Parámetro de búsqueda inválido: el usuario no puede ser nulo o vacío."); throw new InvalidArgumentException("Parámetro de búsqueda inválido: el usuario no puede ser nulo o vacío.");
} }
} }
@Override @Override
public DtoUzyTUsuario guardar(DtoUzyTUsuario dtoUzyTUsuario) throws Exception { public DtoUzyTUsuario guardar(DtoUzyTUsuario dtoUzyTUsuario) {
if (dtoUzyTUsuario.getUzytusuario_apellidos() == null) { if (dtoUzyTUsuario.getUzytusuario_apellidos() == null) {
throw new IllegalArgumentException("El apellido del usuario no puede ser nulo."); throw new InvalidArgumentException("El apellido del usuario no puede ser nulo.");
} }
try { try {
ModelUzyTUsuario entity = mapper.dtoToEntity(dtoUzyTUsuario); ModelUzyTUsuario entity = mapper.dtoToEntity(dtoUzyTUsuario);
ModelUzyTUsuario nuevoEntity = daoUzyTUsuario.save(entity); ModelUzyTUsuario nuevoEntity = daoUzyTUsuario.save(entity);
return mapper.entityToDto(nuevoEntity); return mapper.entityToDto(nuevoEntity);
} catch (Exception ex) { }
throw new Exception("Error al guardar el usuario: " + ex.getMessage()); catch (Exception ex) {
throw new RuntimeException("Error al guardar el usuario: " + ex.getMessage());
} }
} }
@Override @Override
public DtoUzyTUsuario editar(Long id, DtoUzyTUsuario dtoUzyTUsuario) { public DtoUzyTUsuario editar(Long id, DtoUzyTUsuario dtoUzyTUsuario) {
if (id <= 0) { if (id <= 0) {
throw new IllegalArgumentException("El ID del usuario debe ser válido y mayor que cero."); throw new InvalidArgumentException("El ID del usuario debe ser válido y mayor que cero.");
} }
try { try {
...@@ -183,7 +180,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario { ...@@ -183,7 +180,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
@Override @Override
public boolean eliminar(Long id) { public boolean eliminar(Long id) {
if (id == null || id <= 0) { if (id == null || id <= 0) {
throw new IllegalArgumentException("El ID del usuario debe ser válido y mayor que cero."); throw new InvalidArgumentException("El ID del usuario debe ser válido y mayor que cero.");
} }
try { try {
...@@ -204,7 +201,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario { ...@@ -204,7 +201,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
@Override @Override
public DtoUsuarioConPerfiles asignarPerfilAUsuario(Long uzytusuario_id, Long uzytperfil_id) { public DtoUsuarioConPerfiles asignarPerfilAUsuario(Long uzytusuario_id, Long uzytperfil_id) {
if (uzytusuario_id <= 0 || uzytperfil_id <= 0) { if (uzytusuario_id <= 0 || uzytperfil_id <= 0) {
throw new IllegalArgumentException("Se debe ingresar un ID válido y mayor que cero."); throw new InvalidArgumentException("Se debe ingresar un ID válido y mayor que cero.");
} }
try { try {
...@@ -212,7 +209,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario { ...@@ -212,7 +209,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
ModelUzyTUsuario usuario = daoUzyTUsuario.findById(uzytusuario_id).orElseThrow(() -> new ResourceNotFoundException("Usuario no encontrado con ID: " + uzytusuario_id)); ModelUzyTUsuario usuario = daoUzyTUsuario.findById(uzytusuario_id).orElseThrow(() -> new ResourceNotFoundException("Usuario no encontrado con ID: " + uzytusuario_id));
ModelUzyTPerfil perfil = daoUzyTPerfil.findById(uzytperfil_id).orElseThrow(() -> new ResourceNotFoundException("Perfil no encontrado con ID: " + uzytperfil_id)); ModelUzyTPerfil perfil = daoUzyTPerfil.findById(uzytperfil_id).orElseThrow(() -> new ResourceNotFoundException("Perfil no encontrado con ID: " + uzytperfil_id));
if (usuario.getUzytperfils().contains(perfil)) { if (usuario.getUzytperfils().contains(perfil)) {
throw new IllegalArgumentException("El perfil ya está asignado al usuario."); throw new InvalidArgumentException("El perfil ya está asignado al usuario.");
} }
// Aquí asigno el perfil al usuario // Aquí asigno el perfil al usuario
...@@ -228,7 +225,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario { ...@@ -228,7 +225,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
return dtoUsuarioConPerfiles; return dtoUsuarioConPerfiles;
} catch (ResourceNotFoundException | IllegalArgumentException ex) { } catch (ResourceNotFoundException | InvalidArgumentException ex) {
throw ex; throw ex;
} catch (Exception ex) { } catch (Exception ex) {
throw new RuntimeException("Error al asignar perfil al usuario: " + ex.getMessage()); throw new RuntimeException("Error al asignar perfil al usuario: " + ex.getMessage());
...@@ -239,7 +236,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario { ...@@ -239,7 +236,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
@Override @Override
public Set<DtoUzyTPerfil> findPerfilesByUsuarioId(Long uzytusuario_id) { public Set<DtoUzyTPerfil> findPerfilesByUsuarioId(Long uzytusuario_id) {
if (uzytusuario_id == null || uzytusuario_id <= 0) { if (uzytusuario_id == null || uzytusuario_id <= 0) {
throw new IllegalArgumentException("El ID debe ser válido y mayor que cero."); throw new InvalidArgumentException("El ID debe ser válido y mayor que cero.");
} }
try { try {
Set<ModelUzyTPerfil> perfiles = daoUzyTUsuario.findPerfilesByUsuarioId(uzytusuario_id); Set<ModelUzyTPerfil> perfiles = daoUzyTUsuario.findPerfilesByUsuarioId(uzytusuario_id);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment