Interface GroupConversationService

All Known Implementing Classes:
GroupConversationServiceImpl

public interface GroupConversationService
Service contract for managing group conversations. Each method is documented to improve generated JavaDoc and maintainability.
  • Method Details

    • createGroupConversation

      Conversation createGroupConversation(String name, String description, UUID createdBy)
      Create a new group conversation.
      Parameters:
      name - group name
      description - group description (optional)
      createdBy - creator user ID
      Returns:
      the created Conversation entity
    • inviteUserToGroup

      void inviteUserToGroup(UUID conversationId, UUID userId, UUID invitedBy)
      Invite a user to a group conversation.
      Parameters:
      conversationId - the conversation ID
      userId - user to be invited
      invitedBy - inviter user ID
    • removeUserFromGroup

      boolean removeUserFromGroup(UUID conversationId, UUID userId, UUID removedBy)
      Remove a user from a group conversation.
      Parameters:
      conversationId - the conversation ID
      userId - user to remove
      removedBy - actor performing the removal
      Returns:
      true if removal succeeded
    • promoteUserToAdmin

      void promoteUserToAdmin(UUID conversationId, UUID userId, UUID promotedBy)
      Promote a user to admin in a group conversation.
      Parameters:
      conversationId - the conversation ID
      userId - user to promote
      promotedBy - actor performing the promotion
    • isUserParticipant

      boolean isUserParticipant(UUID conversationId, UUID userId)
      Check if a user is a participant in the conversation.
      Parameters:
      conversationId - the conversation ID
      userId - the user ID
      Returns:
      true if the user is an active participant
    • hasAdminPrivileges

      boolean hasAdminPrivileges(UUID conversationId, UUID userId)
      Check if a user has admin privileges in the conversation.
      Parameters:
      conversationId - the conversation ID
      userId - the user ID
      Returns:
      true if the user is admin