about summary refs log tree commit diff
path: root/LibMatrix.EventTypes/EventContent.cs
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/EventContent.cs
parentRename StateEvent to LegacyMatrixEvent (diff)
downloadLibMatrix-bak-08f5483df2c01eba7c764cdaec94fca71e4976b8.tar.xz
Clarify LegacyEvent types
Diffstat (limited to 'LibMatrix.EventTypes/EventContent.cs')
-rw-r--r--LibMatrix.EventTypes/EventContent.cs48
1 files changed, 0 insertions, 48 deletions
diff --git a/LibMatrix.EventTypes/EventContent.cs b/LibMatrix.EventTypes/EventContent.cs
deleted file mode 100644

index c582cf2..0000000 --- a/LibMatrix.EventTypes/EventContent.cs +++ /dev/null
@@ -1,48 +0,0 @@ -using System.Text.Json; -using System.Text.Json.Nodes; -using System.Text.Json.Serialization; - -namespace LibMatrix.EventTypes; - -public abstract class EventContent; - -public class UnknownEventContent : TimelineEventContent; - -public abstract class TimelineEventContent : EventContent { - [JsonPropertyName("m.relates_to")] - public MessageRelatesTo? RelatesTo { get; set; } - - [JsonPropertyName("m.new_content")] - public JsonObject? NewContent { get; set; } - - public TimelineEventContent SetReplaceRelation(string eventId) { - NewContent = JsonSerializer.SerializeToNode(this, GetType())!.AsObject(); - // NewContent = JsonSerializer.Deserialize(jsonText, GetType()); - RelatesTo = new MessageRelatesTo { - RelationType = "m.replace", - EventId = eventId - }; - return this; - } - - public T SetReplaceRelation<T>(string eventId) where T : TimelineEventContent => SetReplaceRelation(eventId) as T ?? throw new InvalidOperationException(); - - public class MessageRelatesTo { - [JsonPropertyName("m.in_reply_to")] - public EventInReplyTo? InReplyTo { get; set; } - - [JsonPropertyName("event_id")] - public string? EventId { get; set; } - - [JsonPropertyName("rel_type")] - public string? RelationType { get; set; } - - public class EventInReplyTo { - [JsonPropertyName("event_id")] - public string? EventId { get; set; } - - [JsonPropertyName("rel_type")] - public string? RelType { get; set; } - } - } -} \ No newline at end of file