about summary refs log tree commit diff
path: root/LibMatrix/EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs
diff options
context:
space:
mode:
Diffstat (limited to 'LibMatrix/EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs')
-rw-r--r--LibMatrix/EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs23
1 files changed, 18 insertions, 5 deletions
diff --git a/LibMatrix/EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs b/LibMatrix/EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs
index 63f148c..757a9e9 100644
--- a/LibMatrix/EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs
+++ b/LibMatrix/EventTypes/Spec/State/Policy/PolicyRuleStateEventContent.cs
@@ -3,10 +3,23 @@ using LibMatrix.Interfaces;
 
 namespace LibMatrix.EventTypes.Spec.State;
 
-[MatrixEvent(EventName = "m.policy.rule.user")]
-[MatrixEvent(EventName = "m.policy.rule.server")]
-[MatrixEvent(EventName = "org.matrix.mjolnir.rule.server")]
-public class PolicyRuleEventContent : TimelineEventContent {
+//spec
+[MatrixEvent(EventName = "m.policy.rule.server")] //spec
+[MatrixEvent(EventName = "m.room.rule.server")] //???
+[MatrixEvent(EventName = "org.matrix.mjolnir.rule.server")] //legacy
+public class ServerPolicyRuleEventContent : PolicyRuleEventContent { }
+
+[MatrixEvent(EventName = "m.policy.rule.user")] //spec
+[MatrixEvent(EventName = "m.room.rule.user")] //???
+[MatrixEvent(EventName = "org.matrix.mjolnir.rule.user")] //legacy
+public class UserPolicyRuleEventContent : PolicyRuleEventContent { }
+
+[MatrixEvent(EventName = "m.policy.rule.room")] //spec
+[MatrixEvent(EventName = "m.room.rule.room")] //???
+[MatrixEvent(EventName = "org.matrix.mjolnir.rule.room")] //legacy
+public class RoomPolicyRuleEventContent : PolicyRuleEventContent { }
+
+public abstract class PolicyRuleEventContent : EventContent {
     /// <summary>
     ///     Entity this ban applies to, can use * and ? as globs.
     /// </summary>
@@ -52,4 +65,4 @@ public static class PolicyRecommendationTypes {
     ///     Mute this user
     /// </summary>
     public static string Mute = "support.feline.policy.recommendation_mute"; //stable prefix: m.mute, msc pending
-}
+}
\ No newline at end of file