Commit 9e6dbb62 by Rubén Ramírez

feat: [UsuarioControlador]: Creada la función para modificar los datos del usuario

parent c62b602f
......@@ -5,10 +5,7 @@ import com.ujaen.tfg.mangaffinity.entidades.Usuario;
import com.ujaen.tfg.mangaffinity.excepciones.NombreUsuarioYaCogido;
import com.ujaen.tfg.mangaffinity.excepciones.UsuarioNoExiste;
import com.ujaen.tfg.mangaffinity.excepciones.UsuarioYaRegistrado;
import com.ujaen.tfg.mangaffinity.rest.DTO.DTOBibliotecaPersonal;
import com.ujaen.tfg.mangaffinity.rest.DTO.DTOLoginRespuesta;
import com.ujaen.tfg.mangaffinity.rest.DTO.DTOUsuario;
import com.ujaen.tfg.mangaffinity.rest.DTO.Mapper;
import com.ujaen.tfg.mangaffinity.rest.DTO.*;
import com.ujaen.tfg.mangaffinity.servicios.ServicioUsuarios;
import jakarta.validation.ConstraintViolationException;
import jakarta.validation.Valid;
......@@ -120,4 +117,29 @@ public class UsuariosController {
}
}
@PutMapping("/")
public ResponseEntity<?> modificarUsuario(@Valid @RequestBody DTOModificarUsuario dto,
@RequestHeader("Authorization") String token) {
try {
DTOLoginRespuesta respuesta = servicioUsuarios.modificarUsuarioDesdeToken(
token,
dto.getNuevoEmail(),
dto.getNuevoNombreUsuario(),
dto.getNuevaContrasenia(),
dto.getContraseniaActual()
);
return ResponseEntity.ok().body(respuesta);
} catch (UsuarioYaRegistrado e) {
return ResponseEntity.status(HttpStatus.CONFLICT).body("correo");
} catch (NombreUsuarioYaCogido e) {
return ResponseEntity.status(HttpStatus.CONFLICT).body("nombre de usuario");
} catch (UsuarioNoExiste e) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("usuario no encontrado");
} catch (IllegalArgumentException e) {
return ResponseEntity.status(HttpStatus.FORBIDDEN).body("contraseña incorrecta");
} catch (RuntimeException e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("error inesperado");
}
}
}
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