about summary refs log tree commit diff
path: root/LibMatrix/Homeservers/ImplementationDetails/Synapse/Models/Responses/BackgroundUpdates.cs
diff options
context:
space:
mode:
Diffstat (limited to 'LibMatrix/Homeservers/ImplementationDetails/Synapse/Models/Responses/BackgroundUpdates.cs')
-rw-r--r--LibMatrix/Homeservers/ImplementationDetails/Synapse/Models/Responses/BackgroundUpdates.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/LibMatrix/Homeservers/ImplementationDetails/Synapse/Models/Responses/BackgroundUpdates.cs b/LibMatrix/Homeservers/ImplementationDetails/Synapse/Models/Responses/BackgroundUpdates.cs
new file mode 100644
index 0000000..2394b98
--- /dev/null
+++ b/LibMatrix/Homeservers/ImplementationDetails/Synapse/Models/Responses/BackgroundUpdates.cs
@@ -0,0 +1,28 @@
+using System.Text.Json.Serialization;
+
+namespace LibMatrix.Homeservers.ImplementationDetails.Synapse.Models.Responses;
+
+public class SynapseAdminBackgroundUpdateStatusResponse {
+    [JsonPropertyName("enabled")]
+    public bool Enabled { get; set; }
+
+    [JsonPropertyName("current_updates")]
+    public Dictionary<string, BackgroundUpdateInfo> CurrentUpdates { get; set; }
+
+    public class BackgroundUpdateInfo {
+        [JsonPropertyName("name")]
+        public string Name { get; set; }
+
+        [JsonPropertyName("total_item_count")]
+        public int TotalItemCount { get; set; }
+
+        [JsonPropertyName("total_duration_ms")]
+        public double TotalDurationMs { get; set; }
+
+        [JsonPropertyName("average_items_per_ms")]
+        public double AverageItemsPerMs { get; set; }
+
+        [JsonIgnore]
+        public TimeSpan TotalDuration => TimeSpan.FromMilliseconds(TotalDurationMs);
+    }
+}
\ No newline at end of file