Interface UserDAO

    • Method Detail

      • count

        int count​(Long tenantId)
        Counts the total number of standard users
        Parameters:
        tenantId - identifier of the tenant
        Returns:
        total number of guest users
      • countGuests

        int countGuests​(Long tenantId)
        Counts the total number of guest users
        Parameters:
        tenantId - identifier of the tenant
        Returns:
        total number of guest users
      • findByUsername

        User findByUsername​(String username)
        This method finds an User by its username. The search is case sensitive.
        Parameters:
        username - username of wanted User.
        Returns:
        Wanted User or null if user doesn't exist.
      • findByUsernameIgnoreCase

        User findByUsernameIgnoreCase​(String username)
        This method finds an User by its username. The search is case insensitive.
        Parameters:
        username - username of wanted User.
        Returns:
        Wanted User or null if user doesn't exist.
      • getUser

        User getUser​(String username)
        Depending on the global setting, it invokes findByUsername or findByUsernameIgnoreCase
        Parameters:
        username - The username of the user
        Returns:
        The found user
      • findByLikeUsername

        List<User> findByLikeUsername​(String username)
        This method finds an User by username.
        Parameters:
        username - The username of wanted User.
        Returns:
        Collection of selected users.
      • findByName

        List<User> findByName​(String name)
        This method finds an User by name.
        Parameters:
        name - The name of wanted User.
        Returns:
        Collection of selected users.
      • findByUsernameAndName

        List<User> findByUsernameAndName​(String username,
                                         String name)
        This method finds an User by username and name.
        Parameters:
        username - The username of wanted user
        name - The name of wanted user
        Returns:
        Collection of selected users
      • isPasswordExpired

        boolean isPasswordExpired​(String username)
        Is password expired.
        Parameters:
        username - Username of the User to be validated.
        Returns:
        True if the password is expired
      • isInactive

        boolean isInactive​(String username)
        Checks if a user is inactive, that is a user without interactions in the last X days after it has last enabled. We look at the User.getMaxInactivity() first en then we fallback to the general parameter security.user.maxinactivity
        Parameters:
        username - identifier of the user
        Returns:
        the last interaction time
      • delete

        void delete​(long userId,
                    UserHistory transaction)
             throws PersistenceException
        This method deletes the user object and insert a new user history entry.
        Parameters:
        userId - The id of the user to delete
        transaction - entry to log the event
        Throws:
        PersistenceException - error at database level
      • store

        void store​(User user,
                   UserHistory transaction)
            throws PersistenceException
        This method persists the user object and insert a new user history entry.
        Parameters:
        user - the user to store
        transaction - entry to log the event
        Throws:
        PersistenceException - error at database level
      • findUserSettings

        Map<String,​Generic> findUserSettings​(long userId,
                                                   String namePrefix)
        Retrieves the settings for a user. The settings are stored as Generics of type usersetting.
        Parameters:
        userId - Identifier of the user
        namePrefix - Name prefix of the property (optional)
        Returns:
        The map setting_name-generic
      • findAdminUser

        User findAdminUser​(String tenantName)
        Retrieve the administrator for the given tenant. The general rule is that the administrator's username is:
        1. admin if the tenant is default
        2. adminTenantname in all other cases
        Parameters:
        tenantName - name of the tenant
        Returns:
        the user to administrate the tenant
      • findByGroup

        Set<User> findByGroup​(long groupId)
        Retrieves the users belonging to a given group.
        Parameters:
        groupId - Identifier of the group
        Returns:
        the set of groups