From 0ef438a7404117aad37e92b39ab8950c18522843 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Sat, 16 May 2026 18:37:58 +1000 Subject: v0.17a --- Tag.cs | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) (limited to 'Tag.cs') 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