using System.Text.Json.Serialization; using LibMatrix.Helpers; using LibMatrix.Interfaces; namespace LibMatrix.StateEventTypes.Spec; [MatrixEvent(EventName = "m.room.join_rules")] public class JoinRulesEventContent : EventContent { private static string Public = "public"; private static string Invite = "invite"; private static string Knock = "knock"; /// /// one of ["public", "invite", "knock", "restricted", "knock_restricted"] /// "private" is reserved without implementation! /// [JsonPropertyName("join_rule")] public string JoinRule { get; set; } [JsonPropertyName("allow")] public List Allow { get; set; } public class AllowEntry { [JsonPropertyName("type")] public string Type { get; set; } [JsonPropertyName("room_id")] public string RoomId { get; set; } } }