From 60dd44153b5f2b233dc66032507ee6c9a925ed0e Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Mon, 27 Apr 2026 03:06:02 +1000 Subject: v0.12a --- Controllers/MediaController.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'Controllers') diff --git a/Controllers/MediaController.cs b/Controllers/MediaController.cs index cd6916f..7eb46c6 100644 --- a/Controllers/MediaController.cs +++ b/Controllers/MediaController.cs @@ -114,6 +114,13 @@ public class MediaController : Controller { .ElementAtOrDefault(0); Enum.TryParse(typeof(PathType), pathTypeString, true, out pathType); + // Parse tag IDs from headers + Guid[]? tagIds = formFile.Headers["X-HyperBooru-Tags"] + .ElementAtOrDefault(0)? + .Split(',') + .Select(t => Guid.Parse(t)) + .ToArray(); + media = mediaService.Create( formFile.OpenReadStream(), formFile.FileName, @@ -123,7 +130,15 @@ public class MediaController : Controller { lastWriteTime, createTime, path, - (PathType?) pathType); + (PathType?) pathType, + tagIds); + + // Return the GUID of the new media object if requested + bool returnMetadataParsed = bool.TryParse( + formFile.Headers["X-HyperBooru-ReturnMediaId"], out var returnMetadata); + + if(returnMetadataParsed && returnMetadata) + return Content(media.Guid.ToString()); } catch(MediaCreateException e) { return BadRequest(e.Message); } -- cgit v1.3