diff options
author | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-09-19 00:16:36 +0200 |
---|---|---|
committer | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-09-19 00:16:36 +0200 |
commit | f5447484512d726f4403f0d7725777d0a95601fb (patch) | |
tree | 47fe88a4c021f62ff42663f6d8c5229e71d21813 /LibMatrix/StateEventTypes/Spec/RoomPowerLevelEventData.cs | |
parent | Improve README (diff) | |
download | LibMatrix-f5447484512d726f4403f0d7725777d0a95601fb.tar.xz |
Add more stuff, add unit tests
Diffstat (limited to 'LibMatrix/StateEventTypes/Spec/RoomPowerLevelEventData.cs')
-rw-r--r-- | LibMatrix/StateEventTypes/Spec/RoomPowerLevelEventData.cs | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/LibMatrix/StateEventTypes/Spec/RoomPowerLevelEventData.cs b/LibMatrix/StateEventTypes/Spec/RoomPowerLevelEventData.cs deleted file mode 100644 index 960c198..0000000 --- a/LibMatrix/StateEventTypes/Spec/RoomPowerLevelEventData.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System.Text.Json.Serialization; -using LibMatrix.Helpers; -using LibMatrix.Interfaces; - -namespace LibMatrix.StateEventTypes.Spec; - -[MatrixEvent(EventName = "m.room.power_levels")] -public class RoomPowerLevelEventContent : EventContent { - [JsonPropertyName("ban")] - public long Ban { get; set; } // = 50; - - [JsonPropertyName("events_default")] - public long EventsDefault { get; set; } // = 0; - - [JsonPropertyName("events")] - public Dictionary<string, long> Events { get; set; } // = null!; - - [JsonPropertyName("invite")] - public long Invite { get; set; } // = 50; - - [JsonPropertyName("kick")] - public long Kick { get; set; } // = 50; - - [JsonPropertyName("notifications")] - public NotificationsPL NotificationsPl { get; set; } // = null!; - - [JsonPropertyName("redact")] - public long Redact { get; set; } // = 50; - - [JsonPropertyName("state_default")] - public long StateDefault { get; set; } // = 50; - - [JsonPropertyName("users")] - public Dictionary<string, long> Users { get; set; } // = null!; - - [JsonPropertyName("users_default")] - public long UsersDefault { get; set; } // = 0; - - [Obsolete("Historical was a key related to MSC2716, a spec change on backfill that was dropped!", true)] - [JsonIgnore] - [JsonPropertyName("historical")] - public long Historical { get; set; } // = 50; - - public class NotificationsPL { - [JsonPropertyName("room")] - public long Room { get; set; } = 50; - } - - public bool IsUserAdmin(string userId) { - return Users.TryGetValue(userId, out var level) && level >= Events.Max(x=>x.Value); - } - - public bool UserHasPermission(string userId, string eventType) { - return Users.TryGetValue(userId, out var level) && level >= Events.GetValueOrDefault(eventType, EventsDefault); - } -} |