summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2026-06-13 03:38:19 +1000
committerJake Mannens <jake@asger.xyz>2026-06-13 03:38:19 +1000
commita1df04a7ba2f0c810c67081642c1afb841d4f6c4 (patch)
tree6e223c989764471f8f37aa183c3cc27858284d06
parent0ef438a7404117aad37e92b39ab8950c18522843 (diff)
Added statistics API functionsdev
-rw-r--r--HyperBooru.cs20
-rw-r--r--Statistics.cs14
2 files changed, 25 insertions, 9 deletions
diff --git a/HyperBooru.cs b/HyperBooru.cs
index b07351d..4ee1256 100644
--- a/HyperBooru.cs
+++ b/HyperBooru.cs
@@ -5,11 +5,12 @@ using System.Net.Http.Json;
namespace HyperBooru.ApiClient;
public sealed class HBSession : IDisposable {
- public Media Media { get; private init; }
- public Tag Tag { get; private init; }
- public Feed Feed { get; private init; }
- public User User { get; private init; }
- public Uri BaseUri { get; private init; }
+ public Media Media { get; private init; }
+ public Tag Tag { get; private init; }
+ public Feed Feed { get; private init; }
+ public User User { get; private init; }
+ public Statistics Statistics { get; private init; }
+ public Uri BaseUri { get; private init; }
internal HttpClient HttpClient { get; private init; }
@@ -35,10 +36,11 @@ public sealed class HBSession : IDisposable {
BaseAddress = BaseUri
};
- Media = new(this);
- Tag = new(this);
- Feed = new(this);
- User = new(this);
+ Media = new(this);
+ Tag = new(this);
+ Feed = new(this);
+ User = new(this);
+ Statistics = new(this);
}
public async Task LoginAsync(string username, string password) {
diff --git a/Statistics.cs b/Statistics.cs
new file mode 100644
index 0000000..74871f2
--- /dev/null
+++ b/Statistics.cs
@@ -0,0 +1,14 @@
+using HyperBooru.ApiModels;
+using System.Net.Http.Json;
+
+namespace HyperBooru.ApiClient;
+
+public class Statistics {
+ private HBSession session;
+
+ internal Statistics(HBSession session) =>
+ this.session = session;
+
+ public async Task<IngestStatistics> GetIngestStatisticsAsync() =>
+ (await session.HttpClient.GetFromJsonAsync<IngestStatistics>("/api/stats/ingest"))!;
+}