about summary refs log tree commit diff
path: root/LibMatrix.EventTypes/Spec/State/Policy
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2024-05-30 09:31:29 +0000
committerRory& <root@rory.gay>2024-05-30 09:31:29 +0000
commit08f5483df2c01eba7c764cdaec94fca71e4976b8 (patch)
tree1e521bf7bae7bdf07fa8e87505b2fa95d21a196e /LibMatrix.EventTypes/Spec/State/Policy
parentRename StateEvent to LegacyMatrixEvent (diff)
downloadLibMatrix-08f5483df2c01eba7c764cdaec94fca71e4976b8.tar.xz
Clarify LegacyEvent types
Diffstat (limited to 'LibMatrix.EventTypes/Spec/State/Policy')
-rw-r--r--LibMatrix.EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs107
1 files changed, 0 insertions, 107 deletions
diff --git a/LibMatrix.EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs b/LibMatrix.EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs
deleted file mode 100644
index 6006048..0000000
--- a/LibMatrix.EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs
+++ /dev/null
@@ -1,107 +0,0 @@
-using System.Text.Json.Serialization;
-using ArcaneLibs.Attributes;
-
-namespace LibMatrix.EventTypes.Spec.State.Policy;
-
-//spec
-[MatrixEvent(EventName = EventId)]                                         //spec
-[MatrixEvent(EventName = "m.room.rule.server", Legacy = true)]             //???
-[MatrixEvent(EventName = "org.matrix.mjolnir.rule.server", Legacy = true)] //legacy
-[FriendlyName(Name = "Server policy", NamePlural = "Server policies")]
-public class ServerPolicyRuleEventContent : PolicyRuleEventContent {
-    public const string EventId = "m.policy.rule.server";
-}
-
-[MatrixEvent(EventName = EventId)]                                       //spec
-[MatrixEvent(EventName = "m.room.rule.user", Legacy = true)]             //???
-[MatrixEvent(EventName = "org.matrix.mjolnir.rule.user", Legacy = true)] //legacy
-[FriendlyName(Name = "User policy", NamePlural = "User policies")]
-public class UserPolicyRuleEventContent : PolicyRuleEventContent {
-    public const string EventId = "m.policy.rule.user";
-}
-
-[MatrixEvent(EventName = EventId)]                                       //spec
-[MatrixEvent(EventName = "m.room.rule.room", Legacy = true)]             //???
-[MatrixEvent(EventName = "org.matrix.mjolnir.rule.room", Legacy = true)] //legacy
-[FriendlyName(Name = "Room policy", NamePlural = "Room policies")]
-public class RoomPolicyRuleEventContent : PolicyRuleEventContent {
-    public const string EventId = "m.policy.rule.room";
-}
-
-public abstract class PolicyRuleEventContent : EventContent {
-    public PolicyRuleEventContent() => Console.WriteLine($"init policy {GetType().Name}");
-    private string? _reason;
-
-    /// <summary>
-    ///     Entity this ban applies to, can use * and ? as globs.
-    ///     Policy is invalid if entity is null
-    /// </summary>
-    [JsonPropertyName("entity")]
-    [FriendlyName(Name = "Entity")]
-    public string? Entity { get; set; }
-
-    private bool init;
-
-    /// <summary>
-    ///     Reason this user is banned
-    /// </summary>
-    [JsonPropertyName("reason")]
-    [FriendlyName(Name = "Reason")]
-    public virtual string? Reason {
-        get =>
-            // Console.WriteLine($"Read policy reason: {_reason}");
-            _reason;
-        set =>
-            // Console.WriteLine($"Set policy reason: {value}");
-            // if(init)
-            // Console.WriteLine(string.Join('\n', Environment.StackTrace.Split('\n')[..5]));
-            // init = true;
-            _reason = value;
-    }
-
-    /// <summary>
-    ///     Suggested action to take
-    /// </summary>
-    [JsonPropertyName("recommendation")]
-    [FriendlyName(Name = "Recommendation")]
-    public string? Recommendation { get; set; }
-
-    /// <summary>
-    ///     Expiry time in milliseconds since the unix epoch, or null if the ban has no expiry.
-    /// </summary>
-    [JsonPropertyName("support.feline.policy.expiry.rev.2")] //stable prefix: expiry, msc pending
-    [TableHide]
-    public long? Expiry { get; set; }
-
-    //utils
-    /// <summary>
-    ///     Readable expiry time, provided for easy interaction
-    /// </summary>
-    [JsonPropertyName("gay.rory.matrix_room_utils.readable_expiry_time_utc")]
-    [FriendlyName(Name = "Expires at")]
-    public DateTime? ExpiryDateTime {
-        get => Expiry == null ? null : DateTimeOffset.FromUnixTimeMilliseconds(Expiry.Value).DateTime;
-        set {
-            if (value is not null)
-                Expiry = ((DateTimeOffset)value).ToUnixTimeMilliseconds();
-        }
-    }
-}
-
-public static class PolicyRecommendationTypes {
-    /// <summary>
-    ///     Ban this user
-    /// </summary>
-    public static string Ban = "m.ban";
-
-    /// <summary>
-    ///     Mute this user
-    /// </summary>
-    public static string Mute = "support.feline.policy.recommendation_mute"; //stable prefix: m.mute, msc pending
-}
-
-// public class PolicySchemaDefinition {
-//     public required string Name { get; set; }
-//     public required bool Optional { get; set; }
-//     
-// }
\ No newline at end of file