From f11fe491349854526f8d13e8b62458baeb3b23b6 Mon Sep 17 00:00:00 2001 From: "Emma [it/its]@Rory&" Date: Fri, 9 Feb 2024 16:30:49 +0100 Subject: Consistently use EventId for event types --- .../Spec/Ephemeral/PresenceStateEventContent.cs | 19 ++++++++++++++----- .../Spec/Ephemeral/RoomTypingEventContent.cs | 2 +- LibMatrix.EventTypes/Spec/RoomMessageEventContent.cs | 5 +++-- .../Spec/RoomMessageReactionEventContent.cs | 2 +- .../Spec/State/Policy/PolicyRuleStateEventContent.cs | 18 +++++++----------- .../Spec/State/RoomInfo/RoomAliasEventContent.cs | 2 +- .../Spec/State/RoomInfo/RoomAvatarEventContent.cs | 2 +- .../State/RoomInfo/RoomCanonicalAliasEventContent.cs | 2 +- .../Spec/State/RoomInfo/RoomCreateEventContent.cs | 2 +- .../Spec/State/RoomInfo/RoomEncryptionEventContent.cs | 7 +++++-- .../State/RoomInfo/RoomGuestAccessEventContent.cs | 5 +++-- .../RoomInfo/RoomHistoryVisibilityEventContent.cs | 5 +++-- .../Spec/State/RoomInfo/RoomJoinRulesEventContent.cs | 7 ++++--- .../Spec/State/RoomInfo/RoomMemberEventContent.cs | 2 +- .../Spec/State/RoomInfo/RoomNameEventContent.cs | 2 +- .../Spec/State/RoomInfo/RoomPinnedEventContent.cs | 6 ++++-- .../Spec/State/RoomInfo/RoomPowerLevelEventContent.cs | 8 +++----- .../Spec/State/RoomInfo/RoomServerACLEventContent.cs | 4 ++-- .../Spec/State/RoomInfo/RoomTopicEventContent.cs | 5 +++-- .../Spec/State/Space/SpaceChildEventContent.cs | 8 ++++++-- .../Spec/State/Space/SpaceParentEventContent.cs | 6 ++++-- 21 files changed, 69 insertions(+), 50 deletions(-) (limited to 'LibMatrix.EventTypes/Spec') diff --git a/LibMatrix.EventTypes/Spec/Ephemeral/PresenceStateEventContent.cs b/LibMatrix.EventTypes/Spec/Ephemeral/PresenceStateEventContent.cs index 1e98e12..fc2c355 100644 --- a/LibMatrix.EventTypes/Spec/Ephemeral/PresenceStateEventContent.cs +++ b/LibMatrix.EventTypes/Spec/Ephemeral/PresenceStateEventContent.cs @@ -6,16 +6,25 @@ namespace LibMatrix.EventTypes.Spec.Ephemeral; public class PresenceEventContent : EventContent { public const string EventId = "m.presence"; - [JsonPropertyName("presence"), JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("presence")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? Presence { get; set; } + [JsonPropertyName("last_active_ago")] public long LastActiveAgo { get; set; } + [JsonPropertyName("currently_active")] public bool CurrentlyActive { get; set; } - [JsonPropertyName("status_msg"), JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + + [JsonPropertyName("status_msg")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? StatusMessage { get; set; } - [JsonPropertyName("avatar_url"), JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + + [JsonPropertyName("avatar_url")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? AvatarUrl { get; set; } - [JsonPropertyName("displayname"), JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + + [JsonPropertyName("displayname")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? DisplayName { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/Ephemeral/RoomTypingEventContent.cs b/LibMatrix.EventTypes/Spec/Ephemeral/RoomTypingEventContent.cs index 48739f2..494936d 100644 --- a/LibMatrix.EventTypes/Spec/Ephemeral/RoomTypingEventContent.cs +++ b/LibMatrix.EventTypes/Spec/Ephemeral/RoomTypingEventContent.cs @@ -8,4 +8,4 @@ public class RoomTypingEventContent : EventContent { [JsonPropertyName("user_ids")] public string[]? UserIds { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/RoomMessageEventContent.cs b/LibMatrix.EventTypes/Spec/RoomMessageEventContent.cs index 1e27bce..f3e3f4f 100644 --- a/LibMatrix.EventTypes/Spec/RoomMessageEventContent.cs +++ b/LibMatrix.EventTypes/Spec/RoomMessageEventContent.cs @@ -37,10 +37,11 @@ public class RoomMessageEventContent : TimelineEventContent { public class FileInfoStruct { [JsonPropertyName("mimetype")] public string? MimeType { get; set; } + [JsonPropertyName("size")] public long Size { get; set; } + [JsonPropertyName("thumbnail_url")] public string? ThumbnailUrl { get; set; } } - -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/RoomMessageReactionEventContent.cs b/LibMatrix.EventTypes/Spec/RoomMessageReactionEventContent.cs index 64b4f20..e2c0c8f 100644 --- a/LibMatrix.EventTypes/Spec/RoomMessageReactionEventContent.cs +++ b/LibMatrix.EventTypes/Spec/RoomMessageReactionEventContent.cs @@ -3,4 +3,4 @@ namespace LibMatrix.EventTypes.Spec; [MatrixEvent(EventName = EventId)] public class RoomMessageReactionEventContent : TimelineEventContent { public const string EventId = "m.reaction"; -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs b/LibMatrix.EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs index 5cc5957..6006048 100644 --- a/LibMatrix.EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs @@ -29,9 +29,7 @@ public class RoomPolicyRuleEventContent : PolicyRuleEventContent { } public abstract class PolicyRuleEventContent : EventContent { - public PolicyRuleEventContent() { - Console.WriteLine($"init policy {GetType().Name}"); - } + public PolicyRuleEventContent() => Console.WriteLine($"init policy {GetType().Name}"); private string? _reason; /// @@ -42,25 +40,23 @@ public abstract class PolicyRuleEventContent : EventContent { [FriendlyName(Name = "Entity")] public string? Entity { get; set; } - private bool init; + /// /// Reason this user is banned /// [JsonPropertyName("reason")] [FriendlyName(Name = "Reason")] public virtual string? Reason { - get { + get => // Console.WriteLine($"Read policy reason: {_reason}"); - return _reason; - } - set { + _reason; + set => // Console.WriteLine($"Set policy reason: {value}"); // if(init) - // Console.WriteLine(string.Join('\n', Environment.StackTrace.Split('\n')[..5])); + // Console.WriteLine(string.Join('\n', Environment.StackTrace.Split('\n')[..5])); // init = true; _reason = value; - } } /// @@ -86,7 +82,7 @@ public abstract class PolicyRuleEventContent : EventContent { public DateTime? ExpiryDateTime { get => Expiry == null ? null : DateTimeOffset.FromUnixTimeMilliseconds(Expiry.Value).DateTime; set { - if(value is not null) + if (value is not null) Expiry = ((DateTimeOffset)value).ToUnixTimeMilliseconds(); } } diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomAliasEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomAliasEventContent.cs index 14c7cf6..4e82ac1 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomAliasEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomAliasEventContent.cs @@ -8,4 +8,4 @@ public class RoomAliasEventContent : EventContent { [JsonPropertyName("aliases")] public List? Aliases { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomAvatarEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomAvatarEventContent.cs index 62de70c..c718826 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomAvatarEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomAvatarEventContent.cs @@ -25,4 +25,4 @@ public class RoomAvatarEventContent : EventContent { [JsonPropertyName("size")] public int? Size { get; set; } } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomCanonicalAliasEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomCanonicalAliasEventContent.cs index dd96016..93f13ac 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomCanonicalAliasEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomCanonicalAliasEventContent.cs @@ -11,4 +11,4 @@ public class RoomCanonicalAliasEventContent : EventContent { [JsonPropertyName("alt_aliases")] public string[]? AltAliases { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomCreateEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomCreateEventContent.cs index 02867e4..c619d0e 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomCreateEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomCreateEventContent.cs @@ -28,4 +28,4 @@ public class RoomCreateEventContent : EventContent { [JsonPropertyName("event_id")] public string? EventId { get; set; } } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomEncryptionEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomEncryptionEventContent.cs index 5ddd7f3..b49abfa 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomEncryptionEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomEncryptionEventContent.cs @@ -2,13 +2,16 @@ using System.Text.Json.Serialization; namespace LibMatrix.EventTypes.Spec.State; -[MatrixEvent(EventName = "m.room.encryption")] +[MatrixEvent(EventName = EventId)] public class RoomEncryptionEventContent : EventContent { public const string EventId = "m.room.encryption"; + [JsonPropertyName("algorithm")] public string? Algorithm { get; set; } + [JsonPropertyName("rotation_period_ms")] public ulong? RotationPeriodMs { get; set; } + [JsonPropertyName("rotation_period_msgs")] public ulong? RotationPeriodMsgs { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomGuestAccessEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomGuestAccessEventContent.cs index 5e6e4d2..a7811bf 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomGuestAccessEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomGuestAccessEventContent.cs @@ -2,9 +2,10 @@ using System.Text.Json.Serialization; namespace LibMatrix.EventTypes.Spec.State; -[MatrixEvent(EventName = "m.room.guest_access")] +[MatrixEvent(EventName = EventId)] public class RoomGuestAccessEventContent : EventContent { public const string EventId = "m.room.guest_access"; + [JsonPropertyName("guest_access")] public string GuestAccess { get; set; } @@ -13,4 +14,4 @@ public class RoomGuestAccessEventContent : EventContent { get => GuestAccess == "can_join"; set => GuestAccess = value ? "can_join" : "forbidden"; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomHistoryVisibilityEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomHistoryVisibilityEventContent.cs index c523e5e..7676dad 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomHistoryVisibilityEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomHistoryVisibilityEventContent.cs @@ -2,9 +2,10 @@ using System.Text.Json.Serialization; namespace LibMatrix.EventTypes.Spec.State; -[MatrixEvent(EventName = "m.room.history_visibility")] +[MatrixEvent(EventName = EventId)] public class RoomHistoryVisibilityEventContent : EventContent { public const string EventId = "m.room.history_visibility"; + [JsonPropertyName("history_visibility")] public string HistoryVisibility { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs index 981d927..b557e47 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs @@ -2,9 +2,10 @@ using System.Text.Json.Serialization; namespace LibMatrix.EventTypes.Spec.State; -[MatrixEvent(EventName = "m.room.join_rules")] +[MatrixEvent(EventName = EventId)] public class RoomJoinRulesEventContent : EventContent { public const string EventId = "m.room.join_rules"; + /// /// one of ["public", "invite", "knock", "restricted", "knock_restricted"] /// "private" is reserved without implementation! @@ -12,7 +13,7 @@ public class RoomJoinRulesEventContent : EventContent { /// [JsonPropertyName("join_rule")] public string JoinRuleValue { get; set; } - + [JsonIgnore] public JoinRules JoinRule { get => JoinRuleValue switch { @@ -52,4 +53,4 @@ public class RoomJoinRulesEventContent : EventContent { KnockRestricted, Private // reserved without implementation! } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomMemberEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomMemberEventContent.cs index 1a64f40..31983e0 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomMemberEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomMemberEventContent.cs @@ -26,4 +26,4 @@ public class RoomMemberEventContent : EventContent { [JsonPropertyName("join_authorised_via_users_server")] public string? JoinAuthorisedViaUsersServer { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomNameEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomNameEventContent.cs index 1c4513b..3ea5730 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomNameEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomNameEventContent.cs @@ -8,4 +8,4 @@ public class RoomNameEventContent : EventContent { [JsonPropertyName("name")] public string? Name { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomPinnedEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomPinnedEventContent.cs index b033d82..b4474e9 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomPinnedEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomPinnedEventContent.cs @@ -2,8 +2,10 @@ using System.Text.Json.Serialization; namespace LibMatrix.EventTypes.Spec.State; -[MatrixEvent(EventName = "m.room.pinned_events")] +[MatrixEvent(EventName = EventId)] public class RoomPinnedEventContent : EventContent { + public const string EventId = "m.room.pinned_events"; + [JsonPropertyName("pinned")] public string[]? PinnedEvents { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomPowerLevelEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomPowerLevelEventContent.cs index 325a10e..cb9ebb7 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomPowerLevelEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomPowerLevelEventContent.cs @@ -67,13 +67,11 @@ public class RoomPowerLevelEventContent : EventContent { return Users.TryGetValue(userId, out var level) ? level : UsersDefault ?? UsersDefault ?? 0; } - public long GetEventPowerLevel(string eventType) { - return Events.TryGetValue(eventType, out var level) ? level : EventsDefault ?? EventsDefault ?? 0; - } + public long GetEventPowerLevel(string eventType) => Events.TryGetValue(eventType, out var level) ? level : EventsDefault ?? EventsDefault ?? 0; public void SetUserPowerLevel(string userId, long powerLevel) { ArgumentNullException.ThrowIfNull(userId); - Users ??= new(); + Users ??= new Dictionary(); Users[userId] = powerLevel; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomServerACLEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomServerACLEventContent.cs index b720b14..be83e37 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomServerACLEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomServerACLEventContent.cs @@ -2,7 +2,7 @@ using System.Text.Json.Serialization; namespace LibMatrix.EventTypes.Spec.State; -[MatrixEvent(EventName = "m.room.server_acl")] +[MatrixEvent(EventName = EventId)] public class RoomServerACLEventContent : EventContent { public const string EventId = "m.room.server_acl"; @@ -14,4 +14,4 @@ public class RoomServerACLEventContent : EventContent { [JsonPropertyName("allow_ip_literals")] public bool AllowIpLiterals { get; set; } // = false; -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomTopicEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomTopicEventContent.cs index 8abb2c8..92fa75d 100644 --- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomTopicEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomTopicEventContent.cs @@ -2,10 +2,11 @@ using System.Text.Json.Serialization; namespace LibMatrix.EventTypes.Spec.State; -[MatrixEvent(EventName = "m.room.topic")] +[MatrixEvent(EventName = EventId)] [MatrixEvent(EventName = "org.matrix.msc3765.topic", Legacy = true)] public class RoomTopicEventContent : EventContent { public const string EventId = "m.room.topic"; + [JsonPropertyName("topic")] public string? Topic { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/Space/SpaceChildEventContent.cs b/LibMatrix.EventTypes/Spec/State/Space/SpaceChildEventContent.cs index 2caa791..d233be4 100644 --- a/LibMatrix.EventTypes/Spec/State/Space/SpaceChildEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/Space/SpaceChildEventContent.cs @@ -2,12 +2,16 @@ using System.Text.Json.Serialization; namespace LibMatrix.EventTypes.Spec.State; -[MatrixEvent(EventName = "m.space.child")] +[MatrixEvent(EventName = EventId)] public class SpaceChildEventContent : EventContent { + public const string EventId = "m.space.child"; + [JsonPropertyName("auto_join")] public bool? AutoJoin { get; set; } + [JsonPropertyName("via")] public List? Via { get; set; } + [JsonPropertyName("suggested")] public bool? Suggested { get; set; } -} +} \ No newline at end of file diff --git a/LibMatrix.EventTypes/Spec/State/Space/SpaceParentEventContent.cs b/LibMatrix.EventTypes/Spec/State/Space/SpaceParentEventContent.cs index 180f4b7..2ab79a4 100644 --- a/LibMatrix.EventTypes/Spec/State/Space/SpaceParentEventContent.cs +++ b/LibMatrix.EventTypes/Spec/State/Space/SpaceParentEventContent.cs @@ -2,11 +2,13 @@ using System.Text.Json.Serialization; namespace LibMatrix.EventTypes.Spec.State; -[MatrixEvent(EventName = "m.space.parent")] +[MatrixEvent(EventName = EventId)] public class SpaceParentEventContent : EventContent { + public const string EventId = "m.space.parent"; + [JsonPropertyName("via")] public string[]? Via { get; set; } [JsonPropertyName("canonical")] public bool? Canonical { get; set; } -} +} \ No newline at end of file -- cgit 1.4.1