diff options
| -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"))!; +} |
