Skip to content

Commit 1225c09

Browse files
committed
channel: Add per-channel restrict-message-deleting fields
1 parent 1c10f9a commit 1225c09

File tree

6 files changed

+44
-0
lines changed

6 files changed

+44
-0
lines changed

lib/api/model/events.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,8 @@ class ChannelUpdateEvent extends ChannelEvent {
675675
case ChannelPropertyName.channelPostPolicy:
676676
return ChannelPostPolicy.fromApiValue(value as int);
677677
case ChannelPropertyName.canAddSubscribersGroup:
678+
case ChannelPropertyName.canDeleteAnyMessageGroup:
679+
case ChannelPropertyName.canDeleteOwnMessageGroup:
678680
case ChannelPropertyName.canSubscribeGroup:
679681
return GroupSettingValue.fromJson(value);
680682
case ChannelPropertyName.streamWeeklyTraffic:

lib/api/model/events.g.dart

Lines changed: 2 additions & 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: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -642,6 +642,8 @@ class ZulipStream {
642642
// final bool isAnnouncementOnly; // deprecated for `channelPostPolicy`; ignore
643643

644644
GroupSettingValue? canAddSubscribersGroup; // TODO(server-10)
645+
GroupSettingValue? canDeleteAnyMessageGroup; // TODO(server-11)
646+
GroupSettingValue? canDeleteOwnMessageGroup; // TODO(server-11)
645647
GroupSettingValue? canSubscribeGroup; // TODO(server-10)
646648

647649
// TODO(server-8): added in FL 199, was previously only on [Subscription] objects
@@ -660,6 +662,8 @@ class ZulipStream {
660662
required this.messageRetentionDays,
661663
required this.channelPostPolicy,
662664
required this.canAddSubscribersGroup,
665+
required this.canDeleteAnyMessageGroup,
666+
required this.canDeleteOwnMessageGroup,
663667
required this.canSubscribeGroup,
664668
required this.streamWeeklyTraffic,
665669
});
@@ -679,6 +683,8 @@ class ZulipStream {
679683
messageRetentionDays: subscription.messageRetentionDays,
680684
channelPostPolicy: subscription.channelPostPolicy,
681685
canAddSubscribersGroup: subscription.canAddSubscribersGroup,
686+
canDeleteAnyMessageGroup: subscription.canDeleteAnyMessageGroup,
687+
canDeleteOwnMessageGroup: subscription.canDeleteOwnMessageGroup,
682688
canSubscribeGroup: subscription.canSubscribeGroup,
683689
streamWeeklyTraffic: subscription.streamWeeklyTraffic,
684690
);
@@ -711,6 +717,8 @@ enum ChannelPropertyName {
711717
@JsonValue('stream_post_policy')
712718
channelPostPolicy,
713719
canAddSubscribersGroup,
720+
canDeleteAnyMessageGroup,
721+
canDeleteOwnMessageGroup,
714722
canSubscribeGroup,
715723
streamWeeklyTraffic;
716724

@@ -792,6 +800,8 @@ class Subscription extends ZulipStream {
792800
required super.messageRetentionDays,
793801
required super.channelPostPolicy,
794802
required super.canAddSubscribersGroup,
803+
required super.canDeleteAnyMessageGroup,
804+
required super.canDeleteOwnMessageGroup,
795805
required super.canSubscribeGroup,
796806
required super.streamWeeklyTraffic,
797807
required this.desktopNotifications,

lib/api/model/model.g.dart

Lines changed: 18 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: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,10 @@ class ChannelStoreImpl extends HasUserStore with ChannelStore {
378378
stream.channelPostPolicy = event.value as ChannelPostPolicy;
379379
case ChannelPropertyName.canAddSubscribersGroup:
380380
stream.canAddSubscribersGroup = event.value as GroupSettingValue;
381+
case ChannelPropertyName.canDeleteAnyMessageGroup:
382+
stream.canDeleteAnyMessageGroup = event.value as GroupSettingValue;
383+
case ChannelPropertyName.canDeleteOwnMessageGroup:
384+
stream.canDeleteOwnMessageGroup = event.value as GroupSettingValue;
381385
case ChannelPropertyName.canSubscribeGroup:
382386
stream.canSubscribeGroup = event.value as GroupSettingValue;
383387
case ChannelPropertyName.streamWeeklyTraffic:

test/example_data.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,8 @@ ZulipStream stream({
449449
int? messageRetentionDays,
450450
ChannelPostPolicy? channelPostPolicy,
451451
GroupSettingValue? canAddSubscribersGroup,
452+
GroupSettingValue? canDeleteAnyMessageGroup,
453+
GroupSettingValue? canDeleteOwnMessageGroup,
452454
GroupSettingValue? canSubscribeGroup,
453455
int? streamWeeklyTraffic,
454456
}) {
@@ -470,6 +472,8 @@ ZulipStream stream({
470472
messageRetentionDays: messageRetentionDays,
471473
channelPostPolicy: channelPostPolicy ?? ChannelPostPolicy.any,
472474
canAddSubscribersGroup: canAddSubscribersGroup ?? GroupSettingValueNamed(nobodyGroup.id),
475+
canDeleteAnyMessageGroup: canDeleteAnyMessageGroup ?? GroupSettingValueNamed(nobodyGroup.id),
476+
canDeleteOwnMessageGroup: canDeleteOwnMessageGroup ?? GroupSettingValueNamed(nobodyGroup.id),
473477
canSubscribeGroup: canSubscribeGroup ?? GroupSettingValueNamed(nobodyGroup.id),
474478
streamWeeklyTraffic: streamWeeklyTraffic,
475479
);
@@ -510,6 +514,8 @@ Subscription subscription(
510514
messageRetentionDays: stream.messageRetentionDays,
511515
channelPostPolicy: stream.channelPostPolicy,
512516
canAddSubscribersGroup: stream.canAddSubscribersGroup,
517+
canDeleteAnyMessageGroup: stream.canDeleteAnyMessageGroup,
518+
canDeleteOwnMessageGroup: stream.canDeleteOwnMessageGroup,
513519
canSubscribeGroup: stream.canSubscribeGroup,
514520
streamWeeklyTraffic: stream.streamWeeklyTraffic,
515521
desktopNotifications: desktopNotifications ?? false,
@@ -1183,6 +1189,8 @@ ChannelUpdateEvent channelUpdateEvent(
11831189
case ChannelPropertyName.channelPostPolicy:
11841190
assert(value is ChannelPostPolicy);
11851191
case ChannelPropertyName.canAddSubscribersGroup:
1192+
case ChannelPropertyName.canDeleteAnyMessageGroup:
1193+
case ChannelPropertyName.canDeleteOwnMessageGroup:
11861194
case ChannelPropertyName.canSubscribeGroup:
11871195
assert(value is GroupSettingValue);
11881196
case ChannelPropertyName.streamWeeklyTraffic:

0 commit comments

Comments
 (0)