@Override public UserDetails loadUserByUsername(String username) { return this.userRepository.findByUsername(username) .map(user -> CustomUserDetails.builder() .id(user.getId()) .username(user.getUsername()) .password(user.getPassword()) .role(user.getRole()) .build()).orElseThrow(() -> new UsernameNotFoundException("User with %s name not found".formatted(username))); }