emr_demo
@ 4
emr_demo / web_emr - Copy / src / main / java / com / bestray / security / service / JwtUserDetailsService.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
package com.bestray.security.service; import java.util.Arrays; import java.util.Date; import java.util.HashSet; import java.util.Optional; import javax.xml.ws.Response; import org.omg.CORBA.UserException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.validation.BindingResult; import org.springframework.web.server.ResponseStatusException; import com.bestray.model.entity.SpecialityMaster; import com.bestray.model.security.Authority; import com.bestray.model.entity.DepartmentMaster; import com.bestray.model.security.User; import com.bestray.security.JwtAuthenticationRequest; import com.bestray.security.JwtUser; import com.bestray.security.JwtUserFactory; import com.bestray.security.controller.ExceptionHandler_delete; import com.bestray.security.controller.ExceptionHandler_update; import com.bestray.security.controller.RegExceptionHandler; import com.bestray.security.controller.RoleExceptionHandler; import com.bestray.security.repository.AuthorityRepository; import com.bestray.security.repository.UserRepository; import com.bestray.security.repository.DepartmentRepository; import com.bestray.security.repository.SpecialityRepository; @Service public class JwtUserDetailsService implements UserDetailsService { @Autowired private UserRepository userRepository; @Autowired private SpecialityRepository specialityRepository; @Autowired private DepartmentRepository departmentRepository; @Autowired private AuthorityRepository authorityRepository; @Autowired private BCryptPasswordEncoder bCryptPasswordEncoder; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { User user = userRepository.findByUsername(username); if (user == null) { throw new UsernameNotFoundException(String.format("No user found with username '%s'.", username)); } else { System.out.println("authority@-> "+user.getAuthorities()); return JwtUserFactory.create(user); } } public void saveUser(User authenticationRequest) throws RegExceptionHandler { String username=authenticationRequest.getUsername(); User userExists =userRepository.findByUsername(username); if (userExists != null) { throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "user already avilable"); }else{ authenticationRequest.setPassword(bCryptPasswordEncoder.encode(authenticationRequest.getPassword())); authenticationRequest.setEnabled(true); authenticationRequest.setLastPasswordResetDate(new Date()); System.out.println("1@@@@@ "+authenticationRequest.getEmail()+" "+authenticationRequest.getPassword()+" "+authenticationRequest.getFirstname()+" "+authenticationRequest.getLastname()+" "+authenticationRequest.getUsername()+" "+authenticationRequest.getId()+" "+authenticationRequest.getEnabled()+" "+authenticationRequest.getLastPasswordResetDate()); // User user= userRepository.save(authenticationRequest); userRepository.save(authenticationRequest); System.out.println("2@@@@@"); } } public void editUser(User user,String id) throws ExceptionHandler_update { //User userExists =userRepository.findByUsername(name); Optional<User> userExists =userRepository.findById(id); if (userExists.isPresent()){ User user_new = userExists.get(); if (user_new != null) { user_new.setFirstname(user.getFirstname()); user_new.setLastname(user.getLastname()); user_new.setUsername(user.getUsername()); user_new.setPassword(bCryptPasswordEncoder.encode(user.getPassword())); user_new.setEmail(user.getEmail()); user_new.setEnabled(true); user_new.setLastPasswordResetDate(new Date()); System.out.println("1@@@@@ "+user.getEmail()+" "+user.getPassword()+" "+user.getFirstname()+" "+user.getLastname()+" "+user.getUsername()+" "+user.getId()+" "+user.getEnabled()+" "+user.getLastPasswordResetDate()); userRepository.save(user_new); System.out.println("2@@@@@"); }else{ throw new ResponseStatusException(HttpStatus.NOT_FOUND, "given id is not avilable"); } } } public void deleteUser(String id) throws ExceptionHandler_delete { Optional<User> userExists =userRepository.findById(id); if (userExists.isPresent()) { User user_new=userExists.get(); if(user_new!=null){ user_new.setEnabled(false); userRepository.save(user_new); }else{ throw new ResponseStatusException(HttpStatus.NOT_FOUND, "given id is not avilable"); } } } public UserDetails getUser(String id) { User user_new = null; Optional<User> userExists =userRepository.findById(id); if (userExists.isPresent()){ user_new = userExists.get(); System.out.println("%%%%%"+user_new); } return JwtUserFactory.create(user_new); } public void saveRole(Authority authority) throws RoleExceptionHandler { Authority roleExists =authorityRepository.findByName(authority.getName()); //System.out.println("#1permission->"+roleExists); if (roleExists != null) { throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "role already avilable"); }else{ // System.out.println("1@@@@@ "+authenticationRequest.getEmail()+" "+authenticationRequest.getPassword()+" "+authenticationRequest.getFirstname()+" "+authenticationRequest.getLastname()+" "+authenticationRequest.getUsername()+" "+authenticationRequest.getId()+" "+authenticationRequest.getEnabled()+" "+authenticationRequest.getLastPasswordResetDate()); authorityRepository.save(authority); System.out.println("2@@@@@"); System.out.println("#2permission->"+authority.getPermission()); } } } |