From 8adc38f8e47a3f7b7162d6477680a35ff3fe1c30 Mon Sep 17 00:00:00 2001 From: Dmitry Zhifarsky Date: Sun, 8 Aug 2021 21:42:27 +0300 Subject: [PATCH] fix(persistence): change mode insert or replace to upsert --- packages/stream_chat_persistence/lib/src/dao/channel_dao.dart | 3 +-- .../stream_chat_persistence/lib/src/dao/channel_query_dao.dart | 3 +-- .../lib/src/dao/connection_event_dao.dart | 3 +-- packages/stream_chat_persistence/lib/src/dao/member_dao.dart | 3 +-- packages/stream_chat_persistence/lib/src/dao/message_dao.dart | 3 +-- .../lib/src/dao/pinned_message_dao.dart | 3 +-- packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart | 3 +-- packages/stream_chat_persistence/lib/src/dao/read_dao.dart | 3 +-- packages/stream_chat_persistence/lib/src/dao/user_dao.dart | 3 +-- 9 files changed, 9 insertions(+), 18 deletions(-) diff --git a/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart b/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart index fc488511..36013f51 100644 --- a/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart @@ -42,10 +42,9 @@ class ChannelDao extends DatabaseAccessor /// Updates all the channels using the new [channelList] data Future updateChannels(List channelList) => batch( - (it) => it.insertAll( + (it) => it.insertAllOnConflictUpdate( channels, channelList.map((c) => c.toEntity()).toList(), - mode: InsertMode.insertOrReplace, ), ); } diff --git a/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart b/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart index 9100e76d..c87b94d4 100644 --- a/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart @@ -45,13 +45,12 @@ class ChannelQueryDao extends DatabaseAccessor } await batch((it) { - it.insertAll( + it.insertAllOnConflictUpdate( channelQueries, cids .map((cid) => ChannelQueryEntity(queryHash: hash, channelCid: cid)) .toList(), - mode: InsertMode.insertOrReplace, ); }); }); diff --git a/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart b/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart index 0cef23b0..88a03b29 100644 --- a/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart @@ -26,7 +26,7 @@ class ConnectionEventDao extends DatabaseAccessor /// Update stored connection event with latest data Future updateConnectionEvent(Event event) => transaction(() async { final connectionInfo = await select(connectionEvents).getSingleOrNull(); - return into(connectionEvents).insert( + return into(connectionEvents).insertOnConflictUpdate( ConnectionEventEntity( id: 1, type: event.type, @@ -38,7 +38,6 @@ class ConnectionEventDao extends DatabaseAccessor unreadChannels: event.unreadChannels ?? connectionInfo?.unreadChannels, ), - mode: InsertMode.insertOrReplace, ); }); diff --git a/packages/stream_chat_persistence/lib/src/dao/member_dao.dart b/packages/stream_chat_persistence/lib/src/dao/member_dao.dart index 157b0a9a..1f39904c 100644 --- a/packages/stream_chat_persistence/lib/src/dao/member_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/member_dao.dart @@ -32,10 +32,9 @@ class MemberDao extends DatabaseAccessor /// Updates all the members using the new [memberList] data Future updateMembers(String cid, List memberList) async => batch( - (it) => it.insertAll( + (it) => it.insertAllOnConflictUpdate( members, memberList.map((m) => m.toEntity(cid: cid)).toList(), - mode: InsertMode.insertOrReplace, ), ); 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 c2e1cde2..eb02e8aa 100644 --- a/packages/stream_chat_persistence/lib/src/dao/message_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/message_dao.dart @@ -171,10 +171,9 @@ class MessageDao extends DatabaseAccessor /// the new [messageList] data Future updateMessages(String cid, List messageList) => batch( (batch) { - batch.insertAll( + batch.insertAllOnConflictUpdate( messages, messageList.map((it) => it.toEntity(cid: cid)).toList(), - mode: InsertMode.insertOrReplace, ); }, ); diff --git a/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart b/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart index af6497f9..e0c4b876 100644 --- a/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart @@ -170,10 +170,9 @@ class PinnedMessageDao extends DatabaseAccessor /// the new [messageList] data Future updateMessages(String cid, List messageList) => batch( (batch) { - batch.insertAll( + batch.insertAllOnConflictUpdate( pinnedMessages, messageList.map((it) => it.toPinnedEntity(cid: cid)).toList(), - mode: InsertMode.insertOrReplace, ); }, ); diff --git a/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart b/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart index 89da6081..c178ae03 100644 --- a/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart @@ -42,10 +42,9 @@ class ReactionDao extends DatabaseAccessor /// Updates the reactions data with the new [reactionList] data Future updateReactions(List reactionList) => batch((it) { - it.insertAll( + it.insertAllOnConflictUpdate( reactions, reactionList.map((r) => r.toEntity()).toList(), - mode: InsertMode.insertOrReplace, ); }); diff --git a/packages/stream_chat_persistence/lib/src/dao/read_dao.dart b/packages/stream_chat_persistence/lib/src/dao/read_dao.dart index 05d807fd..007cb3a7 100644 --- a/packages/stream_chat_persistence/lib/src/dao/read_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/read_dao.dart @@ -30,10 +30,9 @@ class ReadDao extends DatabaseAccessor with _$ReadDaoMixin { /// Updates the read data of a particular channel with /// the new [readList] data Future updateReads(String cid, List readList) => batch( - (it) => it.insertAll( + (it) => it.insertAllOnConflictUpdate( reads, readList.map((r) => r.toEntity(cid: cid)).toList(), - mode: InsertMode.insertOrReplace, ), ); } diff --git a/packages/stream_chat_persistence/lib/src/dao/user_dao.dart b/packages/stream_chat_persistence/lib/src/dao/user_dao.dart index 9cdff8e7..b1e29e7b 100644 --- a/packages/stream_chat_persistence/lib/src/dao/user_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/user_dao.dart @@ -14,10 +14,9 @@ class UserDao extends DatabaseAccessor with _$UserDaoMixin { /// Updates the users data with the new [userList] data Future updateUsers(List userList) => batch( - (it) => it.insertAll( + (it) => it.insertAllOnConflictUpdate( users, userList.map((u) => u.toEntity()).toList(), - mode: InsertMode.insertOrReplace, ), );