// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using MoonlightServers.ApiServer.Database; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace MoonlightServers.ApiServer.Database.Migrations { [DbContext(typeof(ServersDataContext))] partial class ServersDataContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("servers") .HasAnnotation("ProductVersion", "9.0.9") .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("Allocations", "servers"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Node", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); 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("Nodes", "servers"); }); modelBuilder.Entity("MoonlightServers.ApiServer.Database.Entities.Server", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); 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.HasKey("Id"); b.HasIndex("NodeId"); b.HasIndex("StarId"); b.ToTable("Servers", "servers"); }); 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("ServerBackups", "servers"); }); 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("ServerId") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("ServerId"); b.ToTable("ServerShares", "servers"); }); 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("ServerVariables", "servers"); }); 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("Stars", "servers"); }); 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("StarDockerImages", "servers"); }); 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("StarVariables", "servers"); }); 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.OwnsOne("MoonlightServers.ApiServer.Models.ServerShareContent", "Content", b1 => { b1.Property("ServerShareId") .HasColumnType("integer"); b1.HasKey("ServerShareId"); b1.ToTable("ServerShares", "servers"); b1.ToJson("Content"); b1.WithOwner() .HasForeignKey("ServerShareId"); b1.OwnsMany("MoonlightServers.ApiServer.Models.ServerShareContent+SharePermission", "Permissions", b2 => { b2.Property("ServerShareContentServerShareId") .HasColumnType("integer"); b2.Property("__synthesizedOrdinal") .ValueGeneratedOnAdd() .HasColumnType("integer"); b2.Property("Identifier") .IsRequired() .HasColumnType("text"); b2.Property("Level") .HasColumnType("integer"); b2.HasKey("ServerShareContentServerShareId", "__synthesizedOrdinal"); b2.ToTable("ServerShares", "servers"); b2.WithOwner() .HasForeignKey("ServerShareContentServerShareId"); }); b1.Navigation("Permissions"); }); b.Navigation("Content") .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 } } }