queryMessageListEx method
Future<NIMResult<List<ChatMessage> > >
queryMessageListEx(
- NIMMessage anchor,
- QueryDirection direction,
- int limit
override
Implementation
@override
Future<NIMResult<List<ChatMessage>>> queryMessageListEx(
NIMMessage anchor, QueryDirection direction, int limit) async {
var msgRes = await NimCore.instance.messageService
.queryMessageListEx(anchor, direction, limit);
if (msgRes.isSuccess && msgRes.data != null) {
var pinRes = await NimCore.instance.messageService
.queryMessagePinForSession(anchor.sessionId!, anchor.sessionType!);
if (pinRes.isSuccess && pinRes.data != null) {
var pinList = pinRes.data!;
return NIMResult(
msgRes.code,
msgRes.data!.map((msg) {
var pin = pinList
.firstWhereOrNull((element) => _isSameMessage(msg, element));
return ChatMessage(msg, pinOption: pin);
}).toList(),
msgRes.errorDetails);
} else {
return NIMResult(
msgRes.code,
msgRes.data!.map((e) => ChatMessage(e)).toList(),
msgRes.errorDetails);
}
} else {
return NIMResult(msgRes.code, null, msgRes.errorDetails);
}
}