// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Moonlight.App.Database; #nullable disable namespace Moonlight.App.Database.Migrations { [DbContext(typeof(DataContext))] [Migration("20230314190100_AddedAllocationsToImage")] partial class AddedAllocationsToImage { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "7.0.3") .HasAnnotation("Relational:MaxIdentifierLength", 64); modelBuilder.Entity("Moonlight.App.Database.Entities.AaPanel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("BaseDomain") .IsRequired() .HasColumnType("longtext"); b.Property("Key") .IsRequired() .HasColumnType("longtext"); b.Property("Url") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("AaPanels"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Database", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("AaPanelId") .HasColumnType("int"); b.Property("InternalAaPanelId") .HasColumnType("int"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("OwnerId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("AaPanelId"); b.HasIndex("OwnerId"); b.ToTable("Databases"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.DockerImage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Default") .HasColumnType("tinyint(1)"); b.Property("ImageId") .HasColumnType("int"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("ImageId"); b.ToTable("DockerImages"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Domain", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("OwnerId") .HasColumnType("int"); b.Property("SharedDomainId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("OwnerId"); b.HasIndex("SharedDomainId"); b.ToTable("Domains"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Image", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Allocations") .HasColumnType("int"); b.Property("ConfigFiles") .IsRequired() .HasColumnType("longtext"); b.Property("Description") .IsRequired() .HasColumnType("longtext"); b.Property("InstallDockerImage") .IsRequired() .HasColumnType("longtext"); b.Property("InstallEntrypoint") .IsRequired() .HasColumnType("longtext"); b.Property("InstallScript") .IsRequired() .HasColumnType("longtext"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("Startup") .IsRequired() .HasColumnType("longtext"); b.Property("StartupDetection") .IsRequired() .HasColumnType("longtext"); b.Property("StopCommand") .IsRequired() .HasColumnType("longtext"); b.Property("TagsJson") .IsRequired() .HasColumnType("longtext"); b.Property("Uuid") .HasColumnType("char(36)"); b.HasKey("Id"); b.ToTable("Images"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.ImageTag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("ImageTags"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.ImageVariable", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("DefaultValue") .IsRequired() .HasColumnType("longtext"); b.Property("ImageId") .HasColumnType("int"); b.Property("Key") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("ImageId"); b.ToTable("ImageVariables"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.LoadingMessage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Message") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("LoadingMessages"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.LogsEntries.AuditLogEntry", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Ip") .IsRequired() .HasColumnType("longtext"); b.Property("JsonData") .IsRequired() .HasColumnType("longtext"); b.Property("System") .HasColumnType("tinyint(1)"); b.Property("Type") .HasColumnType("int"); b.HasKey("Id"); b.ToTable("AuditLog"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.LogsEntries.ErrorLogEntry", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Class") .IsRequired() .HasColumnType("longtext"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Ip") .IsRequired() .HasColumnType("longtext"); b.Property("JsonData") .IsRequired() .HasColumnType("longtext"); b.Property("Stacktrace") .IsRequired() .HasColumnType("longtext"); b.Property("System") .HasColumnType("tinyint(1)"); b.HasKey("Id"); b.ToTable("ErrorLog"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.LogsEntries.SecurityLogEntry", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Ip") .IsRequired() .HasColumnType("longtext"); b.Property("JsonData") .IsRequired() .HasColumnType("longtext"); b.Property("System") .HasColumnType("tinyint(1)"); b.Property("Type") .HasColumnType("int"); b.HasKey("Id"); b.ToTable("SecurityLog"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Node", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Fqdn") .IsRequired() .HasColumnType("longtext"); b.Property("HttpPort") .HasColumnType("int"); b.Property("MoonlightDaemonPort") .HasColumnType("int"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("SftpPort") .HasColumnType("int"); b.Property("Ssl") .HasColumnType("tinyint(1)"); b.Property("Token") .IsRequired() .HasColumnType("longtext"); b.Property("TokenId") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Nodes"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.NodeAllocation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("NodeId") .HasColumnType("int"); b.Property("Port") .HasColumnType("int"); b.Property("ServerId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("NodeId"); b.HasIndex("ServerId"); b.ToTable("NodeAllocations"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Notification.NotificationAction", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Action") .IsRequired() .HasColumnType("longtext"); b.Property("NotificationClientId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("NotificationClientId"); b.ToTable("NotificationActions"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Notification.NotificationClient", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("UserId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("NotificationClients"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Revoke", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Identifier") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Revokes"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Server", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Cpu") .HasColumnType("int"); b.Property("Disk") .HasColumnType("bigint"); b.Property("DockerImageIndex") .HasColumnType("int"); b.Property("ImageId") .HasColumnType("int"); b.Property("Installing") .HasColumnType("tinyint(1)"); b.Property("MainAllocationId") .HasColumnType("int"); b.Property("Memory") .HasColumnType("bigint"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("NodeId") .HasColumnType("int"); b.Property("OverrideStartup") .IsRequired() .HasColumnType("longtext"); b.Property("OwnerId") .HasColumnType("int"); b.Property("Suspended") .HasColumnType("tinyint(1)"); b.Property("Uuid") .HasColumnType("char(36)"); b.HasKey("Id"); b.HasIndex("ImageId"); b.HasIndex("MainAllocationId"); b.HasIndex("NodeId"); b.HasIndex("OwnerId"); b.ToTable("Servers"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.ServerBackup", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Bytes") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("tinyint(1)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("ServerId") .HasColumnType("int"); b.Property("Uuid") .HasColumnType("char(36)"); b.HasKey("Id"); b.HasIndex("ServerId"); b.ToTable("ServerBackups"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.ServerVariable", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Key") .IsRequired() .HasColumnType("longtext"); b.Property("ServerId") .HasColumnType("int"); b.Property("Value") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("ServerId"); b.ToTable("ServerVariables"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.SharedDomain", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("CloudflareId") .IsRequired() .HasColumnType("longtext"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("SharedDomains"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Subscription", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Description") .IsRequired() .HasColumnType("longtext"); b.Property("Duration") .HasColumnType("int"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("SellPassId") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Subscriptions"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.SubscriptionLimit", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Amount") .HasColumnType("int"); b.Property("Cpu") .HasColumnType("int"); b.Property("Disk") .HasColumnType("int"); b.Property("ImageId") .HasColumnType("int"); b.Property("Memory") .HasColumnType("int"); b.Property("SubscriptionId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("ImageId"); b.HasIndex("SubscriptionId"); b.ToTable("SubscriptionLimits"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.SupportMessage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Answer") .IsRequired() .HasColumnType("longtext"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("IsQuestion") .HasColumnType("tinyint(1)"); b.Property("IsSupport") .HasColumnType("tinyint(1)"); b.Property("IsSystem") .HasColumnType("tinyint(1)"); b.Property("Message") .IsRequired() .HasColumnType("longtext"); b.Property("RecipientId") .HasColumnType("int"); b.Property("SenderId") .HasColumnType("int"); b.Property("Type") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("RecipientId"); b.HasIndex("SenderId"); b.ToTable("SupportMessages"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Address") .IsRequired() .HasColumnType("longtext"); b.Property("Admin") .HasColumnType("tinyint(1)"); b.Property("City") .IsRequired() .HasColumnType("longtext"); b.Property("Country") .IsRequired() .HasColumnType("longtext"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DiscordDiscriminator") .IsRequired() .HasColumnType("longtext"); b.Property("DiscordId") .HasColumnType("bigint"); b.Property("DiscordUsername") .IsRequired() .HasColumnType("longtext"); b.Property("Email") .IsRequired() .HasColumnType("longtext"); b.Property("FirstName") .IsRequired() .HasColumnType("longtext"); b.Property("LastName") .IsRequired() .HasColumnType("longtext"); b.Property("Password") .IsRequired() .HasColumnType("longtext"); b.Property("State") .IsRequired() .HasColumnType("longtext"); b.Property("Status") .HasColumnType("int"); b.Property("SubscriptionDuration") .HasColumnType("int"); b.Property("SubscriptionId") .HasColumnType("int"); b.Property("SubscriptionSince") .HasColumnType("datetime(6)"); b.Property("SupportPending") .HasColumnType("tinyint(1)"); b.Property("TokenValidTime") .HasColumnType("datetime(6)"); b.Property("TotpEnabled") .HasColumnType("tinyint(1)"); b.Property("TotpSecret") .IsRequired() .HasColumnType("longtext"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("SubscriptionId"); b.ToTable("Users"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Website", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("AaPanelId") .HasColumnType("int"); b.Property("DomainName") .IsRequired() .HasColumnType("longtext"); b.Property("FtpPassword") .IsRequired() .HasColumnType("longtext"); b.Property("FtpUsername") .IsRequired() .HasColumnType("longtext"); b.Property("InternalAaPanelId") .HasColumnType("int"); b.Property("OwnerId") .HasColumnType("int"); b.Property("PhpVersion") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("AaPanelId"); b.HasIndex("OwnerId"); b.ToTable("Websites"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Database", b => { b.HasOne("Moonlight.App.Database.Entities.AaPanel", "AaPanel") .WithMany() .HasForeignKey("AaPanelId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Moonlight.App.Database.Entities.User", "Owner") .WithMany() .HasForeignKey("OwnerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AaPanel"); b.Navigation("Owner"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.DockerImage", b => { b.HasOne("Moonlight.App.Database.Entities.Image", null) .WithMany("DockerImages") .HasForeignKey("ImageId"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Domain", b => { b.HasOne("Moonlight.App.Database.Entities.User", "Owner") .WithMany() .HasForeignKey("OwnerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Moonlight.App.Database.Entities.SharedDomain", "SharedDomain") .WithMany() .HasForeignKey("SharedDomainId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Owner"); b.Navigation("SharedDomain"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.ImageVariable", b => { b.HasOne("Moonlight.App.Database.Entities.Image", null) .WithMany("Variables") .HasForeignKey("ImageId"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.NodeAllocation", b => { b.HasOne("Moonlight.App.Database.Entities.Node", null) .WithMany("Allocations") .HasForeignKey("NodeId"); b.HasOne("Moonlight.App.Database.Entities.Server", null) .WithMany("Allocations") .HasForeignKey("ServerId"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Notification.NotificationAction", b => { b.HasOne("Moonlight.App.Database.Entities.Notification.NotificationClient", "NotificationClient") .WithMany() .HasForeignKey("NotificationClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("NotificationClient"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Notification.NotificationClient", b => { b.HasOne("Moonlight.App.Database.Entities.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Server", b => { b.HasOne("Moonlight.App.Database.Entities.Image", "Image") .WithMany() .HasForeignKey("ImageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Moonlight.App.Database.Entities.NodeAllocation", "MainAllocation") .WithMany() .HasForeignKey("MainAllocationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Moonlight.App.Database.Entities.Node", "Node") .WithMany() .HasForeignKey("NodeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Moonlight.App.Database.Entities.User", "Owner") .WithMany() .HasForeignKey("OwnerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Image"); b.Navigation("MainAllocation"); b.Navigation("Node"); b.Navigation("Owner"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.ServerBackup", b => { b.HasOne("Moonlight.App.Database.Entities.Server", null) .WithMany("Backups") .HasForeignKey("ServerId"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.ServerVariable", b => { b.HasOne("Moonlight.App.Database.Entities.Server", null) .WithMany("Variables") .HasForeignKey("ServerId"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.SubscriptionLimit", b => { b.HasOne("Moonlight.App.Database.Entities.Image", "Image") .WithMany() .HasForeignKey("ImageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Moonlight.App.Database.Entities.Subscription", null) .WithMany("Limits") .HasForeignKey("SubscriptionId"); b.Navigation("Image"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.SupportMessage", b => { b.HasOne("Moonlight.App.Database.Entities.User", "Recipient") .WithMany() .HasForeignKey("RecipientId"); b.HasOne("Moonlight.App.Database.Entities.User", "Sender") .WithMany() .HasForeignKey("SenderId"); b.Navigation("Recipient"); b.Navigation("Sender"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.User", b => { b.HasOne("Moonlight.App.Database.Entities.Subscription", "Subscription") .WithMany() .HasForeignKey("SubscriptionId"); b.Navigation("Subscription"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Website", b => { b.HasOne("Moonlight.App.Database.Entities.AaPanel", "AaPanel") .WithMany() .HasForeignKey("AaPanelId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Moonlight.App.Database.Entities.User", "Owner") .WithMany() .HasForeignKey("OwnerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AaPanel"); b.Navigation("Owner"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Image", b => { b.Navigation("DockerImages"); b.Navigation("Variables"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Node", b => { b.Navigation("Allocations"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Server", b => { b.Navigation("Allocations"); b.Navigation("Backups"); b.Navigation("Variables"); }); modelBuilder.Entity("Moonlight.App.Database.Entities.Subscription", b => { b.Navigation("Limits"); }); #pragma warning restore 612, 618 } } }