Skip to content

Commit 95dc22c

Browse files
committed
model: Add ZulipStream.canSendMessageGroup, new in FL 333
1 parent fe2ce0b commit 95dc22c

File tree

6 files changed

+28
-0
lines changed

6 files changed

+28
-0
lines changed

lib/api/model/events.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -680,6 +680,7 @@ class ChannelUpdateEvent extends ChannelEvent {
680680
case ChannelPropertyName.canAddSubscribersGroup:
681681
case ChannelPropertyName.canDeleteAnyMessageGroup:
682682
case ChannelPropertyName.canDeleteOwnMessageGroup:
683+
case ChannelPropertyName.canSendMessageGroup:
683684
case ChannelPropertyName.canSubscribeGroup:
684685
return GroupSettingValue.fromJson(value);
685686
case ChannelPropertyName.streamWeeklyTraffic:

lib/api/model/events.g.dart

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/api/model/model.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,7 @@ class ZulipStream {
655655
GroupSettingValue? canAddSubscribersGroup; // TODO(server-10)
656656
GroupSettingValue? canDeleteAnyMessageGroup; // TODO(server-11)
657657
GroupSettingValue? canDeleteOwnMessageGroup; // TODO(server-11)
658+
GroupSettingValue? canSendMessageGroup; // TODO(server-10)
658659
GroupSettingValue? canSubscribeGroup; // TODO(server-10)
659660

660661
// TODO(server-8): added in FL 199, was previously only on [Subscription] objects
@@ -676,6 +677,7 @@ class ZulipStream {
676677
required this.canAddSubscribersGroup,
677678
required this.canDeleteAnyMessageGroup,
678679
required this.canDeleteOwnMessageGroup,
680+
required this.canSendMessageGroup,
679681
required this.canSubscribeGroup,
680682
required this.streamWeeklyTraffic,
681683
});
@@ -698,6 +700,7 @@ class ZulipStream {
698700
canAddSubscribersGroup: subscription.canAddSubscribersGroup,
699701
canDeleteAnyMessageGroup: subscription.canDeleteAnyMessageGroup,
700702
canDeleteOwnMessageGroup: subscription.canDeleteOwnMessageGroup,
703+
canSendMessageGroup: subscription.canSendMessageGroup,
701704
canSubscribeGroup: subscription.canSubscribeGroup,
702705
streamWeeklyTraffic: subscription.streamWeeklyTraffic,
703706
);
@@ -733,6 +736,7 @@ enum ChannelPropertyName {
733736
canAddSubscribersGroup,
734737
canDeleteAnyMessageGroup,
735738
canDeleteOwnMessageGroup,
739+
canSendMessageGroup,
736740
canSubscribeGroup,
737741
streamWeeklyTraffic;
738742

@@ -817,6 +821,7 @@ class Subscription extends ZulipStream {
817821
required super.canAddSubscribersGroup,
818822
required super.canDeleteAnyMessageGroup,
819823
required super.canDeleteOwnMessageGroup,
824+
required super.canSendMessageGroup,
820825
required super.canSubscribeGroup,
821826
required super.streamWeeklyTraffic,
822827
required this.desktopNotifications,

lib/api/model/model.g.dart

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/model/channel.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,8 @@ class ChannelStoreImpl extends HasUserStore with ChannelStore {
405405
stream.canDeleteAnyMessageGroup = event.value as GroupSettingValue;
406406
case ChannelPropertyName.canDeleteOwnMessageGroup:
407407
stream.canDeleteOwnMessageGroup = event.value as GroupSettingValue;
408+
case ChannelPropertyName.canSendMessageGroup:
409+
stream.canSendMessageGroup = event.value as GroupSettingValue;
408410
case ChannelPropertyName.canSubscribeGroup:
409411
stream.canSubscribeGroup = event.value as GroupSettingValue;
410412
case ChannelPropertyName.streamWeeklyTraffic:

test/example_data.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,9 +461,16 @@ ZulipStream stream({
461461
GroupSettingValue? canAddSubscribersGroup,
462462
GroupSettingValue? canDeleteAnyMessageGroup,
463463
GroupSettingValue? canDeleteOwnMessageGroup,
464+
GroupSettingValue? canSendMessageGroup,
464465
GroupSettingValue? canSubscribeGroup,
465466
int? streamWeeklyTraffic,
466467
}) {
468+
if (channelPostPolicy == null) {
469+
// Set a default for realmCanDeleteOwnMessageGroup, but only if we're
470+
// not trying to test legacy behavior with channelPostPolicy.
471+
canSendMessageGroup ??= groupSetting(members: [selfUser.userId]);
472+
}
473+
467474
_checkPositive(streamId, 'stream ID');
468475
_checkPositive(firstMessageId, 'message ID');
469476
var effectiveStreamId = streamId ?? _nextStreamId();
@@ -485,6 +492,7 @@ ZulipStream stream({
485492
canAddSubscribersGroup: canAddSubscribersGroup ?? GroupSettingValueNamed(nobodyGroup.id),
486493
canDeleteAnyMessageGroup: canDeleteAnyMessageGroup ?? GroupSettingValueNamed(nobodyGroup.id),
487494
canDeleteOwnMessageGroup: canDeleteOwnMessageGroup ?? GroupSettingValueNamed(nobodyGroup.id),
495+
canSendMessageGroup: canSendMessageGroup,
488496
canSubscribeGroup: canSubscribeGroup ?? GroupSettingValueNamed(nobodyGroup.id),
489497
streamWeeklyTraffic: streamWeeklyTraffic,
490498
);
@@ -528,6 +536,7 @@ Subscription subscription(
528536
canAddSubscribersGroup: stream.canAddSubscribersGroup,
529537
canDeleteAnyMessageGroup: stream.canDeleteAnyMessageGroup,
530538
canDeleteOwnMessageGroup: stream.canDeleteOwnMessageGroup,
539+
canSendMessageGroup: stream.canSendMessageGroup,
531540
canSubscribeGroup: stream.canSubscribeGroup,
532541
streamWeeklyTraffic: stream.streamWeeklyTraffic,
533542
desktopNotifications: desktopNotifications ?? false,
@@ -1206,6 +1215,7 @@ ChannelUpdateEvent channelUpdateEvent(
12061215
case ChannelPropertyName.canAddSubscribersGroup:
12071216
case ChannelPropertyName.canDeleteAnyMessageGroup:
12081217
case ChannelPropertyName.canDeleteOwnMessageGroup:
1218+
case ChannelPropertyName.canSendMessageGroup:
12091219
case ChannelPropertyName.canSubscribeGroup:
12101220
assert(value is GroupSettingValue);
12111221
case ChannelPropertyName.streamWeeklyTraffic:

0 commit comments

Comments
 (0)