Interface ConversationPermissionService
- All Known Implementing Classes:
ConversationPermissionServiceImpl
public interface ConversationPermissionService
The permission helper must be used to check permissions on actions to be executed in the context of a conversation
like adding or removing participants or posting a voice message, etc.
- Author:
- Micha Kiener, Filip Hrisafov
-
Method Summary
Modifier and TypeMethodDescriptioncheckArchiveConversation(String userId, String conversationId) Deprecated.checkArchiveConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when archiving an existing conversation.checkCreateConversation(String userId, String parentConversationId, ConversationBuilder conversationBuilder) Deprecated.checkCreateConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String parentConversationId, ConversationBuilder conversationBuilder) Evaluates the permissions for the given user when creating a new conversation with an optional parent conversation (e.g.checkDropParticipantFromConversation(String userId, String conversationId, String droppedParticipantUserId) Deprecated.checkDropParticipantFromConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String droppedParticipantUserId) Evaluates the permissions for the given user when dropping a participant from a conversation.checkEditMessage(String userId, String conversationId, String messageId) Deprecated.checkEditMessage(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String messageId) Evaluates the permissions for the given user when editing an existing message of a conversation.checkJoinParticipantToExistingConversation(String userId, String conversationId, String newParticipantUserId) Deprecated.checkJoinParticipantToExistingConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String newParticipantUserId) Evaluates the permissions for the given user when inviting a new participant to an existing conversation.checkPostAction(String userId, String conversationId, String actionInstanceId, String actionDefinitionId, String actionDefinitionKey) Deprecated.checkPostAction(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String actionInstanceId, String actionDefinitionId, String actionDefinitionKey) Evaluates the permissions for the given user when posting an action message to a conversation.checkPostMedia(String userId, String conversationId, String mimeType) Deprecated.checkPostMedia(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String mimeType) Evaluates the permissions for the given user when posing a media to a conversation.checkPostMessage(String userId, String conversationId) Deprecated.checkPostMessage(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when posting a message to a conversation.checkReopenConversation(String userId, String conversationId) Deprecated.checkReopenConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when re-opening an archived conversation.checkUpdateConversationAvatar(String userId, String conversationId) Deprecated.checkUpdateConversationAvatar(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when posing a media to a conversation.checkUpdateConversationDescription(String userId, String conversationId) Deprecated.checkUpdateConversationDescription(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when updating the conversation description.checkUpdateConversationName(String userId, String conversationId) Deprecated.checkUpdateConversationName(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when updating the conversation name.fetchPermissions(Conversation conversation, String userId, Set<String> groupKeys, String tenantId) Fetch the permission actions that are allowed for the conversation for the given userdefault booleanhasAccessToConversation(String userId, String conversationId) Deprecated.booleanhasAccessToConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId)
-
Method Details
-
checkCreateConversation
@Deprecated Optional<String> checkCreateConversation(String userId, String parentConversationId, ConversationBuilder conversationBuilder) Deprecated.Evaluates the permissions for the given user when creating a new conversation with an optional parent conversation (e.g. if creating a sub-conversation like a topic or ticket).- Parameters:
userId- the id of the user to check the permissionsparentConversationId- the optional parent conversation, if the new one is a child (sub-conversation), might benullconversationBuilder- the builder having all the details of the new conversation to be started, needs at least type and subtype to be set- Returns:
- the permission error message, if permission is denied to start the new conversation or no message, if permission is granted
-
checkCreateConversation
Optional<String> checkCreateConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String parentConversationId, ConversationBuilder conversationBuilder) Evaluates the permissions for the given user when creating a new conversation with an optional parent conversation (e.g. if creating a sub-conversation like a topic or ticket).- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsparentConversationId- the optional parent conversation, if the new one is a child (sub-conversation), might benullconversationBuilder- the builder having all the details of the new conversation to be started, needs at least type and subtype to be set- Returns:
- the permission error message, if permission is denied to start the new conversation or no message, if permission is granted
-
checkUpdateConversationName
Deprecated.Evaluates the permissions for the given user when updating the conversation name.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation where the name is being changed- Returns:
- the permission error message, if permission is denied to change the conversation name or no message, if permission is granted
-
checkUpdateConversationName
Optional<String> checkUpdateConversationName(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when updating the conversation name.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation where the name is being changed- Returns:
- the permission error message, if permission is denied to change the conversation name or no message, if permission is granted
-
checkUpdateConversationDescription
@Deprecated Optional<String> checkUpdateConversationDescription(String userId, String conversationId) Deprecated.Evaluates the permissions for the given user when updating the conversation description.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation where the description is being changed- Returns:
- the permission error message, if permission is denied to change the conversation description or no message, if permission is granted
-
checkUpdateConversationDescription
Optional<String> checkUpdateConversationDescription(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when updating the conversation description.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation where the description is being changed- Returns:
- the permission error message, if permission is denied to change the conversation description or no message, if permission is granted
-
checkArchiveConversation
Deprecated.Evaluates the permissions for the given user when archiving an existing conversation.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation to be archived- Returns:
- the permission error message, if permission is denied to archive the conversation or no message, if permission is granted
-
checkArchiveConversation
Optional<String> checkArchiveConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when archiving an existing conversation.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation to be archived- Returns:
- the permission error message, if permission is denied to archive the conversation or no message, if permission is granted
-
checkReopenConversation
Deprecated.Evaluates the permissions for the given user when re-opening an archived conversation.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation to be re-opened- Returns:
- the permission error message, if permission is denied to re-open the conversation or no message, if permission is granted
-
checkReopenConversation
Optional<String> checkReopenConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when re-opening an archived conversation.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation to be re-opened- Returns:
- the permission error message, if permission is denied to re-open the conversation or no message, if permission is granted
-
checkJoinParticipantToExistingConversation
@Deprecated Optional<String> checkJoinParticipantToExistingConversation(String userId, String conversationId, String newParticipantUserId) Deprecated.Evaluates the permissions for the given user when inviting a new participant to an existing conversation.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation to join the new participant to- Returns:
- the permission error message, if permission is denied to join the new participant or no message, if permission is granted
-
checkJoinParticipantToExistingConversation
Optional<String> checkJoinParticipantToExistingConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String newParticipantUserId) Evaluates the permissions for the given user when inviting a new participant to an existing conversation.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation to join the new participant to- Returns:
- the permission error message, if permission is denied to join the new participant or no message, if permission is granted
-
checkDropParticipantFromConversation
@Deprecated Optional<String> checkDropParticipantFromConversation(String userId, String conversationId, String droppedParticipantUserId) Deprecated.Evaluates the permissions for the given user when dropping a participant from a conversation.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation from which the participant should be droppeddroppedParticipantUserId- the id of the participant user to be dropped- Returns:
- the permission error message, if permission is denied to drop the participant or no message, if permission is granted
-
checkDropParticipantFromConversation
Optional<String> checkDropParticipantFromConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String droppedParticipantUserId) Evaluates the permissions for the given user when dropping a participant from a conversation.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation from which the participant should be droppeddroppedParticipantUserId- the id of the participant user to be dropped- Returns:
- the permission error message, if permission is denied to drop the participant or no message, if permission is granted
-
checkPostMessage
Deprecated.Evaluates the permissions for the given user when posting a message to a conversation.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation to post the message to- Returns:
- the permission error message, if permission is denied to post a message or no message, if permission is granted
-
checkPostMessage
Optional<String> checkPostMessage(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when posting a message to a conversation.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation to post the message to- Returns:
- the permission error message, if permission is denied to post a message or no message, if permission is granted
-
checkEditMessage
@Deprecated Optional<String> checkEditMessage(String userId, String conversationId, String messageId) Deprecated.Evaluates the permissions for the given user when editing an existing message of a conversation.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation to edit a message frommessageId- the id of the message to be edited- Returns:
- the permission error message, if permission is denied to edit a message or no message, if permission is granted
-
checkEditMessage
Optional<String> checkEditMessage(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String messageId) Evaluates the permissions for the given user when editing an existing message of a conversation.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation to edit a message frommessageId- the id of the message to be edited- Returns:
- the permission error message, if permission is denied to edit a message or no message, if permission is granted
-
checkPostAction
@Deprecated default Optional<String> checkPostAction(String userId, String conversationId, String actionInstanceId, String actionDefinitionId, String actionDefinitionKey) Deprecated.Evaluates the permissions for the given user when posting an action message to a conversation. One ofactionInstanceId,actionDefinitionIdoractionDefinitionKeynotnull. If this method is not implemented it just invokescheckPostMessage(String, String)- Parameters:
userId- the id of the user to check the permissionsconversationId- the if of the conversation to post the message toactionInstanceId- the id of the action instance that would be linked to the messageactionDefinitionId- the id of the action definition that should be used for creating the action instance for the messageactionDefinitionKey- the key of the action definition that should be used for creating the action instance for the message- Returns:
- the permissions error message, if it is not allowed to post the action,
Optional.empty()if it is allowed
-
checkPostAction
default Optional<String> checkPostAction(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String actionInstanceId, String actionDefinitionId, String actionDefinitionKey) Evaluates the permissions for the given user when posting an action message to a conversation. One ofactionInstanceId,actionDefinitionIdoractionDefinitionKeynotnull. If this method is not implemented it just invokescheckPostMessage(String, String)- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the if of the conversation to post the message toactionInstanceId- the id of the action instance that would be linked to the messageactionDefinitionId- the id of the action definition that should be used for creating the action instance for the messageactionDefinitionKey- the key of the action definition that should be used for creating the action instance for the message- Returns:
- the permissions error message, if it is not allowed to post the action,
Optional.empty()if it is allowed
-
checkPostMedia
Deprecated.Evaluates the permissions for the given user when posing a media to a conversation.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation to post the media tomimeType- the mime type of the media that is being posted- Returns:
- the permissions error message, if it is not allowed to the media,
Optional.empty()if it is allowed
-
checkPostMedia
Optional<String> checkPostMedia(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId, String mimeType) Evaluates the permissions for the given user when posing a media to a conversation.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation to post the media tomimeType- the mime type of the media that is being posted- Returns:
- the permissions error message, if it is not allowed to the media,
Optional.empty()if it is allowed
-
checkUpdateConversationAvatar
Deprecated.Evaluates the permissions for the given user when posing a media to a conversation.- Parameters:
userId- the id of the user to check the permissionsconversationId- the id of the conversation to post the media to- Returns:
- the permissions error message, if it is not allowed to the media,
Optional.empty()if it is allowed
-
checkUpdateConversationAvatar
Optional<String> checkUpdateConversationAvatar(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) Evaluates the permissions for the given user when posing a media to a conversation.- Parameters:
userId- the id of the user to check the permissionsuserGroupKeys- the group keys of the user to check the permissionsuserTenantId- the tenant id of the user to check the permissionsconversationId- the id of the conversation to post the media to- Returns:
- the permissions error message, if it is not allowed to the media,
Optional.empty()if it is allowed
-
hasAccessToConversation
Deprecated. -
hasAccessToConversation
boolean hasAccessToConversation(String userId, Collection<String> userGroupKeys, String userTenantId, String conversationId) -
fetchPermissions
Collection<String> fetchPermissions(Conversation conversation, String userId, Set<String> groupKeys, String tenantId) Fetch the permission actions that are allowed for the conversation for the given user- Parameters:
conversation- the conversation for which the actions should be fetcheduserId- the id of the usergroupKeys- the group keys of the usertenantId- the tenant id of the user- Returns:
- the collection of the permission actions
-
checkArchiveConversation(String, Collection, String, String)instead