From 440071053030579c35216b29aa3f0fe8fc7887b5 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Mon, 22 Jun 2026 00:15:14 +1000 Subject: Moved internal tag GUIDs to the ApiModels assembly --- Controllers/ApiUserController.cs | 2 +- HBContext.cs | 15 +++------------ Pages/Component/AboutDialog.razor | 2 +- Pages/Component/TagSelectDialog.razor | 2 +- Pages/TagDefinitions.razor | 8 ++++---- Services/FeedService.cs | 2 +- Services/MediaService.cs | 8 ++++---- 7 files changed, 15 insertions(+), 24 deletions(-) diff --git a/Controllers/ApiUserController.cs b/Controllers/ApiUserController.cs index 3230218..c581956 100644 --- a/Controllers/ApiUserController.cs +++ b/Controllers/ApiUserController.cs @@ -92,7 +92,7 @@ public class ApiUserController : Controller { [HttpDelete("{userId}")] public async Task DeleteUserAsync([FromRoute] Guid userId) { - if(userId == HBContext.AdminUser) + if(userId == InternalTag.AdminUser) throw new ApiModels.ArgumentException("Cannot delete the admin user"); using var db = dbFactory.CreateDbContext(); diff --git a/HBContext.cs b/HBContext.cs index 766c0a3..d13378d 100644 --- a/HBContext.cs +++ b/HBContext.cs @@ -4,16 +4,7 @@ using Microsoft.EntityFrameworkCore; namespace HyperBooru; -enum HBObjectId { - NsfwTag = -1, - IngestTag = -2, - AdminUser = -3 -} - public class HBContext : DbContext { - public static readonly Guid NsfwTag = new("EBDAD4F8-455A-4351-8017-1D4854D6FA38"); - public static readonly Guid IngestTag = new("EA212801-5BCC-4C0E-814F-FB9D30DB58BC"); - public static readonly Guid AdminUser = new("4FA948F4-7C45-4F81-BB6B-E417491E6C96"); public DbSet Objects { get; set; } public DbSet Users { get; set; } @@ -49,13 +40,13 @@ public class HBContext : DbContext { modelBuilder.Entity().HasData(new TagDefinition[] { new() { ObjectId = (int) HBObjectId.NsfwTag, - Guid = NsfwTag, + Guid = InternalTag.NsfwTag, Source = TagSource.Internal, Name = "nsfw" }, new() { ObjectId = (int) HBObjectId.IngestTag, - Guid = IngestTag, + Guid = InternalTag.IngestTag, Source = TagSource.Internal, Name = "ingest" } @@ -65,7 +56,7 @@ public class HBContext : DbContext { modelBuilder.Entity().HasData(new User[] { new() { ObjectId = (int) HBObjectId.AdminUser, - Guid = AdminUser, + Guid = InternalTag.AdminUser, Username = "admin", PasswordHash = UserService.HashPassword("admin") } diff --git a/Pages/Component/AboutDialog.razor b/Pages/Component/AboutDialog.razor index 1229dc7..d1082bc 100644 --- a/Pages/Component/AboutDialog.razor +++ b/Pages/Component/AboutDialog.razor @@ -702,7 +702,7 @@ using var db = dbFactory.CreateDbContext(); progress = ( Untagged: db.Media - .Where(m => m.Tags.Any(t => t.TagDefinition.ObjectId == (int) HBObjectId.IngestTag)) + .Where(m => m.Tags.Any(t => t.TagDefinition.ObjectId == (int) ApiModels.HBObjectId.IngestTag)) .Count(), Total: db.Media.Count() ); diff --git a/Pages/Component/TagSelectDialog.razor b/Pages/Component/TagSelectDialog.razor index d33b178..26a35a2 100644 --- a/Pages/Component/TagSelectDialog.razor +++ b/Pages/Component/TagSelectDialog.razor @@ -91,7 +91,7 @@ int[] nsfwTags = Array.Empty(); if(!userService.UserSessionState.ShowNsfw) - nsfwTags = tagService.TagsThatImply(HBContext.NsfwTag) + nsfwTags = tagService.TagsThatImply(ApiModels.InternalTag.NsfwTag) .Select(td => td.ObjectId) .ToArray(); diff --git a/Pages/TagDefinitions.razor b/Pages/TagDefinitions.razor index 5d02e03..c86fc81 100644 --- a/Pages/TagDefinitions.razor +++ b/Pages/TagDefinitions.razor @@ -53,7 +53,7 @@ PromptImplicitTags(tagDef))> Implicit Tags - @if(tagDef.ImplicitTags.Select(td => td.Guid).Contains(HBContext.NsfwTag)) { + @if(tagDef.ImplicitTags.Select(td => td.Guid).Contains(ApiModels.InternalTag.NsfwTag)) { SetNsfw(tagDef, false))>Make SFW } else { SetNsfw(tagDef, true))>Make NSFW @@ -102,7 +102,7 @@ private void LoadTags() { int[] nsfwTags = Array.Empty(); if(!userService.UserSessionState.ShowNsfw) - nsfwTags = tagService.TagsThatImply(HBContext.NsfwTag) + nsfwTags = tagService.TagsThatImply(ApiModels.InternalTag.NsfwTag) .Select(td => td.ObjectId) .ToArray(); @@ -169,9 +169,9 @@ private void SetNsfw(TagDefinition tagDef, bool nsfw) { if(nsfw) - tagService.AddImplicitTag(tagDef.Guid, HBContext.NsfwTag); + tagService.AddImplicitTag(tagDef.Guid, ApiModels.InternalTag.NsfwTag); else - tagService.RemoveImplicitTag(tagDef.Guid, HBContext.NsfwTag); + tagService.RemoveImplicitTag(tagDef.Guid, ApiModels.InternalTag.NsfwTag); LoadTags(); StateHasChanged(); } diff --git a/Services/FeedService.cs b/Services/FeedService.cs index 3744e73..112b3c0 100644 --- a/Services/FeedService.cs +++ b/Services/FeedService.cs @@ -116,7 +116,7 @@ public class FeedService : IFeedService { if(!includeNsfw) media = media - .Where(m => !TagsThatImply(db, HBContext.NsfwTag) + .Where(m => !TagsThatImply(db, InternalTag.NsfwTag) .Intersect(m.Tags.Select(t => t.TagDefinitionId)) .Any()); diff --git a/Services/MediaService.cs b/Services/MediaService.cs index a0521db..cf51c42 100644 --- a/Services/MediaService.cs +++ b/Services/MediaService.cs @@ -78,13 +78,13 @@ public class MediaService : IMediaService { .ThenInclude(t => t.TagDefinition) .First(m => m.Guid == media.Guid); var ingestTag = db.TagDefinitions - .First(td => td.Guid == HBContext.IngestTag); + .First(td => td.Guid == InternalTag.IngestTag); if(ingest) { - if(!media.Tags.Select(t => t.TagDefinition.Guid).Contains(HBContext.IngestTag)) + if(!media.Tags.Select(t => t.TagDefinition.Guid).Contains(InternalTag.IngestTag)) media.Tags.Add(new(ingestTag)); } else { - media.Tags.RemoveAll(t => t.TagDefinition.Guid == HBContext.IngestTag); + media.Tags.RemoveAll(t => t.TagDefinition.Guid == InternalTag.IngestTag); } db.SaveChanges(); @@ -190,7 +190,7 @@ public class MediaService : IMediaService { if(media is null) { var ingestTagDef = db.TagDefinitions - .First(td => td.Guid == HBContext.IngestTag); + .First(td => td.Guid == InternalTag.IngestTag); media = new() { UploadedFiles = new() { -- cgit v1.3