1
0
Fork 0
forked from Nexus/nexus

add and render HistoryVisibilityContent

This commit is contained in:
Henry Hiles 2026-05-26 19:22:53 -04:00
commit 70eba46c76
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
3 changed files with 47 additions and 0 deletions

View file

@ -14,6 +14,7 @@ import "package:nexus/models/content/encrypted.dart";
import "package:nexus/models/content/redaction.dart";
import "package:nexus/models/content/server_acl.dart";
import "package:nexus/models/content/topic.dart";
import "package:nexus/models/content/history_visibility.dart";
class Content {
final Error? parseError;
@ -44,6 +45,10 @@ enum EventType {
encryption("m.room.encryption", EncryptionContent.fromJson),
membership("m.room.member", MembershipContent.fromJson),
create("m.room.create", CreateContent.fromJson),
historyVisibility(
"m.room.history_visibility",
HistoryVisibilityContent.fromJson,
),
canonicalAlias("m.room.canonical_alias", CanonicalAliasContent.fromJson),
joinRules("m.room.join_rules", JoinRulesContent.fromJson),
powerLevels("m.room.power_levels", PowerLevelsContent.fromJson),

View file

@ -0,0 +1,19 @@
import "package:freezed_annotation/freezed_annotation.dart";
import "package:nexus/models/content/content.dart";
part "history_visibility.freezed.dart";
part "history_visibility.g.dart";
@freezed
abstract class HistoryVisibilityContent extends Content
with _$HistoryVisibilityContent {
HistoryVisibilityContent._();
factory HistoryVisibilityContent({
required HistoryVisibility historyVisibility,
}) = _HistoryVisibilityContent;
factory HistoryVisibilityContent.fromJson(Map<String, Object?> json) =>
_$HistoryVisibilityContentFromJson(json);
}
@JsonEnum(fieldRename: FieldRename.snake)
enum HistoryVisibility { invited, joined, shared, worldReadable }