summaryrefslogtreecommitdiff
path: root/Media.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Media.cs')
-rw-r--r--Media.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/Media.cs b/Media.cs
index 794e5f2..dc2f623 100644
--- a/Media.cs
+++ b/Media.cs
@@ -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[]>())!;
+ }
}