diff options
| author | Jake Mannens <jake@asger.xyz> | 2023-08-14 00:29:38 +1000 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2025-08-18 10:59:32 +1000 |
| commit | 07a4c7ead01514bd3f304f00abc38140a1d73634 (patch) | |
| tree | 6606addd04356c1b39e316ae3c7deb39bea28442 /TagController.cs | |
| parent | b8833351cbbd6505d86e3fb8a791344fa1fbc94c (diff) | |
Added functionality for ingest tagging and implicit tags
Diffstat (limited to 'TagController.cs')
| -rw-r--r-- | TagController.cs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/TagController.cs b/TagController.cs index 5c9fa39..6972da2 100644 --- a/TagController.cs +++ b/TagController.cs @@ -54,6 +54,46 @@ public class TagController : Controller { return Ok(); } + [HttpPost("{tagId}/implicit/{implicitTagId}")] + public IActionResult AddImplicitTag( + [FromRoute] Guid tagId, + [FromRoute] Guid implicitTagId) { + + var tagDef = db.TagDefinitions.First(td => td.Guid == tagId); + var implicitTagDef = db.TagDefinitions.First(td => td.Guid == implicitTagId); + + if(tagDef is null || implicitTagDef is null) + return NotFound(); + + if(tagDef.ImplicitTags.Select(td => td.Guid).Contains(implicitTagId)) + return BadRequest(); + + tagDef.ImplicitTags.Add(implicitTagDef); + db.SaveChanges(); + + return Ok(); + } + + [HttpDelete("{tagId}/implicit/{implicitTagId}")] + public IActionResult RemoveImplicitTag( + [FromRoute] Guid tagId, + [FromRoute] Guid implicitTagId) { + + var tagDef = db.TagDefinitions.First(td => td.Guid == tagId); + var implicitTagDef = db.TagDefinitions.First(td => td.Guid == implicitTagId); + + if(tagDef is null || implicitTagDef is null) + return NotFound(); + + if(!tagDef.ImplicitTags.Select(td => td.Guid).Contains(implicitTagId)) + return BadRequest(); + + tagDef.ImplicitTags.Remove(implicitTagDef); + db.SaveChanges(); + + return Ok(); + } + [HttpPost("def")] public void CreateTagDefinition( [FromForm] string name, |
