diff options
Diffstat (limited to 'Media.cs')
| -rw-r--r-- | Media.cs | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -69,4 +69,22 @@ public class Media { return responseContent!; } + + public async Task<TagDefinition[]> GetTagsAsync(Guid mediaId) => + (await session.HttpClient.GetFromJsonAsync<TagDefinition[]>($"/api/media/{mediaId}/tags"))!; + + public async Task<TagDefinition[]> AddTagsAsync(Guid mediaId, Guid[] tagIds) { + var response = await session.HttpClient.PatchAsJsonAsync($"/api/media/{mediaId}/tags", tagIds); + return (await response.Content.ReadFromJsonAsync<TagDefinition[]>())!; + } + + public async Task<TagDefinition[]> ReplaceTagsAsync(Guid mediaId, Guid[] tagIds) { + var response = await session.HttpClient.PutAsJsonAsync($"/api/media/{mediaId}/tags", tagIds); + return (await response.Content.ReadFromJsonAsync<TagDefinition[]>())!; + } + + public async Task<TagDefinition[]> DeleteTagsAsync(Guid mediaId, Guid[] tagIds) { + var response = await session.HttpClient.PatchAsJsonAsync($"/api/media/{mediaId}/tags/delete", tagIds); + return (await response.Content.ReadFromJsonAsync<TagDefinition[]>())!; + } } |
