Migrated llc Lists to be nullable instead of being an empty array

This commit is contained in:
Ayush Shekhar
2022-04-26 21:11:24 +05:30
parent 381e1c06f5
commit b6bb3608e5
23 changed files with 178 additions and 153 deletions
@@ -34,14 +34,20 @@ class MemberDao extends DatabaseAccessor<DriftChatDatabase>
bulkUpdateMembers({cid: memberList});
/// Bulk updates the members data of multiple channels
Future<void> bulkUpdateMembers(Map<String, List<Member>> channelWithMembers) {
Future<void> bulkUpdateMembers(
Map<String, List<Member>?> channelWithMembers,
) {
final entities = channelWithMembers.entries
.map((entry) => entry.value.map(
.map((entry) =>
(entry.value?.map(
(member) => member.toEntity(cid: entry.key),
))
)) ??
[])
.expand((it) => it)
.toList(growable: false);
return batch((batch) => batch.insertAllOnConflictUpdate(members, entities));
return batch(
(batch) => batch.insertAllOnConflictUpdate(members, entities),
);
}
/// Deletes all the members whose [Members.channelCid] is present in [cids]
@@ -183,12 +183,14 @@ class MessageDao extends DatabaseAccessor<DriftChatDatabase>
/// Bulk updates the message data of multiple channels
Future<void> bulkUpdateMessages(
Map<String, List<Message>> channelWithMessages,
Map<String, List<Message>?> channelWithMessages,
) {
final entities = channelWithMessages.entries
.map((entry) => entry.value.map(
.map((entry) =>
entry.value?.map(
(message) => message.toEntity(cid: entry.key),
))
) ??
[])
.expand((it) => it)
.toList(growable: false);
return batch(
@@ -183,12 +183,14 @@ class PinnedMessageDao extends DatabaseAccessor<DriftChatDatabase>
/// Bulk updates the message data of multiple channels
Future<void> bulkUpdateMessages(
Map<String, List<Message>> channelWithMessages,
Map<String, List<Message>?> channelWithMessages,
) {
final entities = channelWithMessages.entries
.map((entry) => entry.value.map(
.map((entry) =>
entry.value?.map(
(message) => message.toPinnedEntity(cid: entry.key),
))
) ??
[])
.expand((it) => it)
.toList(growable: false);
return batch(
@@ -33,11 +33,13 @@ class ReadDao extends DatabaseAccessor<DriftChatDatabase> with _$ReadDaoMixin {
bulkUpdateReads({cid: readList});
/// Bulk updates the reads data of multiple channels
Future<void> bulkUpdateReads(Map<String, List<Read>> channelWithReads) {
Future<void> bulkUpdateReads(Map<String, List<Read>?> channelWithReads) {
final entities = channelWithReads.entries
.map((entry) => entry.value.map(
.map((entry) =>
entry.value?.map(
(read) => read.toEntity(cid: entry.key),
))
) ??
[])
.expand((it) => it)
.toList(growable: false);
return batch((batch) => batch.insertAllOnConflictUpdate(reads, entities));
@@ -56,7 +56,7 @@ class DriftChatDatabase extends _$DriftChatDatabase {
// you should bump this number whenever you change or add a table definition.
@override
int get schemaVersion => 6;
int get schemaVersion => 7;
@override
MigrationStrategy get migration => MigrationStrategy(
@@ -295,21 +295,21 @@ class StreamChatPersistenceClient extends ChatPersistenceClient {
}
@override
Future<void> bulkUpdateMembers(Map<String, List<Member>> members) {
Future<void> bulkUpdateMembers(Map<String, List<Member>?> members) {
assert(_debugIsConnected, '');
_logger.info('bulkUpdateMembers');
return _readProtected(() => db!.memberDao.bulkUpdateMembers(members));
}
@override
Future<void> bulkUpdateMessages(Map<String, List<Message>> messages) {
Future<void> bulkUpdateMessages(Map<String, List<Message>?> messages) {
assert(_debugIsConnected, '');
_logger.info('bulkUpdateMessages');
return _readProtected(() => db!.messageDao.bulkUpdateMessages(messages));
}
@override
Future<void> bulkUpdatePinnedMessages(Map<String, List<Message>> messages) {
Future<void> bulkUpdatePinnedMessages(Map<String, List<Message>?> messages) {
assert(_debugIsConnected, '');
_logger.info('bulkUpdatePinnedMessages');
return _readProtected(
@@ -334,7 +334,7 @@ class StreamChatPersistenceClient extends ChatPersistenceClient {
}
@override
Future<void> bulkUpdateReads(Map<String, List<Read>> reads) {
Future<void> bulkUpdateReads(Map<String, List<Read>?> reads) {
assert(_debugIsConnected, '');
_logger.info('bulkUpdateReads');
return _readProtected(() => db!.readDao.bulkUpdateReads(reads));