Skip to content

Commit 4301484

Browse files
committed
Merge remote-tracking branch 'origin/master' into v10.0.0
# Conflicts: # melos.yaml # packages/stream_chat/CHANGELOG.md # packages/stream_chat/example/pubspec.yaml # packages/stream_chat/lib/version.dart # packages/stream_chat/pubspec.yaml # packages/stream_chat_flutter/CHANGELOG.md # packages/stream_chat_flutter/example/pubspec.yaml # packages/stream_chat_flutter/pubspec.yaml # packages/stream_chat_flutter_core/CHANGELOG.md # packages/stream_chat_flutter_core/example/pubspec.yaml # packages/stream_chat_flutter_core/pubspec.yaml # packages/stream_chat_localizations/CHANGELOG.md # packages/stream_chat_localizations/example/pubspec.yaml # packages/stream_chat_localizations/pubspec.yaml # packages/stream_chat_persistence/CHANGELOG.md # packages/stream_chat_persistence/example/pubspec.yaml # packages/stream_chat_persistence/lib/src/dao/draft_message_dao.dart # packages/stream_chat_persistence/lib/src/dao/message_dao.dart # packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart # packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.dart # packages/stream_chat_persistence/lib/src/dao/poll_dao.dart # packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart # packages/stream_chat_persistence/lib/src/db/query_utils.dart # packages/stream_chat_persistence/pubspec.yaml # packages/stream_chat_persistence/test/src/dao/draft_message_dao_test.dart # packages/stream_chat_persistence/test/src/dao/message_dao_test.dart # packages/stream_chat_persistence/test/src/dao/pinned_message_dao_test.dart # packages/stream_chat_persistence/test/src/dao/pinned_message_reaction_dao_test.dart # packages/stream_chat_persistence/test/src/dao/poll_dao_test.dart # packages/stream_chat_persistence/test/src/dao/poll_vote_dao_test.dart # packages/stream_chat_persistence/test/src/dao/reaction_dao_test.dart # sample_app/pubspec.yaml
2 parents ad4ed9b + e19b1ce commit 4301484

5 files changed

Lines changed: 31 additions & 4 deletions

File tree

packages/stream_chat/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Upcoming
1+
## Upcoming Beta
22

33
✅ Added
44

packages/stream_chat_flutter/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Upcoming Beta Changes
1+
## Upcoming Beta
22

33
🐞 Fixed
44

packages/stream_chat_flutter_core/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Upcoming Beta Changes
1+
## Upcoming Beta
22

33
🛑️ Breaking
44

packages/stream_chat_localizations/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Upcoming
1+
## Upcoming Beta
22

33
🛑️ Breaking
44

packages/stream_chat_persistence/lib/src/dao/poll_vote_dao.dart

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,33 @@ class PollVoteDao extends DatabaseAccessor<DriftChatDatabase> with _$PollVoteDao
6060
return grouped;
6161
}
6262

63+
/// Returns poll votes for every id in [pollIds], grouped by poll id.
64+
Future<Map<String, List<PollVote>>> getPollVotesForPolls(
65+
List<String> pollIds,
66+
) async {
67+
if (pollIds.isEmpty) return const {};
68+
final grouped = <String, List<PollVote>>{
69+
for (final id in pollIds) id: <PollVote>[],
70+
};
71+
for (final chunk in chunked(pollIds)) {
72+
final where = pollVotes.pollId.isIn(chunk);
73+
final rows = await (select(pollVotes).join([
74+
leftOuterJoin(users, pollVotes.userId.equalsExp(users.id)),
75+
])
76+
..where(where)
77+
..orderBy([OrderingTerm.asc(pollVotes.createdAt)]))
78+
.map((row) {
79+
final userEntity = row.readTableOrNull(users);
80+
final pollVoteEntity = row.readTable(pollVotes);
81+
return pollVoteEntity.toPollVote(user: userEntity?.toUser());
82+
}).get();
83+
for (final v in rows) {
84+
grouped[v.pollId]!.add(v);
85+
}
86+
}
87+
return grouped;
88+
}
89+
6390
/// Updates the poll votes data with the new [pollVoteList] data
6491
Future<void> updatePollVotes(List<PollVote> pollVoteList) => batch(
6592
(it) => it.insertAllOnConflictUpdate(

0 commit comments

Comments
 (0)