Class ConversationPermissionServiceImpl

java.lang.Object
com.flowable.engage.engine.impl.permission.ConversationPermissionServiceImpl
All Implemented Interfaces:
ConversationPermissionService

public class ConversationPermissionServiceImpl
extends java.lang.Object
implements ConversationPermissionService
The default implementation of the permission helper checking permissions for certain conversation related actions with the help of a two-step DMN decision model approach. There is a first, global DMN model where quick and fast permissions are checked first (e.g. nothing is allowed within an archived conversation, etc). The result of that first step might say you need to check the actions detail DMN table which is then the second step. There is a detailed DMN decision model for each action to check for its particular permissions.
Author:
Micha Kiener, Filip Hrisafov
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected EngageEngineConfiguration engageEngineConfiguration  
  • Constructor Summary

    Constructors 
    Constructor Description
    ConversationPermissionServiceImpl​(EngageEngineConfiguration engageEngineConfiguration)  
  • Method Summary

    Modifier and Type Method Description
    java.util.Optional<java.lang.String> checkArchiveConversation​(java.lang.String userId, java.lang.String conversationId)
    Deprecated.
    java.util.Optional<java.lang.String> checkArchiveConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when archiving an existing conversation.
    java.util.Optional<java.lang.String> checkCreateConversation​(java.lang.String userId, java.lang.String parentConversationId, ConversationBuilder conversationBuilder)
    Deprecated.
    java.util.Optional<java.lang.String> checkCreateConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String parentConversationId, ConversationBuilder conversationBuilder)
    Evaluates the permissions for the given user when creating a new conversation with an optional parent conversation (e.g.
    java.util.Optional<java.lang.String> checkDropParticipantFromConversation​(java.lang.String userId, java.lang.String conversationId, java.lang.String droppedParticipantUserId)
    Deprecated.
    java.util.Optional<java.lang.String> checkDropParticipantFromConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId, java.lang.String droppedParticipantUserId)
    Evaluates the permissions for the given user when dropping a participant from a conversation.
    java.util.Optional<java.lang.String> checkEditMessage​(java.lang.String userId, java.lang.String conversationId, java.lang.String messageId)
    Deprecated.
    java.util.Optional<java.lang.String> checkEditMessage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId, java.lang.String messageId)
    Evaluates the permissions for the given user when editing an existing message of a conversation.
    java.util.Optional<java.lang.String> checkJoinParticipantToExistingConversation​(java.lang.String userId, java.lang.String conversationId, java.lang.String newParticipantUserId)
    Deprecated.
    java.util.Optional<java.lang.String> checkJoinParticipantToExistingConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId, java.lang.String newParticipantUserId)
    Evaluates the permissions for the given user when inviting a new participant to an existing conversation.
    protected java.util.Optional<java.lang.String> checkPostDocument​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when posting a document to a conversation.
    protected java.util.Optional<java.lang.String> checkPostImage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when posting an image to a conversation.
    java.util.Optional<java.lang.String> checkPostMedia​(java.lang.String userId, java.lang.String conversationId, java.lang.String mimeType)
    Deprecated.
    java.util.Optional<java.lang.String> checkPostMedia​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId, java.lang.String mimeType)
    Evaluates the permissions for the given user when posing a media to a conversation.
    java.util.Optional<java.lang.String> checkPostMessage​(java.lang.String userId, java.lang.String conversationId)
    Deprecated.
    java.util.Optional<java.lang.String> checkPostMessage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when posting a message to a conversation.
    protected java.util.Optional<java.lang.String> checkPostVideoMessage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when posting a video message to a conversation.
    protected java.util.Optional<java.lang.String> checkPostVoiceMessage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when posting a voice message to a conversation.
    java.util.Optional<java.lang.String> checkReopenConversation​(java.lang.String userId, java.lang.String conversationId)
    Deprecated.
    java.util.Optional<java.lang.String> checkReopenConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when re-opening an archived conversation.
    java.util.Optional<java.lang.String> checkUpdateConversationAvatar​(java.lang.String userId, java.lang.String conversationId)
    Deprecated.
    java.util.Optional<java.lang.String> checkUpdateConversationAvatar​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when posing a media to a conversation.
    java.util.Optional<java.lang.String> checkUpdateConversationDescription​(java.lang.String userId, java.lang.String conversationId)
    Deprecated.
    java.util.Optional<java.lang.String> checkUpdateConversationDescription​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when updating the conversation description.
    java.util.Optional<java.lang.String> checkUpdateConversationName​(java.lang.String userId, java.lang.String conversationId)
    Deprecated.
    java.util.Optional<java.lang.String> checkUpdateConversationName​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
    Evaluates the permissions for the given user when updating the conversation name.
    boolean hasAccessToConversation​(java.lang.String userId, java.lang.String conversationId)
    Deprecated.
    boolean hasAccessToConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.flowable.engage.conversation.api.permission.ConversationPermissionService

    checkPostAction, checkPostAction
  • Field Details

  • Constructor Details

  • Method Details

    • checkCreateConversation

      @Deprecated public java.util.Optional<java.lang.String> checkCreateConversation​(java.lang.String userId, java.lang.String parentConversationId, ConversationBuilder conversationBuilder)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      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).
      Specified by:
      checkCreateConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      parentConversationId - the optional parent conversation, if the new one is a child (sub-conversation), might be null
      conversationBuilder - 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

      public java.util.Optional<java.lang.String> checkCreateConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String parentConversationId, ConversationBuilder conversationBuilder)
      Description copied from interface: ConversationPermissionService
      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).
      Specified by:
      checkCreateConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      parentConversationId - the optional parent conversation, if the new one is a child (sub-conversation), might be null
      conversationBuilder - 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 public java.util.Optional<java.lang.String> checkUpdateConversationName​(java.lang.String userId, java.lang.String conversationId)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when updating the conversation name.
      Specified by:
      checkUpdateConversationName in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - 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

      public java.util.Optional<java.lang.String> checkUpdateConversationName​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when updating the conversation name.
      Specified by:
      checkUpdateConversationName in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - 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 public java.util.Optional<java.lang.String> checkUpdateConversationDescription​(java.lang.String userId, java.lang.String conversationId)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when updating the conversation description.
      Specified by:
      checkUpdateConversationDescription in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - 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

      public java.util.Optional<java.lang.String> checkUpdateConversationDescription​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when updating the conversation description.
      Specified by:
      checkUpdateConversationDescription in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - 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 public java.util.Optional<java.lang.String> checkArchiveConversation​(java.lang.String userId, java.lang.String conversationId)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when archiving an existing conversation.
      Specified by:
      checkArchiveConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - 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

      public java.util.Optional<java.lang.String> checkArchiveConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when archiving an existing conversation.
      Specified by:
      checkArchiveConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - 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 public java.util.Optional<java.lang.String> checkReopenConversation​(java.lang.String userId, java.lang.String conversationId)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when re-opening an archived conversation.
      Specified by:
      checkReopenConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - 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

      public java.util.Optional<java.lang.String> checkReopenConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when re-opening an archived conversation.
      Specified by:
      checkReopenConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - 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 public java.util.Optional<java.lang.String> checkJoinParticipantToExistingConversation​(java.lang.String userId, java.lang.String conversationId, java.lang.String newParticipantUserId)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when inviting a new participant to an existing conversation.
      Specified by:
      checkJoinParticipantToExistingConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - 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

      public java.util.Optional<java.lang.String> checkJoinParticipantToExistingConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId, java.lang.String newParticipantUserId)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when inviting a new participant to an existing conversation.
      Specified by:
      checkJoinParticipantToExistingConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - 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 public java.util.Optional<java.lang.String> checkDropParticipantFromConversation​(java.lang.String userId, java.lang.String conversationId, java.lang.String droppedParticipantUserId)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when dropping a participant from a conversation.
      Specified by:
      checkDropParticipantFromConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - the id of the conversation from which the participant should be dropped
      droppedParticipantUserId - 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

      public java.util.Optional<java.lang.String> checkDropParticipantFromConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId, java.lang.String droppedParticipantUserId)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when dropping a participant from a conversation.
      Specified by:
      checkDropParticipantFromConversation in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - the id of the conversation from which the participant should be dropped
      droppedParticipantUserId - 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 public java.util.Optional<java.lang.String> checkPostMessage​(java.lang.String userId, java.lang.String conversationId)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when posting a message to a conversation.
      Specified by:
      checkPostMessage in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - 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

      public java.util.Optional<java.lang.String> checkPostMessage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when posting a message to a conversation.
      Specified by:
      checkPostMessage in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - 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 public java.util.Optional<java.lang.String> checkEditMessage​(java.lang.String userId, java.lang.String conversationId, java.lang.String messageId)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when editing an existing message of a conversation.
      Specified by:
      checkEditMessage in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - the id of the conversation to edit a message from
      messageId - 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

      public java.util.Optional<java.lang.String> checkEditMessage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId, java.lang.String messageId)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when editing an existing message of a conversation.
      Specified by:
      checkEditMessage in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - the id of the conversation to edit a message from
      messageId - 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
    • checkPostMedia

      @Deprecated public java.util.Optional<java.lang.String> checkPostMedia​(java.lang.String userId, java.lang.String conversationId, java.lang.String mimeType)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when posing a media to a conversation.
      Specified by:
      checkPostMedia in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - the id of the conversation to post the media to
      mimeType - 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

      public java.util.Optional<java.lang.String> checkPostMedia​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId, java.lang.String mimeType)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when posing a media to a conversation.
      Specified by:
      checkPostMedia in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - the id of the conversation to post the media to
      mimeType - 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 public java.util.Optional<java.lang.String> checkUpdateConversationAvatar​(java.lang.String userId, java.lang.String conversationId)
      Deprecated.
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when posing a media to a conversation.
      Specified by:
      checkUpdateConversationAvatar in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      conversationId - 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

      public java.util.Optional<java.lang.String> checkUpdateConversationAvatar​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Description copied from interface: ConversationPermissionService
      Evaluates the permissions for the given user when posing a media to a conversation.
      Specified by:
      checkUpdateConversationAvatar in interface ConversationPermissionService
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant id of the user to check the permissions
      conversationId - 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
    • checkPostVoiceMessage

      protected java.util.Optional<java.lang.String> checkPostVoiceMessage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Evaluates the permissions for the given user when posting a voice message to a conversation.
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant of the user to check the permissions
      conversationId - the id of the conversation to post the voice message to
      Returns:
      the permission error message, if permission is denied to post a voice message or no message, if permission is granted
    • checkPostVideoMessage

      protected java.util.Optional<java.lang.String> checkPostVideoMessage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Evaluates the permissions for the given user when posting a video message to a conversation.
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant of the user to check the permissions
      conversationId - the id of the conversation to post the video message to
      Returns:
      the permission error message, if permission is denied to post a video message or no message, if permission is granted
    • checkPostImage

      protected java.util.Optional<java.lang.String> checkPostImage​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Evaluates the permissions for the given user when posting an image to a conversation.
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant of the user to check the permissions
      conversationId - the id of the conversation to post the image to
      Returns:
      the permission error message, if permission is denied to post an image or no message, if permission is granted
    • checkPostDocument

      protected java.util.Optional<java.lang.String> checkPostDocument​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Evaluates the permissions for the given user when posting a document to a conversation.
      Parameters:
      userId - the id of the user to check the permissions
      userGroupKeys - the group keys of the user to check the permissions
      userTenantId - the tenant of the user to check the permissions
      conversationId - the id of the conversation to post the document to
      Returns:
      the permission error message, if permission is denied to post a document or no message, if permission is granted
    • hasAccessToConversation

      @Deprecated public boolean hasAccessToConversation​(java.lang.String userId, java.lang.String conversationId)
      Deprecated.
      Specified by:
      hasAccessToConversation in interface ConversationPermissionService
    • hasAccessToConversation

      public boolean hasAccessToConversation​(java.lang.String userId, java.util.Collection<java.lang.String> userGroupKeys, java.lang.String userTenantId, java.lang.String conversationId)
      Specified by:
      hasAccessToConversation in interface ConversationPermissionService