Skip to content

Commit 7ea6eac

Browse files
committed
api: Add InitialSnapshot.realmTopicsPolicy
1 parent 1699aa5 commit 7ea6eac

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

lib/api/model/initial_snapshot.dart

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ class InitialSnapshot {
8888
/// Search for "realm_wildcard_mention_policy" in https://zulip.com/api/register-queue.
8989
final RealmWildcardMentionPolicy realmWildcardMentionPolicy;
9090

91+
final RealmTopicsPolicy realmTopicsPolicy;
92+
9193
final bool realmMandatoryTopics;
9294

9395
final String realmName;
@@ -180,6 +182,7 @@ class InitialSnapshot {
180182
required this.realmCanDeleteOwnMessageGroup,
181183
required this.realmDeleteOwnMessagePolicy,
182184
required this.realmWildcardMentionPolicy,
185+
required this.realmTopicsPolicy,
183186
required this.realmMandatoryTopics,
184187
required this.realmName,
185188
required this.realmWaitingPeriodThreshold,
@@ -204,6 +207,22 @@ class InitialSnapshot {
204207
Map<String, dynamic> toJson() => _$InitialSnapshotToJson(this);
205208
}
206209

210+
/// A value of [InitialSnapshot.realmTopicsPolicy].
211+
///
212+
/// For docs, search for "realm_topics_policy"
213+
/// in <https://zulip.com/api/register-queue#response>.
214+
@JsonEnum(fieldRename: FieldRename.snake)
215+
enum RealmTopicsPolicy {
216+
allowEmptyTopic,
217+
disableEmptyTopic;
218+
219+
static RealmTopicsPolicy fromRawString(String raw) => _byRawString[raw] ?? allowEmptyTopic;
220+
221+
static final _byRawString = _$RealmTopicsPolicyEnumMap.map((key, value) => MapEntry(value, key));
222+
223+
String toJson() => _$RealmTopicsPolicyEnumMap[this]!;
224+
}
225+
207226
@JsonEnum(valueField: 'apiValue')
208227
enum RealmWildcardMentionPolicy {
209228
everyone(apiValue: 1),

lib/api/model/initial_snapshot.g.dart

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

test/example_data.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,6 +1334,7 @@ InitialSnapshot initialSnapshot({
13341334
GroupSettingValue? realmCanDeleteOwnMessageGroup,
13351335
RealmDeleteOwnMessagePolicy? realmDeleteOwnMessagePolicy,
13361336
RealmWildcardMentionPolicy? realmWildcardMentionPolicy,
1337+
RealmTopicsPolicy? realmTopicsPolicy,
13371338
bool? realmMandatoryTopics,
13381339
String? realmName,
13391340
int? realmWaitingPeriodThreshold,
@@ -1397,6 +1398,7 @@ InitialSnapshot initialSnapshot({
13971398
realmCanDeleteOwnMessageGroup: realmCanDeleteOwnMessageGroup,
13981399
realmDeleteOwnMessagePolicy: realmDeleteOwnMessagePolicy,
13991400
realmWildcardMentionPolicy: realmWildcardMentionPolicy ?? RealmWildcardMentionPolicy.everyone,
1401+
realmTopicsPolicy: realmTopicsPolicy ?? RealmTopicsPolicy.allowEmptyTopic,
14001402
realmMandatoryTopics: realmMandatoryTopics ?? true,
14011403
realmName: realmName ?? 'Example Zulip organization',
14021404
realmWaitingPeriodThreshold: realmWaitingPeriodThreshold ?? 0,

0 commit comments

Comments
 (0)