about summary refs log tree commit diff
path: root/MatrixRoomUtils.Core/Responses/CreateRoomRequest.cs
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-06-13 20:25:05 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2023-06-13 20:25:05 +0200
commit712ad189c99570f686ab779782b2a873e172428e (patch)
tree6102e4719416e71522e9143fa4e06951258bd77c /MatrixRoomUtils.Core/Responses/CreateRoomRequest.cs
parentFix passwords being visible during editing (diff)
downloadMatrixUtils-712ad189c99570f686ab779782b2a873e172428e.tar.xz
Change syntax style
Diffstat (limited to 'MatrixRoomUtils.Core/Responses/CreateRoomRequest.cs')
-rw-r--r--MatrixRoomUtils.Core/Responses/CreateRoomRequest.cs234
1 files changed, 105 insertions, 129 deletions
diff --git a/MatrixRoomUtils.Core/Responses/CreateRoomRequest.cs b/MatrixRoomUtils.Core/Responses/CreateRoomRequest.cs
index 5df99f7..da7d569 100644
--- a/MatrixRoomUtils.Core/Responses/CreateRoomRequest.cs
+++ b/MatrixRoomUtils.Core/Responses/CreateRoomRequest.cs
@@ -6,58 +6,56 @@ using MatrixRoomUtils.Core.Extensions;
 
 namespace MatrixRoomUtils.Core.Responses;
 
