[LLC, Persistence] Use pagination options instead of single filter
Signed-off-by: Sahil Kumar <[email protected]>
This commit is contained in:
@@ -489,7 +489,7 @@ class Channel {
|
|||||||
}) async {
|
}) async {
|
||||||
final cachedReplies = await _client.chatPersistenceClient?.getReplies(
|
final cachedReplies = await _client.chatPersistenceClient?.getReplies(
|
||||||
parentId,
|
parentId,
|
||||||
lessThan: options?.lessThan,
|
options: options,
|
||||||
);
|
);
|
||||||
if (cachedReplies != null && cachedReplies.isNotEmpty) {
|
if (cachedReplies != null && cachedReplies.isNotEmpty) {
|
||||||
state?.updateThreadInfo(parentId, cachedReplies);
|
state?.updateThreadInfo(parentId, cachedReplies);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ abstract class ChatPersistenceClient {
|
|||||||
/// Get stored replies by messageId
|
/// Get stored replies by messageId
|
||||||
Future<List<Message>> getReplies(
|
Future<List<Message>> getReplies(
|
||||||
String parentId, {
|
String parentId, {
|
||||||
String lessThan,
|
PaginationParams options,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Get stored connection event
|
/// Get stored connection event
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ class MessageDao extends DatabaseAccessor<MoorChatDatabase>
|
|||||||
/// [messages.parentId] with [parentId]
|
/// [messages.parentId] with [parentId]
|
||||||
Future<List<Message>> getThreadMessagesByParentId(
|
Future<List<Message>> getThreadMessagesByParentId(
|
||||||
String parentId, {
|
String parentId, {
|
||||||
String lessThan,
|
PaginationParams options,
|
||||||
}) async {
|
}) async {
|
||||||
final msgList = await Future.wait(await (select(messages).join([
|
final msgList = await Future.wait(await (select(messages).join([
|
||||||
innerJoin(users, messages.userId.equalsExp(users.id)),
|
innerJoin(users, messages.userId.equalsExp(users.id)),
|
||||||
@@ -89,8 +89,8 @@ class MessageDao extends DatabaseAccessor<MoorChatDatabase>
|
|||||||
.map(_messageFromJoinRow)
|
.map(_messageFromJoinRow)
|
||||||
.get());
|
.get());
|
||||||
|
|
||||||
if (lessThan != null) {
|
if (options?.lessThan != null) {
|
||||||
final lessThanIndex = msgList.indexWhere((m) => m.id == lessThan);
|
final lessThanIndex = msgList.indexWhere((m) => m.id == options.lessThan);
|
||||||
msgList.removeRange(lessThanIndex, msgList.length);
|
msgList.removeRange(lessThanIndex, msgList.length);
|
||||||
}
|
}
|
||||||
return msgList;
|
return msgList;
|
||||||
|
|||||||
@@ -142,11 +142,11 @@ class StreamChatPersistenceClient extends ChatPersistenceClient {
|
|||||||
@override
|
@override
|
||||||
Future<List<Message>> getReplies(
|
Future<List<Message>> getReplies(
|
||||||
String parentId, {
|
String parentId, {
|
||||||
String lessThan,
|
PaginationParams options,
|
||||||
}) {
|
}) {
|
||||||
return _db.messageDao.getThreadMessagesByParentId(
|
return _db.messageDao.getThreadMessagesByParentId(
|
||||||
parentId,
|
parentId,
|
||||||
lessThan: lessThan,
|
options: options,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user