// using System; using System.Collections.Generic; using Core.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace Core.Migrations { [DbContext(typeof(DataContext))] [Migration("20260617103915_RealmConnections_Init")] partial class RealmConnections_Init { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.9") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Core.Entities.AppConfig", b => { b.Property("Key") .HasColumnType("text"); b.Property("Value") .IsRequired() .HasColumnType("jsonb"); b.HasKey("Key"); b.ToTable("AppConfig"); }); modelBuilder.Entity("Core.Entities.Player", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Accepted") .HasColumnType("boolean"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("Operator") .HasColumnType("boolean"); b.Property("RealmId") .HasColumnType("integer"); b.Property("Uuid") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("RealmId"); b.ToTable("Players"); }); modelBuilder.Entity("Core.Entities.Realm", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ActiveSlotId") .HasColumnType("integer"); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("ParentWorldId") .HasColumnType("integer"); b.Property("State") .IsRequired() .HasColumnType("text"); b.Property("WorldType") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("ActiveSlotId") .IsUnique(); b.HasIndex("ParentWorldId"); b.ToTable("Realms"); }); modelBuilder.Entity("Core.Entities.RealmConnection", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Address") .IsRequired() .HasColumnType("text"); b.Property("RealmId") .HasColumnType("integer"); b.Property("ResourcePackHash") .HasColumnType("text"); b.Property("ResourcePackUrl") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("RealmId") .IsUnique(); b.ToTable("RealmConnections"); }); modelBuilder.Entity("Core.Entities.RealmRegionSelectionPreference", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("PreferredRegion") .IsRequired() .HasColumnType("text"); b.Property("RealmId") .HasColumnType("integer"); b.Property("RegionSelectionPreference") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasDefaultValue(0); b.HasKey("Id"); b.HasIndex("RealmId") .IsUnique(); b.ToTable("RegionSelectionPreferences"); }); modelBuilder.Entity("Core.Entities.Slot", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("RealmId") .HasColumnType("integer"); b.PrimitiveCollection>("Settings") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("text[]") .HasDefaultValueSql("'{}'"); b.Property("SlotId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("RealmId"); b.ToTable("Slots"); }); modelBuilder.Entity("Core.Entities.SlotOptions", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Difficulty") .HasColumnType("integer"); b.Property("ForceGameMode") .HasColumnType("boolean"); b.Property("GameMode") .HasColumnType("integer"); b.Property("SlotId") .HasColumnType("integer"); b.Property("SlotName") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("text") .HasDefaultValueSql("''"); b.Property("SpawnProtection") .HasColumnType("integer"); b.Property("Version") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("SlotId") .IsUnique(); b.ToTable("SlotOptions"); }); modelBuilder.Entity("Core.Entities.Subscription", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("RealmId") .HasColumnType("integer"); b.Property("StartDate") .HasColumnType("timestamp with time zone"); b.Property("SubscriptionId") .IsRequired() .HasColumnType("text"); b.Property("Type") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("RealmId") .IsUnique(); b.ToTable("Subscriptions"); }); modelBuilder.Entity("Core.Entities.Player", b => { b.HasOne("Core.Entities.Realm", "Realm") .WithMany("Players") .HasForeignKey("RealmId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Realm"); }); modelBuilder.Entity("Core.Entities.Realm", b => { b.HasOne("Core.Entities.Slot", "ActiveSlot") .WithOne() .HasForeignKey("Core.Entities.Realm", "ActiveSlotId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Core.Entities.Realm", "ParentWorld") .WithMany() .HasForeignKey("ParentWorldId"); b.Navigation("ActiveSlot"); b.Navigation("ParentWorld"); }); modelBuilder.Entity("Core.Entities.RealmConnection", b => { b.HasOne("Core.Entities.Realm", "Realm") .WithOne("Connection") .HasForeignKey("Core.Entities.RealmConnection", "RealmId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Realm"); }); modelBuilder.Entity("Core.Entities.RealmRegionSelectionPreference", b => { b.HasOne("Core.Entities.Realm", "Realm") .WithOne("RegionSelectionPreference") .HasForeignKey("Core.Entities.RealmRegionSelectionPreference", "RealmId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Realm"); }); modelBuilder.Entity("Core.Entities.Slot", b => { b.HasOne("Core.Entities.Realm", "Realm") .WithMany("Slots") .HasForeignKey("RealmId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Realm"); }); modelBuilder.Entity("Core.Entities.SlotOptions", b => { b.HasOne("Core.Entities.Slot", "Slot") .WithOne("Options") .HasForeignKey("Core.Entities.SlotOptions", "SlotId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Slot"); }); modelBuilder.Entity("Core.Entities.Subscription", b => { b.HasOne("Core.Entities.Realm", "Realm") .WithOne("Subscription") .HasForeignKey("Core.Entities.Subscription", "RealmId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Realm"); }); modelBuilder.Entity("Core.Entities.Realm", b => { b.Navigation("Connection") .IsRequired(); b.Navigation("Players"); b.Navigation("RegionSelectionPreference") .IsRequired(); b.Navigation("Slots"); b.Navigation("Subscription") .IsRequired(); }); modelBuilder.Entity("Core.Entities.Slot", b => { b.Navigation("Options") .IsRequired(); }); #pragma warning restore 612, 618 } } }