From 0ef438a7404117aad37e92b39ab8950c18522843 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Sat, 16 May 2026 18:37:58 +1000 Subject: v0.17a --- ApiClient.csproj | 9 +++++++-- Tag.cs | 41 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/ApiClient.csproj b/ApiClient.csproj index 6fec3e0..8622f7a 100644 --- a/ApiClient.csproj +++ b/ApiClient.csproj @@ -7,13 +7,18 @@ HyperBooru.ApiClient HyperBooru.ApiClient HyperBooru.ApiClient - 0.16.0.0 + 0.17.0.0 $(AssemblyVersion) - 0.16-alpha + 0.17-alpha + + None + false + + diff --git a/Tag.cs b/Tag.cs index 7e412b0..7dfb43a 100644 --- a/Tag.cs +++ b/Tag.cs @@ -1,4 +1,5 @@ -using System.Net.Http.Json; +using HyperBooru.ApiModels; +using System.Net.Http.Json; namespace HyperBooru.ApiClient; @@ -14,4 +15,42 @@ public class Tag { public async Task GetTagDefinitionAsync(Guid tagDefinitionId) => (await session.HttpClient .GetFromJsonAsync($"/api/tag/definition/{tagDefinitionId}"))!; + + public async Task CreateTagDefinitionAsync(TagCreateRequest request) { + var response = await session.HttpClient.PostAsJsonAsync("/api/tag/definition", request); + return (await response.Content.ReadFromJsonAsync())!; + } + + public async Task DeleteTagDefinitionAsync(Guid tagDefinitionId) => + await session.HttpClient.DeleteAsync($"/api/tag/definition/{tagDefinitionId}"); + + public async Task UpdateTagDefinitionAsync( + Guid tagDefinitionId, + TagUpdateRequest request) { + + var response = await session.HttpClient.PatchAsJsonAsync( + $"/api/tag/definition/{tagDefinitionId}", + request); + + return (await response.Content.ReadFromJsonAsync())!; + } + + public async Task AddImplicitTagsAsync(Guid tagDefinitionId, Guid[] implicitTagIds) => + await session.HttpClient.PatchAsJsonAsync( + $"/api/tag/definition/{tagDefinitionId}/implicit", + implicitTagIds); + + public async Task ReplaceImplicitTagsAsync(Guid tagDefinitionId, Guid[] implicitTagIds) => + await session.HttpClient.PutAsJsonAsync( + $"/api/tag/definition/{tagDefinitionId}/implicit", + implicitTagIds); + + public async Task DeleteImplicitTagAsync( + Guid tagDefinitionId, + Guid[] implicitTagIds) { + + await session.HttpClient.PostAsJsonAsync( + $"/api/tag/definition/{tagDefinitionId}/implicit/delete", + implicitTagIds); + } } -- cgit v1.3