diff options
| author | Jake Mannens <jake@asger.xyz> | 2026-06-13 03:38:19 +1000 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2026-06-13 03:38:19 +1000 |
| commit | a1df04a7ba2f0c810c67081642c1afb841d4f6c4 (patch) | |
| tree | 6e223c989764471f8f37aa183c3cc27858284d06 | |
| parent | 0ef438a7404117aad37e92b39ab8950c18522843 (diff) | |
Added statistics API functionsdev
| -rw-r--r-- | HyperBooru.cs | 20 | ||||
| -rw-r--r-- | Statistics.cs | 14 |
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"))!; +} |
