public User findByEmail(String email) throws EntityException { return userRepository.findByEmail(email).orElseThrow(() -> new EntityException("No user found")); }
public User findById(String id) throws EntityException { return userRepository.findById(id).orElseThrow(() -> new EntityException("No user found")); }
public long countByEmail(String email) { return userRepository.countByEmail(email); }
@Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { final User user = userRepository.findByEmail(username).orElse(null); try { if (user == null) { throw new EntityException("No user found"); } else { boolean enabled = user.isActivated(); boolean accountNonExpired = true; boolean credentialsNonExpired = true; boolean accountNonLocked = true; return new org.springframework.security.core.userdetails.User(user.getEmail(), "{noop}" + user.getPassword(), enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, grantedAuthorities(userRepository.findRolesById(user.getId()))); } } catch (EntityException e) { throw new UsernameNotFoundException(e.getMessage()); } }
public void save(User user) { userRepository.save(user); } }
pageUser = userRepo.findAll(builder.build(), pageable); pageUser.forEach(user -> { final UserDto dto = mapper.from(user).toInstanceOf(UserDto.class);
@Override public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException { final String username = request.getParameter("username"); final Notification notification = new Notification(); final User user = userRepo.findByEmail(username).orElse(null);; notification.setTitle("Bad credentials"); notification.setMessage("Incorrect email or password."); if (user != null && !user.isActivated()) { final StringBuilder builder = new StringBuilder(); builder.append("<form class='notif-link' action='register/resend-confirmation' method='post'>"); builder.append("<input name='email' type='hidden' value='"); builder.append(username).append("'/>"); builder.append("<input type='submit' value='here'/>"); builder.append("</form>"); notification.setTitle("Account hasn't been activated"); notification.setMessage("Please activate your account " + builder.toString() + "."); } response.setContentType("application/json; charset=utf-8"); response.setStatus(500); response.getWriter().write(new ObjectMapper().writeValueAsString(notification)); response.getWriter().flush(); clearAuthenticationAttributes(request); }
@GetMapping(value = {"/{userId}"}, produces = {"application/json", "application/hal+json"}) public ResponseEntity<?> findById(@PathVariable("userId") String userId) { final Mapper mapper = new Mapper(); final Optional<User> item = userRepo.findById(userId); try { final UserDto dto = mapper.from(item.orElseThrow(() -> new EntityException("No item found"))) .toInstanceOf(UserDto.class); final Resource<UserDto> resource = new Resource<>(dto); resource.add(linkTo(methodOn(getClass()).findById(userId)).withSelfRel()); return new ResponseEntity<>(resource, HttpStatus.OK); } catch (EntityException e) { return ResponseEntity.notFound().build(); } }
@GetMapping(value = {"/search/findByEmail"}, produces = {"application/json", "application/hal+json"}) public ResponseEntity<?> findByEmail(@RequestParam("email") String email) { final Mapper mapper = new Mapper(); final Optional<User> item = userRepo.findByEmail(email); try { final UserDto dto = mapper.from(item.orElseThrow(() -> new EntityException("No item found"))) .toInstanceOf(UserDto.class); final Resource<UserDto> resource = new Resource<>(dto); resource.add(linkTo(methodOn(getClass()).findById(dto.getUid())).withSelfRel()); return new ResponseEntity<>(resource, HttpStatus.OK); } catch (EntityException e) { return ResponseEntity.notFound().build(); } } }