summaryrefslogtreecommitdiff
path: root/Services
diff options
context:
space:
mode:
Diffstat (limited to 'Services')
-rw-r--r--Services/MediaService.cs2
-rw-r--r--Services/TagService.cs19
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