2 files changed, 54 insertions, 0 deletions
diff --git a/LibMatrix/Responses/DeviceKeysUploadRequest.cs b/LibMatrix/Responses/DeviceKeysUploadRequest.cs
new file mode 100644
index 0000000..c93c4c6
--- /dev/null
+++ b/LibMatrix/Responses/DeviceKeysUploadRequest.cs
@@ -0,0 +1,24 @@
+using System.Text.Json.Serialization;
+
+namespace LibMatrix.Responses;
+
+public class DeviceKeysUploadRequest {
+ [JsonPropertyName("device_keys")]
+ public DeviceKeysSchema DeviceKeys { get; set; }
+
+
+ [JsonPropertyName("one_time_keys")]
+ public Dictionary<string, OneTimeKey> OneTimeKeys { get; set; }
+
+ public class DeviceKeysSchema {
+ [JsonPropertyName("algorithms")]
+ public List<string> Algorithms { get; set; }
+ }
+ public class OneTimeKey {
+ [JsonPropertyName("key")]
+ public string Key { get; set; }
+
+ [JsonPropertyName("signatures")]
+ public Dictionary<string, Dictionary<string, string>> Signatures { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/LibMatrix/Responses/UserDirectoryResponse.cs b/LibMatrix/Responses/UserDirectoryResponse.cs
new file mode 100644
index 0000000..13235d9
--- /dev/null
+++ b/LibMatrix/Responses/UserDirectoryResponse.cs
@@ -0,0 +1,30 @@
+using System.Text.Json.Serialization;
+
+namespace LibMatrix.Responses;
+
+public class UserDirectoryResponse {
+ [JsonPropertyName("limited")]
+ public bool Limited { get; set; }
+
+ [JsonPropertyName("results")]
+ public List<UserDirectoryResult> Results { get; set; }
+
+ public class UserDirectoryResult {
+ [JsonPropertyName("avatar_url")]
+ public string? AvatarUrl { get; set; }
+
+ [JsonPropertyName("display_name")]
+ public string? DisplayName { get; set; }
+
+ [JsonPropertyName("user_id")]
+ public string UserId { get; set; }
+ }
+}
+
+public class UserDirectoryRequest {
+ [JsonPropertyName("search_term")]
+ public string SearchTerm { get; set; }
+
+ [JsonPropertyName("limit")]
+ public int? Limit { get; set; }
+}
\ No newline at end of file
|