From db275bfa7115f9b56910d2af8e9190f2a3882fc5 Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Thu, 28 Jan 2021 19:51:48 +0530 Subject: [PATCH] [LLC, Persistence] Use pagination options instead of single filter Signed-off-by: Sahil Kumar --- packages/dart_client/lib/src/api/channel.dart | 2 +- .../dart_client/lib/src/db/chat_persistence_client.dart | 2 +- .../stream_chat_persistence/lib/src/dao/message_dao.dart | 6 +++--- .../lib/src/stream_chat_persistence_client.dart | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/dart_client/lib/src/api/channel.dart b/packages/dart_client/lib/src/api/channel.dart index 3ba9aa1f..45dd5da8 100644 --- a/packages/dart_client/lib/src/api/channel.dart +++ b/packages/dart_client/lib/src/api/channel.dart @@ -489,7 +489,7 @@ class Channel { }) async { final cachedReplies = await _client.chatPersistenceClient?.getReplies( parentId, - lessThan: options?.lessThan, + options: options, ); if (cachedReplies != null && cachedReplies.isNotEmpty) { state?.updateThreadInfo(parentId, cachedReplies); diff --git a/packages/dart_client/lib/src/db/chat_persistence_client.dart b/packages/dart_client/lib/src/db/chat_persistence_client.dart index c0cb68b2..19a9164e 100644 --- a/packages/dart_client/lib/src/db/chat_persistence_client.dart +++ b/packages/dart_client/lib/src/db/chat_persistence_client.dart @@ -20,7 +20,7 @@ abstract class ChatPersistenceClient { /// Get stored replies by messageId Future> getReplies( String parentId, { - String lessThan, + PaginationParams options, }); /// Get stored connection event diff --git a/packages/stream_chat_persistence/lib/src/dao/message_dao.dart b/packages/stream_chat_persistence/lib/src/dao/message_dao.dart index 0b6ba97c..57aa055d 100644 --- a/packages/stream_chat_persistence/lib/src/dao/message_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/message_dao.dart @@ -79,7 +79,7 @@ class MessageDao extends DatabaseAccessor /// [messages.parentId] with [parentId] Future> getThreadMessagesByParentId( String parentId, { - String lessThan, + PaginationParams options, }) async { final msgList = await Future.wait(await (select(messages).join([ innerJoin(users, messages.userId.equalsExp(users.id)), @@ -89,8 +89,8 @@ class MessageDao extends DatabaseAccessor .map(_messageFromJoinRow) .get()); - if (lessThan != null) { - final lessThanIndex = msgList.indexWhere((m) => m.id == lessThan); + if (options?.lessThan != null) { + final lessThanIndex = msgList.indexWhere((m) => m.id == options.lessThan); msgList.removeRange(lessThanIndex, msgList.length); } return msgList; diff --git a/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart b/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart index c0aceff5..49a59423 100644 --- a/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart +++ b/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart @@ -142,11 +142,11 @@ class StreamChatPersistenceClient extends ChatPersistenceClient { @override Future> getReplies( String parentId, { - String lessThan, + PaginationParams options, }) { return _db.messageDao.getThreadMessagesByParentId( parentId, - lessThan: lessThan, + options: options, ); }