Class UserService


  • @Service
    public class UserService
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      UserService()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void changeUserPassword​(java.lang.String username, java.lang.String newPassword, java.lang.String currentPassword)
      Updates user's password.
      User editUserProfile​(java.util.UUID userId, UserProfileDto userProfileDto)
      Save User Profile with new encoded password (if it's not blank).
      java.lang.Iterable<UserPermission> getPermissions()
      Returns UserPermissions.
      UserRole getRole​(java.util.UUID id)
      Gets UserRole with given id.
      java.lang.Iterable<UserRole> getRoles()
      Returns UserRoles.
      User getUser​(java.util.UUID id)  
      User getUserByUserName​(java.lang.String userName)  
      java.lang.Iterable<User> getUsers()  
      User registerNewUser​(User user)
      Create User with new encoded password.
      UserRole saveRole​(UserRole role)
      Saves a UserRole.
      User saveUser​(User user, boolean encodeNewPassword)
      Save User with new encoded password (if it's not blank).
      org.springframework.data.domain.Page<UserRole> searchRoles​(java.lang.String name, org.springframework.data.domain.Pageable pageable)  
      org.springframework.data.domain.Page<User> searchUsers​(java.lang.String username, java.lang.String email, java.lang.String name, java.lang.String role, org.springframework.data.domain.Pageable pageable)
      Finds User matching all of the provided parameters.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • UserService

        public UserService()
    • Method Detail

      • getUserByUserName

        public User getUserByUserName​(java.lang.String userName)
      • getUsers

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public java.lang.Iterable<User> getUsers()
      • searchUsers

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public org.springframework.data.domain.Page<User> searchUsers​(java.lang.String username,
                                                                      java.lang.String email,
                                                                      java.lang.String name,
                                                                      java.lang.String role,
                                                                      org.springframework.data.domain.Pageable pageable)
        Finds User matching all of the provided parameters. If there are no parameters, return all users.
        Parameters:
        pageable - pagination parameters (page size, page number, sort order)
        email - email of user
        role - name of role of user
        username - username of user
        name - name of user
        Returns:
        page with found users.
      • getRoles

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public java.lang.Iterable<UserRole> getRoles()
        Returns UserRoles.
        Returns:
        user roles
      • getPermissions

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public java.lang.Iterable<UserPermission> getPermissions()
        Returns UserPermissions.
        Returns:
        user permissions
      • getRole

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public UserRole getRole​(java.util.UUID id)
        Gets UserRole with given id.
        Parameters:
        id - id of a role
        Returns:
        UserRole or throws error if it doesn't exists
        Throws:
        EntityNotFoundException - if role with id not found
      • saveRole

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public UserRole saveRole​(UserRole role)
        Saves a UserRole. Checks if role has id assigned (ie. if it is an update action), if not it checks for name uniqueness. If the name is not unique it throws MotsException.
        Parameters:
        role - UserRole to be created or updated.
        Returns:
        saved UserRole
      • searchRoles

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public org.springframework.data.domain.Page<UserRole> searchRoles​(java.lang.String name,
                                                                          org.springframework.data.domain.Pageable pageable)
      • getUser

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public User getUser​(java.util.UUID id)
      • saveUser

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public User saveUser​(User user,
                             boolean encodeNewPassword)
        Save User with new encoded password (if it's not blank).
        Parameters:
        user - User to be created.
        encodeNewPassword - flag indication if password should be encoded
        Returns:
        saved User
      • registerNewUser

        @PreAuthorize("hasRole(\'ROLE_MANAGE_USERS\')")
        public User registerNewUser​(User user)
        Create User with new encoded password.
        Parameters:
        user - User to be created.
        Returns:
        created User
      • editUserProfile

        public User editUserProfile​(java.util.UUID userId,
                                    UserProfileDto userProfileDto)
        Save User Profile with new encoded password (if it's not blank).
        Parameters:
        userProfileDto - User Profile to be updated.
        userId - id of user to update
        Returns:
        saved User
      • changeUserPassword

        public void changeUserPassword​(java.lang.String username,
                                       java.lang.String newPassword,
                                       java.lang.String currentPassword)
        Updates user's password.
        Parameters:
        username - of user which password is about to change.
        newPassword - is new password value for user.
        currentPassword - is current user's password.