about summary refs log tree commit diff
path: root/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs
diff options
context:
space:
mode:
Diffstat (limited to 'LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs')
-rw-r--r--LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs60
1 files changed, 0 insertions, 60 deletions
diff --git a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs b/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs
deleted file mode 100644
index 349c8a7..0000000
--- a/LibMatrix.EventTypes/Spec/State/RoomInfo/RoomJoinRulesEventContent.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using System.Text.Json.Serialization;
-
-namespace LibMatrix.EventTypes.Spec.State;
-
-[MatrixEvent(EventName = EventId)]
-public class RoomJoinRulesEventContent : EventContent {
-    public const string EventId = "m.room.join_rules";
-
-    /// <summary>
-    /// one of ["public", "invite", "knock", "restricted", "knock_restricted"]
-    /// "private" is reserved without implementation!
-    /// unknown values are treated as "private"
-    /// </summary>
-    [JsonPropertyName("join_rule")]
-    public string JoinRuleValue { get; set; }
-
-    [JsonIgnore]
-    public JoinRules JoinRule {
-        get => JoinRuleValue switch {
-            "public" => JoinRules.Public,
-            "invite" => JoinRules.Invite,
-            "knock" => JoinRules.Knock,
-            "restricted" => JoinRules.Restricted,
-            "knock_restricted" => JoinRules.KnockRestricted,
-            _ => JoinRules.Private
-        };
-        set => JoinRuleValue = value switch {
-            JoinRules.Public => "public",
-            JoinRules.Invite => "invite",
-            JoinRules.Knock => "knock",
-            JoinRules.Restricted => "restricted",
-            JoinRules.KnockRestricted => "knock_restricted",
-            _ => "private"
-        };
-    }
-
-    [JsonPropertyName("allow")]
-    public List<AllowEntry>? Allow { get; set; }
-
-    public class AllowEntry {
-        [JsonPropertyName("type")]
-        public required string Type { get; set; }
-
-        [JsonPropertyName("room_id")]
-        public required string RoomId { get; set; }
-
-        public static class Types {
-            public const string RoomMembership = "m.room_membership";
-        }
-    }
-
-    public enum JoinRules {
-        Public,
-        Invite,
-        Knock,
-        Restricted,
-        KnockRestricted,
-        Private // reserved without implementation!
-    }
-}
\ No newline at end of file