Commit 0eaab471 by Rubén Ramírez

feat: [UsuariosController]: Actualizada la función para filtrar los usuarios

parent c595b986
...@@ -127,6 +127,7 @@ public class UsuariosController { ...@@ -127,6 +127,7 @@ public class UsuariosController {
/** /**
* Modifica los datos de un usuario autenticado a partir del token JWT proporcionado. * Modifica los datos de un usuario autenticado a partir del token JWT proporcionado.
* *
* Devuelve:
* - 200 OK y DTOLoginRespuesta si la modificación se realiza correctamente. * - 200 OK y DTOLoginRespuesta si la modificación se realiza correctamente.
* - 409 CONFLICT si el correo electrónico o el nombre de usuario ya están registrados. * - 409 CONFLICT si el correo electrónico o el nombre de usuario ya están registrados.
* - 404 NOT FOUND si el usuario no existe. * - 404 NOT FOUND si el usuario no existe.
...@@ -161,6 +162,7 @@ public class UsuariosController { ...@@ -161,6 +162,7 @@ public class UsuariosController {
/** /**
* Devuelve una lista de recursos recomendados para un usuario específico. * Devuelve una lista de recursos recomendados para un usuario específico.
* *
* Devuelve:
* - 200 OK y la lista de recursos recomendados en formato DTORecurso si la operación es exitosa. * - 200 OK y la lista de recursos recomendados en formato DTORecurso si la operación es exitosa.
* - 500 INTERNAL SERVER ERROR en caso de error inesperado durante el proceso de recomendación. * - 500 INTERNAL SERVER ERROR en caso de error inesperado durante el proceso de recomendación.
*/ */
...@@ -193,6 +195,7 @@ public class UsuariosController { ...@@ -193,6 +195,7 @@ public class UsuariosController {
/** /**
* Actualiza la descripción y/o la foto de perfil de un usuario concreto. * Actualiza la descripción y/o la foto de perfil de un usuario concreto.
* *
* Devuelve:
* - 204 NO CONTENT si la actualización se realiza correctamente. * - 204 NO CONTENT si la actualización se realiza correctamente.
* - 400 BAD REQUEST si los datos proporcionados no son válidos. * - 400 BAD REQUEST si los datos proporcionados no son válidos.
* - 404 NOT FOUND si el usuario no existe. * - 404 NOT FOUND si el usuario no existe.
...@@ -217,8 +220,7 @@ public class UsuariosController { ...@@ -217,8 +220,7 @@ public class UsuariosController {
/** /**
* Recupera la información de un usuario a partir de su ID. * Recupera la información de un usuario a partir de su ID.
* *
* @param usuarioId ID del usuario que se desea consultar. * Devuelve:
* @return ResponseEntity con:
* - 200 OK y los datos del usuario en formato DTOUsuario si se encuentra correctamente. * - 200 OK y los datos del usuario en formato DTOUsuario si se encuentra correctamente.
* - 404 NOT FOUND si no existe ningún usuario con el ID proporcionado. * - 404 NOT FOUND si no existe ningún usuario con el ID proporcionado.
* - 500 INTERNAL SERVER ERROR en caso de error inesperado. * - 500 INTERNAL SERVER ERROR en caso de error inesperado.
...@@ -236,21 +238,23 @@ public class UsuariosController { ...@@ -236,21 +238,23 @@ public class UsuariosController {
} }
/** /**
* Filtra y devuelve una lista de usuarios cuyo nombre coincide (parcial o totalmente) con el valor indicado. * Filtra y devuelve una lista de usuarios según un nombre parcial o devuelve un subconjunto general si no se especifica nombre.
* *
* - 200 OK y la lista de usuarios coincidentes si se encuentran resultados. * Devuelve:
* - 204 NO CONTENT si no se encuentran usuarios con ese nombre. * - 200 OK y la lista de usuarios coincidentes o genéricos si se encuentran resultados.
* - 400 BAD REQUEST si no se proporciona el parámetro o está vacío. * - 204 NO CONTENT si no se encuentran usuarios.
* - 500 INTERNAL SERVER ERROR en caso de error inesperado. * - 500 INTERNAL SERVER ERROR en caso de error inesperado.
*/ */
@GetMapping @GetMapping
public ResponseEntity<List<DTOUsuario>> filtrarUsuarios(@RequestParam(required = false) String nombre) { public ResponseEntity<List<DTOUsuario>> filtrarUsuarios(@RequestParam(required = false) String nombre) {
try { try {
if (nombre == null || nombre.trim().isEmpty()) return ResponseEntity.badRequest().build(); List<Usuario> encontrados;
List<Usuario> encontrados = servicioUsuarios.buscarPorNombre(nombre); if (nombre == null || nombre.trim().isEmpty()) encontrados = servicioUsuarios.obtenerAlgunosUsuarios();
List<DTOUsuario> dto = encontrados.stream().map(mapper::dto).toList();
else encontrados = servicioUsuarios.buscarPorNombre(nombre);
List<DTOUsuario> dto = encontrados.stream().map(mapper::dto).toList();
return dto.isEmpty() ? ResponseEntity.noContent().build() : ResponseEntity.ok(dto); return dto.isEmpty() ? ResponseEntity.noContent().build() : ResponseEntity.ok(dto);
} catch (Exception e) { } catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build(); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
...@@ -258,3 +262,5 @@ public class UsuariosController { ...@@ -258,3 +262,5 @@ public class UsuariosController {
} }
} }
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 sign in to comment