Interface WritableIdentityProvider
-
- All Superinterfaces:
Session
- All Known Implementing Classes:
DbIdentityServiceProvider
public interface WritableIdentityProvider extends Session
SPI Interface for identity service implementations which offer read / write access to the user database.
- Author:
- Daniel Meyer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IdentityOperationResultcreateMembership(String userId, String groupId)Creates a membership relation between a user and a group.GroupcreateNewGroup(String groupId)Returns a new (transient)Groupobject.TenantcreateNewTenant(String tenantId)Returns a new (transient)Tenantobject.UsercreateNewUser(String userId)Returns a new (transient)Userobject.IdentityOperationResultcreateTenantGroupMembership(String tenantId, String groupId)Creates a membership relation between a tenant and a group.IdentityOperationResultcreateTenantUserMembership(String tenantId, String userId)Creates a membership relation between a tenant and a user.IdentityOperationResultdeleteGroup(String groupId)Allows deleting a persistentGroupobject.IdentityOperationResultdeleteMembership(String userId, String groupId)Deletes a membership relation between a user and a group.IdentityOperationResultdeleteTenant(String tenantId)Allows deleting a persistentTenantobject.IdentityOperationResultdeleteTenantGroupMembership(String tenantId, String groupId)Deletes a membership relation between a tenant and a group.IdentityOperationResultdeleteTenantUserMembership(String tenantId, String userId)Deletes a membership relation between a tenant and a user.IdentityOperationResultdeleteUser(String userId)Allows deleting a persistentUserobject.IdentityOperationResultsaveGroup(Group group)Allows saving aGroupobject which is not yet persistent.IdentityOperationResultsaveTenant(Tenant tenant)Allows saving aTenantobject which is not yet persistent.IdentityOperationResultsaveUser(User user)Allows saving or updates aUserobjectIdentityOperationResultunlockUser(String userId)Allows unlocking aUserobject.
-
-
-
Method Detail
-
createNewUser
User createNewUser(String userId)
Returns a new (transient)
Userobject. The Object is not yet persistent and must be saved using thesaveUser(User)method.NOTE: the implementation does not validate the uniqueness of the userId parameter at this time.
- Parameters:
userId-- Returns:
- an non-persistent user object.
-
saveUser
IdentityOperationResult saveUser(User user)
Allows saving or updates aUserobject- Parameters:
user- a User object.- Returns:
- the operation result object.
- Throws:
IdentityProviderException- in case an internal error occurs
-
deleteUser
IdentityOperationResult deleteUser(String userId)
Allows deleting a persistentUserobject.- Parameters:
UserId- the id of the User object to delete.- Returns:
- the operation result object.
- Throws:
IdentityProviderException- in case an internal error occurs
-
unlockUser
IdentityOperationResult unlockUser(String userId)
Allows unlocking aUserobject.- Parameters:
userId- the id of the User object to delete.- Returns:
- the operation result object.
- Throws:
AuthorizationException- if the user is not CAMUNDA_ADMIN
-
createNewGroup
Group createNewGroup(String groupId)
Returns a new (transient)
Groupobject. The Object is not yet persistent and must be saved using thesaveGroup(Group)method.NOTE: the implementation does not validate the uniqueness of the groupId parameter at this time.
- Parameters:
groupId-- Returns:
- an non-persistent group object.
-
saveGroup
IdentityOperationResult saveGroup(Group group)
Allows saving aGroupobject which is not yet persistent.- Parameters:
group- a group object.- Returns:
- the operation result object.
- Throws:
IdentityProviderException- in case an internal error occurs
-
deleteGroup
IdentityOperationResult deleteGroup(String groupId)
Allows deleting a persistentGroupobject.- Parameters:
groupId- the id of the group object to delete.- Returns:
- the operation result object.
- Throws:
IdentityProviderException- in case an internal error occurs
-
createNewTenant
Tenant createNewTenant(String tenantId)
Returns a new (transient)
Tenantobject. The Object is not yet persistent and must be saved using thesaveTenant(Tenant)method.NOTE: the implementation does not validate the uniqueness of the tenantId parameter at this time.
- Parameters:
tenantId- the id of the new tenant- Returns:
- an non-persistent tenant object.
-
saveTenant
IdentityOperationResult saveTenant(Tenant tenant)
Allows saving aTenantobject which is not yet persistent.- Parameters:
tenant- the tenant object to save.- Returns:
- the operation result object.
- Throws:
IdentityProviderException- in case an internal error occurs
-
deleteTenant
IdentityOperationResult deleteTenant(String tenantId)
Allows deleting a persistentTenantobject.- Parameters:
tenantId- the id of the tenant object to delete.- Returns:
- the operation result object.
- Throws:
IdentityProviderException- in case an internal error occurs
-
createMembership
IdentityOperationResult createMembership(String userId, String groupId)
Creates a membership relation between a user and a group. If the user is already part of that group, IdentityProviderException is thrown.- Parameters:
userId- the id of the usergroupId- id of the group- Returns:
- the operation result object.
- Throws:
IdentityProviderException
-
deleteMembership
IdentityOperationResult deleteMembership(String userId, String groupId)
Deletes a membership relation between a user and a group.- Parameters:
userId- the id of the usergroupId- id of the group- Returns:
- the operation result object.
- Throws:
IdentityProviderException
-
createTenantUserMembership
IdentityOperationResult createTenantUserMembership(String tenantId, String userId)
Creates a membership relation between a tenant and a user.- Parameters:
tenantId- the id of the tenantuserId- the id of the user- Returns:
- the operation result object.
-
createTenantGroupMembership
IdentityOperationResult createTenantGroupMembership(String tenantId, String groupId)
Creates a membership relation between a tenant and a group.- Parameters:
tenantId- the id of the tenantgroupId- the id of the group- Returns:
- the operation result object.
-
deleteTenantUserMembership
IdentityOperationResult deleteTenantUserMembership(String tenantId, String userId)
Deletes a membership relation between a tenant and a user.- Parameters:
tenantId- the id of the tenantuserId- the id of the user- Returns:
- the operation result object
-
deleteTenantGroupMembership
IdentityOperationResult deleteTenantGroupMembership(String tenantId, String groupId)
Deletes a membership relation between a tenant and a group.- Parameters:
tenantId- the id of the tenantgroupId- the id of the group- Returns:
- the operation result object.
-
-