Interface IdmIdentityService

All Known Implementing Classes:
IdmIdentityServiceImpl

public interface IdmIdentityService
Service to manage Users and Groups.
Author:
Tom Baeyens, Tijs Rademakers, Joram Barrez
  • Method Details

    • newUser

      User newUser(String userId)
      Creates a new user. The user is transient and must be saved using saveUser(User).
      Parameters:
      userId - id for the new user, cannot be null.
    • saveUser

      void saveUser(User user)
      Saves the user. If the user already existed, the user is updated except user password. Use updateUserPassword(User) to update existing user password.
      Parameters:
      user - user to save, cannot be null.
      Throws:
      RuntimeException - when a user with the same name already exists.
      See Also:
    • updateUserPassword

      void updateUserPassword(User user)
      Update user password. Use saveUser(User) for new user.
      Parameters:
      user - user password to change, cannot be null.
      See Also:
    • createUserQuery

      UserQuery createUserQuery()
      Creates a UserQuery that allows to programmatically query the users.
    • createNativeUserQuery

      NativeUserQuery createNativeUserQuery()
      Returns a new NativeQuery for tasks.
    • deleteUser

      void deleteUser(String userId)
      Parameters:
      userId - id of user to delete, cannot be null. When an id is passed for a non-existent user, this operation is ignored.
    • newGroup

      Group newGroup(String groupId)
      Creates a new group. The group is transient and must be saved using saveGroup(Group).
      Parameters:
      groupId - id for the new group, cannot be null.
    • createGroupQuery

      GroupQuery createGroupQuery()
      Creates a GroupQuery that allows to programmatically query the groups.
    • createNativeGroupQuery

      NativeGroupQuery createNativeGroupQuery()
      Returns a new NativeQuery for tasks.
    • saveGroup

      void saveGroup(Group group)
      Saves the group. If the group already existed, the group is updated.
      Parameters:
      group - group to save. Cannot be null.
      Throws:
      RuntimeException - when a group with the same name already exists.
    • deleteGroup

      void deleteGroup(String groupId)
      Deletes the group. When no group exists with the given id, this operation is ignored.
      Parameters:
      groupId - id of the group that should be deleted, cannot be null.
    • createMembership

      void createMembership(String userId, String groupId)
      Parameters:
      userId - the userId, cannot be null.
      groupId - the groupId, cannot be null.
      Throws:
      RuntimeException - when the given user or group doesn't exist or when the user is already member of the group.
    • deleteMembership

      void deleteMembership(String userId, String groupId)
      Delete the membership of the user in the group. When the group or user don't exist or when the user is not a member of the group, this operation is ignored.
      Parameters:
      userId - the user's id, cannot be null.
      groupId - the group's id, cannot be null.
    • checkPassword

      boolean checkPassword(String userId, String password)
      Checks if the password is valid for the given user. Arguments userId and password are nullsafe.
    • setAuthenticatedUserId

      void setAuthenticatedUserId(String authenticatedUserId)
      Passes the authenticated user id for this particular thread. All service method (from any service) invocations done by the same thread will have access to this authenticatedUserId.
    • setUserPicture

      void setUserPicture(String userId, Picture picture)
      Sets the picture for a given user.
      Parameters:
      userId -
      picture - can be null to delete the picture.
      Throws:
      FlowableObjectNotFoundException - if the user doesn't exist.
    • getUserPicture

      Picture getUserPicture(String userId)
      Retrieves the picture for a given user.
      Parameters:
      userId -
      Returns:
      null if the user doesn't have a picture.
      Throws:
      FlowableObjectNotFoundException - if the user doesn't exist.
    • newToken

      Token newToken(String id)
      Creates a new token. The token is transient and must be saved using saveToken(Token).
      Parameters:
      id - id for the new token, cannot be null.
    • saveToken

      void saveToken(Token token)
      Saves the token. If the token already existed, the token is updated.
      Parameters:
      token - token to save, cannot be null.
    • deleteToken

      void deleteToken(String tokenId)
      Parameters:
      tokenId - id of token to delete, cannot be null. When an id is passed for an non-existent token, this operation is ignored.
    • createTokenQuery

      TokenQuery createTokenQuery()
      Creates a TokenQuery that allows to programmatically query the tokens.
    • createNativeTokenQuery

      NativeTokenQuery createNativeTokenQuery()
      Returns a new NativeQuery for tokens.
    • setUserInfo

      void setUserInfo(String userId, String key, String value)
      Generic extensibility key-value pairs associated with a user
    • getUserInfo

      String getUserInfo(String userId, String key)
      Generic extensibility key-value pairs associated with a user
    • getUserInfoKeys

      List<String> getUserInfoKeys(String userId)
      Generic extensibility keys associated with a user
    • deleteUserInfo

      void deleteUserInfo(String userId, String key)
      Delete an entry of the generic extensibility key-value pairs associated with a user
    • createPrivilege

      Privilege createPrivilege(String privilegeName)
      Creates a new Privilege with the provided name.
      Throws:
      FlowableIllegalArgumentException - if privilegeName is null.
    • addUserPrivilegeMapping

      void addUserPrivilegeMapping(String privilegeId, String userId)
      Assigns a privilege to a user.
    • deleteUserPrivilegeMapping

      void deleteUserPrivilegeMapping(String privilegeId, String userId)
      Removes a privilege for a user.
    • addGroupPrivilegeMapping

      void addGroupPrivilegeMapping(String privilegeId, String groupId)
      Assigns a privilege to a group.
    • deleteGroupPrivilegeMapping

      void deleteGroupPrivilegeMapping(String privilegeId, String groupId)
      Delete a privilege for a group.
    • getPrivilegeMappingsByPrivilegeId

      List<PrivilegeMapping> getPrivilegeMappingsByPrivilegeId(String privilegeId)
      Get all privilege mappings for a specific privilege
    • deletePrivilege

      void deletePrivilege(String privilegeId)
      Deletes the privilege with the given id. Note that this also removes all user/group mappings for this privilege.
    • getUsersWithPrivilege

      List<User> getUsersWithPrivilege(String privilegeId)
      Returns all User instances that have a particular privilege.
    • getGroupsWithPrivilege

      List<Group> getGroupsWithPrivilege(String privilegeId)
      Returns all Group instances that have a particular privilege.
    • createPrivilegeQuery

      PrivilegeQuery createPrivilegeQuery()
      Creates a PrivilegeQuery that allows to programmatically query privileges.