Advertisement
Guest User

Untitled

a guest
May 25th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. package cl.gl.sgv.controller;
  2.  
  3.  
  4. import cl.gl.sgv.database.model.Usuario;
  5. import cl.gl.sgv.database.repository.UsuarioRepository;
  6. import cl.gl.sgv.payload.Payload;
  7. import cl.gl.sgv.request.changePasswordRequest;
  8. import cl.gl.sgv.route.Request;
  9. import cl.gl.sgv.route.Route;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.dao.DataAccessException;
  12. import org.springframework.http.ResponseEntity;
  13. import org.springframework.security.crypto.bcrypt.BCrypt;
  14. import org.springframework.web.bind.annotation.*;
  15.  
  16. import javax.persistence.EntityManager;
  17. import javax.persistence.PersistenceContext;
  18. import javax.transaction.Transactional;
  19.  
  20. @RestController
  21. public class UserController {
  22. @PersistenceContext
  23. private EntityManager em;
  24.  
  25. @Autowired
  26. AuthenticationController auth;
  27.  
  28. @Autowired
  29. private UsuarioRepository usuarioRepository;
  30.  
  31. @Route(pattern = "/api/changePassword", request = @Request(method = RequestMethod.POST, name = "Cambiar Contraseña Usuario"))
  32. @Transactional
  33. @CrossOrigin(origins = "http://localhost:8000", allowCredentials = "true")
  34. @PostMapping("/api/changePassword")
  35. public ResponseEntity<Payload<?>> changeUserPassword(@RequestBody changePasswordRequest request) {
  36. // id Usuario
  37. int userId = request.getUserId();
  38. // contraseña antigua
  39. String oldPassword = request.getOldPassWord();
  40. // contraseña nueva
  41. String newPassword = request.getNewPassword();
  42.  
  43. Usuario usuario = em.find(Usuario.class, userId);
  44.  
  45. String currentPassword = usuario.getPassword();
  46.  
  47. if (BCrypt.checkpw(oldPassword, currentPassword)) {
  48. try {
  49. usuario.setPassword(BCrypt.hashpw(newPassword, BCrypt.gensalt()));
  50. usuarioRepository.save(usuario);
  51. } catch (DataAccessException ex) {
  52. return ResponseEntity.badRequest().body(Payload.of("La contraseña Ingresada no es correcta"))
  53. }
  54. }
  55. }
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement