diff options
| author | Jake Mannens <jake@asger.xyz> | 2023-08-20 22:59:09 +1000 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2023-08-20 22:59:09 +1000 |
| commit | c29bdd4a9ec782411f57e3c798e1bb01ca7d417d (patch) | |
| tree | fdb2046af3454a96a9733e156b9c86f538eea21c /Services | |
| parent | dfff79815acc86c02dd94716098d409d3fe46ab7 (diff) | |
NSFW tagging and tag editing
Diffstat (limited to 'Services')
| -rw-r--r-- | Services/MediaService.cs | 2 | ||||
| -rw-r--r-- | Services/TagService.cs | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/Services/MediaService.cs b/Services/MediaService.cs index be2657a..05dd5b0 100644 --- a/Services/MediaService.cs +++ b/Services/MediaService.cs @@ -15,7 +15,7 @@ public class MediaService : IMediaService { public void SetIngest(Media media, bool ingest) { using var db = dbFactory.CreateDbContext(); var ingestTag = db.TagDefinitions - .First(td => td.Source == TagSource.Internal && td.Name == "ingest"); + .First(td => td.Guid == HBContext.IngestTag); if(ingest) media.Tags.Add(new() { TagDefinition = ingestTag }); diff --git a/Services/TagService.cs b/Services/TagService.cs index c3b8e14..8de52ff 100644 --- a/Services/TagService.cs +++ b/Services/TagService.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Razor.TagHelpers; using Microsoft.EntityFrameworkCore; +using System.Reflection; using System.Reflection.Metadata; namespace HyperBooru.Services; @@ -15,6 +16,8 @@ public interface ITagService { public void SetImplicitTags(Guid tagDef, Guid[] implicitTagDefs); public void CreateTagDefinition(string name, string? @namespace); public void DeleteTagDefinition(TagDefinition tagDef); + public void UpdateTagDefinition(Guid tagDef, string name, string? @namespace); + public void UpdateTagDefinition(TagDefinition tagDef, string name, string? @namespace); public (TagDefinition tagDefinition, bool isImplicit)[] GetAllTags(Guid obj); public (TagDefinition tagDefinition, bool isImplicit)[] GetAllTags(HBObject obj); } @@ -102,6 +105,22 @@ public class TagService : ITagService { transaction.Commit(); } + public void UpdateTagDefinition(Guid tagDef, string name, string? @namespace) { + using var db = dbFactory.CreateDbContext(); + + if(string.IsNullOrEmpty(@namespace)) + @namespace = null; + + var tag = db.TagDefinitions.First(td => td.Guid == tagDef); + tag.Name = name; + tag.Namespace = @namespace; + + db.SaveChanges(); + } + + public void UpdateTagDefinition(TagDefinition tagDef, string name, string? @namespace) => + UpdateTagDefinition(tagDef.Guid, name, @namespace); + public (TagDefinition tagDefinition, bool isImplicit)[] GetAllTags(Guid obj) { IEnumerable<TagDefinition> GetTagRecursive(IEnumerable<TagDefinition> tagDefs) => tagDefs |