-public class CreateRoomRequest
-{
-    [JsonPropertyName("name")] public string Name { get; set; } = null!;
+public class CreateRoomRequest {
+    [JsonIgnore] public CreationContentBaseType _creationContentBaseType;
+
+    public CreateRoomRequest() => _creationContentBaseType = new CreationContentBaseType(this);
+
+    [JsonPropertyName("name")]
+    public string Name { get; set; } = null!;
 
-    [JsonPropertyName("room_alias_name")] public string RoomAliasName { get; set; } = null!;
+    [JsonPropertyName("room_alias_name")]
+    public string RoomAliasName { get; set; } = null!;
 
     //we dont want to use this, we want more control
     // [JsonPropertyName("preset")]
     // public string Preset { get; set; } = null!;
-    [JsonPropertyName("initial_state")] public List<StateEvent> InitialState { get; set; } = null!;
-    [JsonPropertyName("visibility")] public string Visibility { get; set; } = null!;
+    [JsonPropertyName("initial_state")]
+    public List<StateEvent> InitialState { get; set; } = null!;
+
+    [JsonPropertyName("visibility")]
+    public string Visibility { get; set; } = null!;
 
     [JsonPropertyName("power_level_content_override")]
     public PowerLevelEvent PowerLevelContentOverride { get; set; } = null!;
 
-    [JsonPropertyName("creation_content")] public JsonObject CreationContent { get; set; } = new();
+    [JsonPropertyName("creation_content")]
+    public JsonObject CreationContent { get; set; } = new();
 
     /// <summary>
-    /// For use only when you can't use the CreationContent property
+    ///     For use only when you can't use the CreationContent property
     /// </summary>
 
-    public StateEvent this[string event_type, string event_key = ""]
-    {
+    public StateEvent this[string event_type, string event_key = ""] {
         get => InitialState.First(x => x.Type == event_type && x.StateKey == event_key);
-        set
-        {
+        set {
             var stateEvent = InitialState.FirstOrDefault(x => x.Type == event_type && x.StateKey == event_key);
             if (stateEvent == null)
-            {
                 InitialState.Add(value);
-            }
             else
-            {
                 InitialState[InitialState.IndexOf(stateEvent)] = value;
-            }
         }
     }
 
     //extra properties
     [JsonIgnore]
-    public string HistoryVisibility
-    {
-        get
-        {
+    public string HistoryVisibility {
+        get {
             var stateEvent = InitialState.FirstOrDefault(x => x.Type == "m.room.history_visibility");
-            if (stateEvent == null)
-            {
-                InitialState.Add(new StateEvent()
-                {
+            if (stateEvent == null) {
+                InitialState.Add(new StateEvent {
                     Type = "m.room.history_visibility",
-                    Content = new JsonObject()
-                    {
+                    Content = new JsonObject {
                         ["history_visibility"] = "shared"
                     }
                 });
@@ -66,22 +64,16 @@ public class CreateRoomRequest
 
             return stateEvent.ContentAsJsonNode["history_visibility"].GetValue<string>();
         }
-        set
-        {
+        set {
             var stateEvent = InitialState.FirstOrDefault(x => x.Type == "m.room.history_visibility");
             if (stateEvent == null)
-            {
-                InitialState.Add(new StateEvent()
-                {
+                InitialState.Add(new StateEvent {
                     Type = "m.room.history_visibility",
-                    Content = new JsonObject()
-                    {
+                    Content = new JsonObject {
                         ["history_visibility"] = value
                     }
                 });
-            }
-            else
-            {
+            else {
                 var v = stateEvent.ContentAsJsonNode;
                 v["history_visibility"] = value;
                 stateEvent.ContentAsJsonNode = v;
@@ -90,18 +82,13 @@ public class CreateRoomRequest
     }
 
     [JsonIgnore]
-    public string RoomIcon
-    {
-        get
-        {
+    public string RoomIcon {
+        get {
             var stateEvent = InitialState.FirstOrDefault(x => x.Type == "m.room.avatar");
-            if (stateEvent == null)
-            {
-                InitialState.Add(new StateEvent()
-                {
+            if (stateEvent == null) {
+                InitialState.Add(new StateEvent {
                     Type = "m.room.avatar",
-                    Content = new JsonObject()
-                    {
+                    Content = new JsonObject {
                         ["url"] = ""
                     }
                 });
@@ -110,22 +97,16 @@ public class CreateRoomRequest
 
             return stateEvent.ContentAsJsonNode["url"].GetValue<string>();
         }
-        set
-        {
+        set {
             var stateEvent = InitialState.FirstOrDefault(x => x.Type == "m.room.avatar");
             if (stateEvent == null)
-            {
-                InitialState.Add(new StateEvent()
-                {
+                InitialState.Add(new StateEvent {
                     Type = "m.room.avatar",
-                    Content = new JsonObject()
-                    {
+                    Content = new JsonObject {
                         ["url"] = value
                     }
                 });
-            }
-            else
-            {
+            else {
                 var v = stateEvent.ContentAsJsonNode;
                 v["url"] = value;
                 stateEvent.ContentAsJsonNode = v;
@@ -177,64 +158,50 @@ public class CreateRoomRequest
     //     }
     // }
 
-    public ServerACL ServerACLs
-    {
-        get
-        {
+    public ServerACL ServerACLs {
+        get {
             var stateEvent = InitialState.FirstOrDefault(x => x.Type == "m.room.server_acl");
-            if (stateEvent == null)
-            {
-                InitialState.Add(new StateEvent()
-                {
+            if (stateEvent == null) {
+                InitialState.Add(new StateEvent {
                     Type = "m.room.server_acl",
-                    Content = new JsonObject()
-                    {
-                        ["allow"] = new JsonArray()
-                        {
+                    Content = new JsonObject {
+                        ["allow"] = new JsonArray {
                             "*"
                         },
                         ["deny"] = new JsonArray()
                     }
                 });
-                return new ServerACL()
-                {
-                    Allow = new List<string>()
-                    {
+                return new ServerACL {
+                    Allow = new List<string> {
                         "*"
                     },
                     Deny = new List<string>(),
                     AllowIpLiterals = true
                 };
             }
-            return new ServerACL()
-            {
-                Allow = JsonSerializer.Deserialize<List<string>>(stateEvent.ContentAsJsonNode["allow"]),
-                Deny = JsonSerializer.Deserialize<List<string>>(stateEvent.ContentAsJsonNode["deny"]),
+
+            return new ServerACL {
+                Allow = stateEvent.ContentAsJsonNode["allow"].Deserialize<List<string>>(),
+                Deny = stateEvent.ContentAsJsonNode["deny"].Deserialize<List<string>>(),
                 AllowIpLiterals = true
             };
         }
-        set
-        {
+        set {
             Console.WriteLine($"Setting server acl to {value.ToJson()}");
             var stateEvent = InitialState.FirstOrDefault(x => x.Type == "m.room.server_acl");
             if (stateEvent == null)
-            {
-                InitialState.Add(new StateEvent()
-                {
+                InitialState.Add(new StateEvent {
                     Type = "m.room.server_acl",
-                    Content = new JsonObject()
-                    {
-                        ["allow"] = JsonArray.Parse(JsonSerializer.Serialize(value.Allow)),
-                        ["deny"] = JsonArray.Parse(JsonSerializer.Serialize(value.Deny))
-                        ["allow_ip_literals"] = value.AllowIpLiterals
+                    Content = new JsonObject {
+                        ["allow"] = JsonNode.Parse(JsonSerializer.Serialize(value.Allow)),
+                        ["deny"] = JsonNode.Parse(JsonSerializer.Serialize(value.Deny))
+                            ["allow_ip_literals"] = value.AllowIpLiterals
                     }
                 });
-            }
-            else
-            {
+            else {
                 var v = stateEvent.ContentAsJsonNode;
-                v["allow"] = JsonArray.Parse(JsonSerializer.Serialize(value.Allow));
-                v["deny"] = JsonArray.Parse(JsonSerializer.Serialize(value.Deny));
+                v["allow"] = JsonNode.Parse(JsonSerializer.Serialize(value.Allow));
+                v["deny"] = JsonNode.Parse(JsonSerializer.Serialize(value.Deny));
                 v["allow_ip_literals"] = value.AllowIpLiterals;
                 stateEvent.ContentAsJsonNode = v;
                 Console.WriteLine($"v={v.ToJson()}");
@@ -243,14 +210,7 @@ public class CreateRoomRequest
         }
     }
 
-
-    [JsonIgnore] public CreationContentBaseType _creationContentBaseType;
-
-    public CreateRoomRequest() => _creationContentBaseType = new(this);
-
-
-    public Dictionary<string, string> Validate()
-    {
+    public Dictionary<string, string> Validate() {
         Dictionary<string, string> errors = new();
         if (!Regex.IsMatch(RoomAliasName, @"[a-zA-Z0-9_\-]+$"))
             errors.Add("room_alias_name", "Room alias name must only contain letters, numbers, underscores, and hyphens.");
@@ -259,49 +219,65 @@ public class CreateRoomRequest
     }
 }
 
-public class CreationContentBaseType
-{
+public class CreationContentBaseType {
     private readonly CreateRoomRequest createRoomRequest;
 
-    public CreationContentBaseType(CreateRoomRequest createRoomRequest)
-    {
-        this.createRoomRequest = createRoomRequest;
-    }
+    public CreationContentBaseType(CreateRoomRequest createRoomRequest) => this.createRoomRequest = createRoomRequest;
 
     [JsonPropertyName("type")]
-    public string Type
-    {
+    public string Type {
         get => (string)createRoomRequest.CreationContent["type"];
-        set
-        {
+        set {
             if (value is "null" or "") createRoomRequest.CreationContent.Remove("type");
             else createRoomRequest.CreationContent["type"] = value;
         }
     }
 }
 
-public class PowerLevelEvent
-{
-    [JsonPropertyName("ban")] public int Ban { get; set; } // = 50;
-    [JsonPropertyName("events_default")] public int EventsDefault { get; set; } // = 0;
-    [JsonPropertyName("events")] public Dictionary<string, int> Events { get; set; } // = null!;
-    [JsonPropertyName("invite")] public int Invite { get; set; } // = 50;
-    [JsonPropertyName("kick")] public int Kick { get; set; } // = 50;
-    [JsonPropertyName("notifications")] public NotificationsPL NotificationsPl { get; set; } // = null!;
-    [JsonPropertyName("redact")] public int Redact { get; set; } // = 50;
-    [JsonPropertyName("state_default")] public int StateDefault { get; set; } // = 50;
-    [JsonPropertyName("users")] public Dictionary<string, int> Users { get; set; } // = null!;
-    [JsonPropertyName("users_default")] public int UsersDefault { get; set; } // = 0;
+public class PowerLevelEvent {
+    [JsonPropertyName("ban")]
+    public int Ban { get; set; } // = 50;
+
+    [JsonPropertyName("events_default")]
+    public int EventsDefault { get; set; } // = 0;
+
+    [JsonPropertyName("events")]
+    public Dictionary<string, int> Events { get; set; } // = null!;
+
+    [JsonPropertyName("invite")]
+    public int Invite { get; set; } // = 50;
+
+    [JsonPropertyName("kick")]
+    public int Kick { get; set; } // = 50;
+
+    [JsonPropertyName("notifications")]
+    public NotificationsPL NotificationsPl { get; set; } // = null!;
+
+    [JsonPropertyName("redact")]
+    public int Redact { get; set; } // = 50;
+
+    [JsonPropertyName("state_default")]
+    public int StateDefault { get; set; } // = 50;
+
+    [JsonPropertyName("users")]
+    public Dictionary<string, int> Users { get; set; } // = null!;
+
+    [JsonPropertyName("users_default")]
+    public int UsersDefault { get; set; } // = 0;
 }
 
-public class NotificationsPL
-{
-    [JsonPropertyName("room")] public int Room { get; set; } = 50;
+public class NotificationsPL {
+    [JsonPropertyName("room")]
+    public int Room { get; set; } = 50;
 }
 
-public class ServerACL
-{
-    [JsonPropertyName("allow")] public List<string> Allow { get; set; } // = null!;
-    [JsonPropertyName("deny")] public List<string> Deny { get; set; } // = null!;
-    [JsonPropertyName("allow_ip_literals")] public bool AllowIpLiterals { get; set; } // = false;
+public class ServerACL {
+    [JsonPropertyName("allow")]
+    public List<string> Allow { get; set; } // = null!;
+
+    [JsonPropertyName("deny")]
+    public List<string> Deny { get; set; } // = null!;
+
+    [JsonPropertyName("allow_ip_literals")]
+    public bool AllowIpLiterals { get; set; } // = false;
 }
\ No newline at end of file