Class ConversationController
java.lang.Object
com.finconsgroup.itserr.marketplace.usercommunication.dm.controller.ConversationController
- All Implemented Interfaces:
ConversationApi
REST Controller for managing shared functionality for all conversations (DIRECT, GROUP)
Provides LinkedIn-style direct messaging and group chat functionality
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetConversationById(UUID conversationId) Get conversation by IDorg.springframework.data.domain.Page<OutputChatMessageDto> getConversationMessages(UUID conversationId, int pageNumber, int pageSize, String sort, org.springframework.data.domain.Sort.Direction direction) Get conversation message history with pagination support for lazy loadinggetConversationParticipants(UUID conversationId) Get conversation participantsGet conversation statisticsorg.springframework.data.domain.Page<OutputConversationDto> getRecentConversationsForUser(int pageNumber, int pageSize, String sort, org.springframework.data.domain.Sort.Direction direction) Get recent conversations for a user (ordered by activity)Get unread message summary for a uservoidleaveConversation(UUID conversationId) Leave conversationvoidmarkBulkMessagesAsRead(UUID conversationId, InputBulkMessagesDto request) Mark one or more messages as read for a user in a conversation.voidmarkConversationAsRead(UUID conversationId) Mark all messages as read for a user in a conversation.voidmarkConversationUptoMessageAsRead(UUID conversationId, UUID messageId) Mark all messages as read for a user in a conversation upto the provided message.voidmuteConversation(UUID conversationId, InputMuteConversationDto request) Mute/unmute conversationsearchConversations(String query, int pageNumber, int pageSize, String sort, org.springframework.data.domain.Sort.Direction direction) Search conversations
-
Constructor Details
-
ConversationController
public ConversationController()
-
-
Method Details
-
getConversationById
Get conversation by ID- Specified by:
getConversationByIdin interfaceConversationApi
-
getRecentConversationsForUser
public org.springframework.data.domain.Page<OutputConversationDto> getRecentConversationsForUser(int pageNumber, int pageSize, String sort, org.springframework.data.domain.Sort.Direction direction) Get recent conversations for a user (ordered by activity)- Specified by:
getRecentConversationsForUserin interfaceConversationApi
-
getConversationParticipants
Get conversation participants- Specified by:
getConversationParticipantsin interfaceConversationApi
-
leaveConversation
Leave conversation- Specified by:
leaveConversationin interfaceConversationApi
-
muteConversation
Mute/unmute conversation- Specified by:
muteConversationin interfaceConversationApi
-
markConversationAsRead
Description copied from interface:ConversationApiMark all messages as read for a user in a conversation.- Specified by:
markConversationAsReadin interfaceConversationApi- Parameters:
conversationId- the conversation id
-
markConversationUptoMessageAsRead
Description copied from interface:ConversationApiMark all messages as read for a user in a conversation upto the provided message.- Specified by:
markConversationUptoMessageAsReadin interfaceConversationApi- Parameters:
conversationId- the conversation idmessageId- the message id
-
markBulkMessagesAsRead
Description copied from interface:ConversationApiMark one or more messages as read for a user in a conversation.- Specified by:
markBulkMessagesAsReadin interfaceConversationApi- Parameters:
conversationId- the conversation idrequest- the request containing the messages ids to mark as read
-
searchConversations
public OutputSearchResultDto searchConversations(String query, int pageNumber, int pageSize, String sort, org.springframework.data.domain.Sort.Direction direction) Search conversations- Specified by:
searchConversationsin interfaceConversationApi
-
getConversationStats
Get conversation statistics- Specified by:
getConversationStatsin interfaceConversationApi
-
getConversationMessages
public org.springframework.data.domain.Page<OutputChatMessageDto> getConversationMessages(UUID conversationId, int pageNumber, int pageSize, String sort, org.springframework.data.domain.Sort.Direction direction) Get conversation message history with pagination support for lazy loading- Specified by:
getConversationMessagesin interfaceConversationApi
-
getUnreadMessageSummary
Get unread message summary for a user- Specified by:
getUnreadMessageSummaryin interfaceConversationApi
-