From d4d710ce3c00c813489ed56547dfb46588e8a140 Mon Sep 17 00:00:00 2001 From: Rory& Date: Wed, 1 Jul 2026 15:32:20 +0200 Subject: [PATCH] Update C# db models --- .../Spacebar.Models.Db/Contexts/SpacebarDbContext.cs | 8 +++++++- .../Models/Spacebar.Models.Db/Models/Application.cs | 3 +++ .../Models/Spacebar.Models.Db/Models/Emoji.cs | 11 +++++++++-- .../Spacebar.Models.Db/Spacebar.Models.Db.csproj | 2 +- extra/admin-api/scaffold-db | 5 +++++ 5 files changed, 25 insertions(+), 4 deletions(-) diff --git a/extra/admin-api/Models/Spacebar.Models.Db/Contexts/SpacebarDbContext.cs b/extra/admin-api/Models/Spacebar.Models.Db/Contexts/SpacebarDbContext.cs index a9f47c8d0..6ed0a319e 100644 --- a/extra/admin-api/Models/Spacebar.Models.Db/Contexts/SpacebarDbContext.cs +++ b/extra/admin-api/Models/Spacebar.Models.Db/Contexts/SpacebarDbContext.cs @@ -294,7 +294,13 @@ public partial class SpacebarDbContext : DbContext entity.Property(e => e.Id).ValueGeneratedNever(); - entity.HasOne(d => d.Guild).WithMany(p => p.Emojis).HasConstraintName("FK_4b988e0db89d94cebcf07f598cc"); + entity.HasOne(d => d.Application).WithMany(p => p.Emojis) + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_emoji_application_id"); + + entity.HasOne(d => d.Guild).WithMany(p => p.Emojis) + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_emoji_guild_id"); entity.HasOne(d => d.User).WithMany(p => p.Emojis).HasConstraintName("FK_fa7ddd5f9a214e28ce596548421"); }); diff --git a/extra/admin-api/Models/Spacebar.Models.Db/Models/Application.cs b/extra/admin-api/Models/Spacebar.Models.Db/Models/Application.cs index 9ee3811fd..7f19b57a1 100644 --- a/extra/admin-api/Models/Spacebar.Models.Db/Models/Application.cs +++ b/extra/admin-api/Models/Spacebar.Models.Db/Models/Application.cs @@ -108,6 +108,9 @@ public partial class Application [InverseProperty("ApplicationBotUser")] public virtual User? BotUser { get; set; } + [InverseProperty("Application")] + public virtual ICollection Emojis { get; set; } = new List(); + [ForeignKey("GuildId")] [InverseProperty("Applications")] public virtual Guild? Guild { get; set; } diff --git a/extra/admin-api/Models/Spacebar.Models.Db/Models/Emoji.cs b/extra/admin-api/Models/Spacebar.Models.Db/Models/Emoji.cs index 04b0ae03c..178237140 100644 --- a/extra/admin-api/Models/Spacebar.Models.Db/Models/Emoji.cs +++ b/extra/admin-api/Models/Spacebar.Models.Db/Models/Emoji.cs @@ -20,7 +20,7 @@ public partial class Emoji public bool Available { get; set; } [Column("guild_id")] - public long GuildId { get; set; } + public long? GuildId { get; set; } [Column("user_id")] public long? UserId { get; set; } @@ -40,9 +40,16 @@ public partial class Emoji [Column("groups")] public List? Groups { get; set; } + [Column("application_id")] + public long? ApplicationId { get; set; } + + [ForeignKey("ApplicationId")] + [InverseProperty("Emojis")] + public virtual Application? Application { get; set; } + [ForeignKey("GuildId")] [InverseProperty("Emojis")] - public virtual Guild Guild { get; set; } = null!; + public virtual Guild? Guild { get; set; } [ForeignKey("UserId")] [InverseProperty("Emojis")] diff --git a/extra/admin-api/Models/Spacebar.Models.Db/Spacebar.Models.Db.csproj b/extra/admin-api/Models/Spacebar.Models.Db/Spacebar.Models.Db.csproj index 80995e585..40a53a102 100644 --- a/extra/admin-api/Models/Spacebar.Models.Db/Spacebar.Models.Db.csproj +++ b/extra/admin-api/Models/Spacebar.Models.Db/Spacebar.Models.Db.csproj @@ -1,4 +1,4 @@ - + net10.0 diff --git a/extra/admin-api/scaffold-db b/extra/admin-api/scaffold-db index a3b92013f..ab31be8fa 100755 --- a/extra/admin-api/scaffold-db +++ b/extra/admin-api/scaffold-db @@ -36,6 +36,8 @@ dotnet-ef dbcontext scaffold "Host=127.0.0.1; Username=postgres; Database=sb-ser --data-annotations \ --no-build +echo 'Cleaning up dependencies...' +dotnet remove package Microsoft.EntityFrameworkCore.Design echo 'Patching results...' @@ -47,6 +49,9 @@ for patch in ../db-patches/*.patch; do patch --verbose -p2 < $patch done +echo 'Cleaning up temporary files...' +rm -v Models/*.cs.orig + echo '[]' > deps.json git add . popd