diff options
Diffstat (limited to 'MatrixRoomUtils.Core/Filters/SyncFilter.cs')
-rw-r--r-- | MatrixRoomUtils.Core/Filters/SyncFilter.cs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/MatrixRoomUtils.Core/Filters/SyncFilter.cs b/MatrixRoomUtils.Core/Filters/SyncFilter.cs new file mode 100644 index 0000000..7957898 --- /dev/null +++ b/MatrixRoomUtils.Core/Filters/SyncFilter.cs @@ -0,0 +1,62 @@ +using System.Text.Json.Serialization; + +namespace MatrixRoomUtils.Core.Filters; + +public class SyncFilter { + [JsonPropertyName("account_data")] + public AccountDataFilter? AccountData { get; set; } + + [JsonPropertyName("presence")] + public PresenceFilter? Presence { get; set; } + + [JsonPropertyName("room")] + public RoomFilter? Room { get; set; } +} + +public class PresenceFilter { + [JsonPropertyName("not_types")] + public List<string>? NotTypes { get; set; } +} + +public class RoomFilter { + [JsonPropertyName("account_data")] + public AccountDataFilter? AccountData { get; set; } + + [JsonPropertyName("ephemeral")] + public EphemeralFilter? Ephemeral { get; set; } + + public class EphemeralFilter { + [JsonPropertyName("not_types")] + public List<string>? NotTypes { get; set; } + } + + [JsonPropertyName("state")] + public StateFilter? State { get; set; } + + public class StateFilter { + [JsonPropertyName("lazy_load_members")] + public bool? LazyLoadMembers { get; set; } + + [JsonPropertyName("types")] + public List<string>? Types { get; set; } + } + + [JsonPropertyName("timeline")] + public TimelineFilter? Timeline { get; set; } + + public class TimelineFilter { + [JsonPropertyName("limit")] + public int? Limit { get; set; } + + [JsonPropertyName("types")] + public List<string>? Types { get; set; } + + [JsonPropertyName("not_types")] + public List<string>? NotTypes { get; set; } + } +} + +public class AccountDataFilter { + [JsonPropertyName("not_types")] + public List<string>? NotTypes { get; set; } +} \ No newline at end of file |