fetchHistoryMessages method
- {required String conversationId,
- ChatConversationType type = ChatConversationType.Chat,
- int pageSize = 20,
- ChatSearchDirection direction = ChatSearchDirection.Up,
- String startMsgId = ''}
Gets historical messages of the conversation from the server with pagination.
Param conversationId
The conversation ID.
Param type
The conversation type. See ChatConversationType.
Param pageSize
The number of messages per page.
Param direction
The message search direction. See ChatSearchDirection.
Param startMsgId
The ID of the message from which you start to get the historical messages. If null
is passed, the SDK gets messages in the reverse chronological order.
Return The obtained messages and the cursor for the next query.
Throws A description of the exception. See ChatError.
Implementation
Future<ChatCursorResult<ChatMessage>> fetchHistoryMessages({
required String conversationId,
ChatConversationType type = ChatConversationType.Chat,
int pageSize = 20,
ChatSearchDirection direction = ChatSearchDirection.Up,
String startMsgId = '',
}) async {
Map req = Map();
req['convId'] = conversationId;
req['type'] = conversationTypeToInt(type);
req['pageSize'] = pageSize;
req['startMsgId'] = startMsgId;
req['direction'] = direction.index;
Map result = await ChatChannel.invokeMethod(
ChatMethodKeys.fetchHistoryMessages, req);
try {
ChatError.hasErrorFromResult(result);
return ChatCursorResult<ChatMessage>.fromJson(
result[ChatMethodKeys.fetchHistoryMessages],
dataItemCallback: (value) {
return ChatMessage.fromJson(value);
});
} on ChatError catch (e) {
throw e;
}
}