// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using MoonlightServers.ApiServer.Database; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace MoonlightServers.ApiServer.Database.Migrations { [DbContext(typeof(ServersDataContext))] [Migration("20250605210823_AddedServerShares")] partial class AddedServerShares { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Allocation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("IpAddress") .IsRequired() .HasColumnType("text"); b.Property("NodeId") .HasColumnType("integer"); b.Property("Port") .HasColumnType("integer"); b.Property("ServerId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("NodeId"); b.HasIndex("ServerId"); b.ToTable("Servers_Allocations", (string)null); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Node", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("EnableDynamicFirewall") .HasColumnType("boolean"); b.Property("EnableTransparentMode") .HasColumnType("boolean"); b.Property("Fqdn") .IsRequired() .HasColumnType("text"); b.Property("FtpPort") .HasColumnType("integer"); b.Property("HttpPort") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("Token") .IsRequired() .HasColumnType("text"); b.Property("TokenId") .IsRequired() .HasColumnType("text"); b.Property("UseSsl") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("Servers_Nodes", (string)null); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Server", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Bandwidth") .HasColumnType("integer"); b.Property("Cpu") .HasColumnType("integer"); b.Property("Disk") .HasColumnType("integer"); b.Property("DockerImageIndex") .HasColumnType("integer"); b.Property("Memory") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("NodeId") .HasColumnType("integer"); b.Property("OwnerId") .HasColumnType("integer"); b.Property("StarId") .HasColumnType("integer"); b.Property("StartupOverride") .HasColumnType("text"); b.Property("UseVirtualDisk") .HasColumnType("boolean"); b.HasKey("Id"); b.HasIndex("NodeId"); b.HasIndex("StarId"); b.ToTable("Servers_Servers", (string)null); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.ServerBackup", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Completed") .HasColumnType("boolean"); b.Property("CompletedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("ServerId") .HasColumnType("integer"); b.Property("Size") .HasColumnType("bigint"); b.Property("Successful") .HasColumnType("boolean"); b.HasKey("Id"); b.HasIndex("ServerId"); b.ToTable("Servers_ServerBackups", (string)null); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.ServerShare", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Permissions") .IsRequired() .HasColumnType("jsonb"); b.Property("ServerId") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("ServerId"); b.ToTable("Servers_ServerShares", (string)null); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.ServerVariable", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Key") .IsRequired() .HasColumnType("text"); b.Property("ServerId") .HasColumnType("integer"); b.Property("Value") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("ServerId"); b.ToTable("Servers_ServerVariables", (string)null); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Star", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AllowDockerImageChange") .HasColumnType("boolean"); b.Property("Author") .IsRequired() .HasColumnType("text"); b.Property("DefaultDockerImage") .HasColumnType("integer"); b.Property("DonateUrl") .HasColumnType("text"); b.Property("InstallDockerImage") .IsRequired() .HasColumnType("text"); b.Property("InstallScript") .IsRequired() .HasColumnType("text"); b.Property("InstallShell") .IsRequired() .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("OnlineDetection") .IsRequired() .HasColumnType("text"); b.Property("ParseConfiguration") .IsRequired() .HasColumnType("text"); b.Property("RequiredAllocations") .HasColumnType("integer"); b.Property("StartupCommand") .IsRequired() .HasColumnType("text"); b.Property("StopCommand") .IsRequired() .HasColumnType("text"); b.Property("UpdateUrl") .HasColumnType("text"); b.Property("Version") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Servers_Stars", (string)null); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.StarDockerImage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AutoPulling") .HasColumnType("boolean"); b.Property("DisplayName") .IsRequired() .HasColumnType("text"); b.Property("Identifier") .IsRequired() .HasColumnType("text"); b.Property("StarId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("StarId"); b.ToTable("Servers_StarDockerImages", (string)null); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.StarVariable", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AllowEditing") .HasColumnType("boolean"); b.Property("AllowViewing") .HasColumnType("boolean"); b.Property("DefaultValue") .IsRequired() .HasColumnType("text"); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("Filter") .HasColumnType("text"); b.Property("Key") .IsRequired() .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("StarId") .HasColumnType("integer"); b.Property("Type") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("StarId"); b.ToTable("Servers_StarVariables", (string)null); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Allocation", b => { b.HasOne("MoonlightServers.ApiServer.Database.Entities.Node", "Node") .WithMany("Allocations") .HasForeignKey("NodeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("MoonlightServers.ApiServer.Database.Entities.Server", "Server") .WithMany("Allocations") .HasForeignKey("ServerId"); b.Navigation("Node"); b.Navigation("Server"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Server", b => { b.HasOne("MoonlightServers.ApiServer.Database.Entities.Node", "Node") .WithMany("Servers") .HasForeignKey("NodeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("MoonlightServers.ApiServer.Database.Entities.Star", "Star") .WithMany() .HasForeignKey("StarId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Node"); b.Navigation("Star"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.ServerBackup", b => { b.HasOne("MoonlightServers.ApiServer.Database.Entities.Server", null) .WithMany("Backups") .HasForeignKey("ServerId"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.ServerShare", b => { b.HasOne("MoonlightServers.ApiServer.Database.Entities.Server", "Server") .WithMany("Shares") .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Server"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.ServerVariable", b => { b.HasOne("MoonlightServers.ApiServer.Database.Entities.Server", "Server") .WithMany("Variables") .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Server"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.StarDockerImage", b => { b.HasOne("MoonlightServers.ApiServer.Database.Entities.Star", "Star") .WithMany("DockerImages") .HasForeignKey("StarId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Star"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.StarVariable", b => { b.HasOne("MoonlightServers.ApiServer.Database.Entities.Star", "Star") .WithMany("Variables") .HasForeignKey("StarId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Star"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Node", b => { b.Navigation("Allocations"); b.Navigation("Servers"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Server", b => { b.Navigation("Allocations"); b.Navigation("Backups"); b.Navigation("Shares"); b.Navigation("Variables"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Star", b => { b.Navigation("DockerImages"); b.Navigation("Variables"); }); #pragma warning restore 612, 618 } } }