diff --git a/BTCPayServer.Data/Migrations/20201228223651_RenamingInvoiceSearchDataToFollowConvention.cs b/BTCPayServer.Data/Migrations/20201228223651_RenamingInvoiceSearchDataToFollowConvention.cs deleted file mode 100644 index 1f4f86fe2..000000000 --- a/BTCPayServer.Data/Migrations/20201228223651_RenamingInvoiceSearchDataToFollowConvention.cs +++ /dev/null @@ -1,87 +0,0 @@ -using BTCPayServer.Data; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace BTCPayServer.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20201228223651_RenamingInvoiceSearchDataToFollowConvention")] - public partial class RenamingInvoiceSearchDataToFollowConvention : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_InvoiceSearchDatas_Invoices_InvoiceDataId", - table: "InvoiceSearchDatas"); - - migrationBuilder.DropPrimaryKey( - name: "PK_InvoiceSearchDatas", - table: "InvoiceSearchDatas"); - - migrationBuilder.RenameTable( - name: "InvoiceSearchDatas", - newName: "InvoiceSearches"); - - migrationBuilder.RenameIndex( - name: "IX_InvoiceSearchDatas_Value", - table: "InvoiceSearches", - newName: "IX_InvoiceSearches_Value"); - - migrationBuilder.RenameIndex( - name: "IX_InvoiceSearchDatas_InvoiceDataId", - table: "InvoiceSearches", - newName: "IX_InvoiceSearches_InvoiceDataId"); - - migrationBuilder.AddPrimaryKey( - name: "PK_InvoiceSearches", - table: "InvoiceSearches", - column: "Id"); - - migrationBuilder.AddForeignKey( - name: "FK_InvoiceSearches_Invoices_InvoiceDataId", - table: "InvoiceSearches", - column: "InvoiceDataId", - principalTable: "Invoices", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_InvoiceSearches_Invoices_InvoiceDataId", - table: "InvoiceSearches"); - - migrationBuilder.DropPrimaryKey( - name: "PK_InvoiceSearches", - table: "InvoiceSearches"); - - migrationBuilder.RenameTable( - name: "InvoiceSearches", - newName: "InvoiceSearchDatas"); - - migrationBuilder.RenameIndex( - name: "IX_InvoiceSearches_Value", - table: "InvoiceSearchDatas", - newName: "IX_InvoiceSearchDatas_Value"); - - migrationBuilder.RenameIndex( - name: "IX_InvoiceSearches_InvoiceDataId", - table: "InvoiceSearchDatas", - newName: "IX_InvoiceSearchDatas_InvoiceDataId"); - - migrationBuilder.AddPrimaryKey( - name: "PK_InvoiceSearchDatas", - table: "InvoiceSearchDatas", - column: "Id"); - - migrationBuilder.AddForeignKey( - name: "FK_InvoiceSearchDatas_Invoices_InvoiceDataId", - table: "InvoiceSearchDatas", - column: "InvoiceDataId", - principalTable: "Invoices", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - } - } -} diff --git a/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.Designer.cs b/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.Designer.cs new file mode 100644 index 000000000..ed65d7d27 --- /dev/null +++ b/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.Designer.cs @@ -0,0 +1,1205 @@ +// +using System; +using BTCPayServer.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +namespace BTCPayServer.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20201228225040_AddingInvoiceSearchesTable")] + partial class AddingInvoiceSearchesTable + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "3.1.4"); + + modelBuilder.Entity("BTCPayServer.Data.APIKeyData", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasMaxLength(50); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.Property("Label") + .HasColumnType("TEXT"); + + b.Property("StoreId") + .HasColumnType("TEXT") + .HasMaxLength(50); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasMaxLength(50); + + b.HasKey("Id"); + + b.HasIndex("StoreId"); + + b.HasIndex("UserId"); + + b.ToTable("ApiKeys"); + }); + + modelBuilder.Entity("BTCPayServer.Data.AddressInvoiceData", b => + { + b.Property("Address") + .HasColumnType("TEXT"); + + b.Property("CreatedTime") + .HasColumnType("TEXT"); + + b.Property("InvoiceDataId") + .HasColumnType("TEXT"); + + b.HasKey("Address"); + + b.HasIndex("InvoiceDataId"); + + b.ToTable("AddressInvoices"); + }); + + modelBuilder.Entity("BTCPayServer.Data.AppData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("AppType") + .HasColumnType("TEXT"); + + b.Property("Created") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("Settings") + .HasColumnType("TEXT"); + + b.Property("StoreDataId") + .HasColumnType("TEXT"); + + b.Property("TagAllInvoices") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("StoreDataId"); + + b.ToTable("Apps"); + }); + + modelBuilder.Entity("BTCPayServer.Data.ApplicationUser", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("AccessFailedCount") + .HasColumnType("INTEGER"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("TEXT"); + + b.Property("Created") + .HasColumnType("TEXT"); + + b.Property("DisabledNotifications") + .HasColumnType("TEXT"); + + b.Property("Email") + .HasColumnType("TEXT") + .HasMaxLength(256); + + b.Property("EmailConfirmed") + .HasColumnType("INTEGER"); + + b.Property("LockoutEnabled") + .HasColumnType("INTEGER"); + + b.Property("LockoutEnd") + .HasColumnType("TEXT"); + + b.Property("NormalizedEmail") + .HasColumnType("TEXT") + .HasMaxLength(256); + + b.Property("NormalizedUserName") + .HasColumnType("TEXT") + .HasMaxLength(256); + + b.Property("PasswordHash") + .HasColumnType("TEXT"); + + b.Property("PhoneNumber") + .HasColumnType("TEXT"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("INTEGER"); + + b.Property("RequiresEmailConfirmation") + .HasColumnType("INTEGER"); + + b.Property("SecurityStamp") + .HasColumnType("TEXT"); + + b.Property("TwoFactorEnabled") + .HasColumnType("INTEGER"); + + b.Property("UserName") + .HasColumnType("TEXT") + .HasMaxLength(256); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasName("UserNameIndex"); + + b.ToTable("AspNetUsers"); + }); + + modelBuilder.Entity("BTCPayServer.Data.HistoricalAddressInvoiceData", b => + { + b.Property("InvoiceDataId") + .HasColumnType("TEXT"); + + b.Property("Address") + .HasColumnType("TEXT"); + + b.Property("Assigned") + .HasColumnType("TEXT"); + + b.Property("CryptoCode") + .HasColumnType("TEXT"); + + b.Property("UnAssigned") + .HasColumnType("TEXT"); + + b.HasKey("InvoiceDataId", "Address"); + + b.ToTable("HistoricalAddressInvoices"); + }); + + modelBuilder.Entity("BTCPayServer.Data.InvoiceData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("Archived") + .HasColumnType("INTEGER"); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.Property("Created") + .HasColumnType("TEXT"); + + b.Property("CurrentRefundId") + .HasColumnType("TEXT"); + + b.Property("CustomerEmail") + .HasColumnType("TEXT"); + + b.Property("ExceptionStatus") + .HasColumnType("TEXT"); + + b.Property("ItemCode") + .HasColumnType("TEXT"); + + b.Property("OrderId") + .HasColumnType("TEXT"); + + b.Property("Status") + .HasColumnType("TEXT"); + + b.Property("StoreDataId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrderId"); + + b.HasIndex("StoreDataId"); + + b.HasIndex("Id", "CurrentRefundId"); + + b.ToTable("Invoices"); + }); + + modelBuilder.Entity("BTCPayServer.Data.InvoiceEventData", b => + { + b.Property("InvoiceDataId") + .HasColumnType("TEXT"); + + b.Property("UniqueId") + .HasColumnType("TEXT"); + + b.Property("Message") + .HasColumnType("TEXT"); + + b.Property("Severity") + .HasColumnType("INTEGER"); + + b.Property("Timestamp") + .HasColumnType("TEXT"); + + b.HasKey("InvoiceDataId", "UniqueId"); + + b.ToTable("InvoiceEvents"); + }); + + modelBuilder.Entity("BTCPayServer.Data.InvoiceSearchData", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasAnnotation("MySql:ValueGeneratedOnAdd", true) + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("Sqlite:Autoincrement", true); + + b.Property("InvoiceDataId") + .HasColumnType("TEXT"); + + b.Property("Value") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("InvoiceDataId"); + + b.HasIndex("Value"); + + b.ToTable("InvoiceSearches"); + }); + + modelBuilder.Entity("BTCPayServer.Data.InvoiceWebhookDeliveryData", b => + { + b.Property("InvoiceId") + .HasColumnType("TEXT"); + + b.Property("DeliveryId") + .HasColumnType("TEXT"); + + b.HasKey("InvoiceId", "DeliveryId"); + + b.HasIndex("DeliveryId") + .IsUnique(); + + b.HasIndex("InvoiceId") + .IsUnique(); + + b.ToTable("InvoiceWebhookDeliveries"); + }); + + modelBuilder.Entity("BTCPayServer.Data.NotificationData", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasMaxLength(36); + + b.Property("ApplicationUserId") + .IsRequired() + .HasColumnType("TEXT") + .HasMaxLength(50); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.Property("Created") + .HasColumnType("TEXT"); + + b.Property("NotificationType") + .IsRequired() + .HasColumnType("TEXT") + .HasMaxLength(100); + + b.Property("Seen") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("ApplicationUserId"); + + b.ToTable("Notifications"); + }); + + modelBuilder.Entity("BTCPayServer.Data.OffchainTransactionData", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasMaxLength(64); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.HasKey("Id"); + + b.ToTable("OffchainTransactions"); + }); + + modelBuilder.Entity("BTCPayServer.Data.PairedSINData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("Label") + .HasColumnType("TEXT"); + + b.Property("PairingTime") + .HasColumnType("TEXT"); + + b.Property("SIN") + .HasColumnType("TEXT"); + + b.Property("StoreDataId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("SIN"); + + b.HasIndex("StoreDataId"); + + b.ToTable("PairedSINData"); + }); + + modelBuilder.Entity("BTCPayServer.Data.PairingCodeData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("DateCreated") + .HasColumnType("TEXT"); + + b.Property("Expiration") + .HasColumnType("TEXT"); + + b.Property("Facade") + .HasColumnType("TEXT"); + + b.Property("Label") + .HasColumnType("TEXT"); + + b.Property("SIN") + .HasColumnType("TEXT"); + + b.Property("StoreDataId") + .HasColumnType("TEXT"); + + b.Property("TokenValue") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("PairingCodes"); + }); + + modelBuilder.Entity("BTCPayServer.Data.PayjoinLock", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasMaxLength(100); + + b.HasKey("Id"); + + b.ToTable("PayjoinLocks"); + }); + + modelBuilder.Entity("BTCPayServer.Data.PaymentData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("Accounted") + .HasColumnType("INTEGER"); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.Property("InvoiceDataId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("InvoiceDataId"); + + b.ToTable("Payments"); + }); + + modelBuilder.Entity("BTCPayServer.Data.PaymentRequestData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("Archived") + .HasColumnType("INTEGER"); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.Property("Created") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasDefaultValue(new DateTimeOffset(new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0))); + + b.Property("Status") + .HasColumnType("INTEGER"); + + b.Property("StoreDataId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("Status"); + + b.HasIndex("StoreDataId"); + + b.ToTable("PaymentRequests"); + }); + + modelBuilder.Entity("BTCPayServer.Data.PayoutData", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasMaxLength(30); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.Property("Date") + .HasColumnType("TEXT"); + + b.Property("Destination") + .HasColumnType("TEXT"); + + b.Property("PaymentMethodId") + .IsRequired() + .HasColumnType("TEXT") + .HasMaxLength(20); + + b.Property("Proof") + .HasColumnType("BLOB"); + + b.Property("PullPaymentDataId") + .HasColumnType("TEXT"); + + b.Property("State") + .IsRequired() + .HasColumnType("TEXT") + .HasMaxLength(20); + + b.HasKey("Id"); + + b.HasIndex("Destination") + .IsUnique(); + + b.HasIndex("PullPaymentDataId"); + + b.HasIndex("State"); + + b.ToTable("Payouts"); + }); + + modelBuilder.Entity("BTCPayServer.Data.PendingInvoiceData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("PendingInvoices"); + }); + + modelBuilder.Entity("BTCPayServer.Data.PlannedTransaction", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasMaxLength(100); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.Property("BroadcastAt") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("PlannedTransactions"); + }); + + modelBuilder.Entity("BTCPayServer.Data.PullPaymentData", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasMaxLength(30); + + b.Property("Archived") + .HasColumnType("INTEGER"); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.Property("EndDate") + .HasColumnType("TEXT"); + + b.Property("Period") + .HasColumnType("INTEGER"); + + b.Property("StartDate") + .HasColumnType("TEXT"); + + b.Property("StoreId") + .HasColumnType("TEXT") + .HasMaxLength(50); + + b.HasKey("Id"); + + b.HasIndex("StoreId"); + + b.ToTable("PullPayments"); + }); + + modelBuilder.Entity("BTCPayServer.Data.RefundData", b => + { + b.Property("InvoiceDataId") + .HasColumnType("TEXT"); + + b.Property("PullPaymentDataId") + .HasColumnType("TEXT") + .HasMaxLength(30); + + b.HasKey("InvoiceDataId", "PullPaymentDataId"); + + b.HasIndex("PullPaymentDataId"); + + b.ToTable("Refunds"); + }); + + modelBuilder.Entity("BTCPayServer.Data.SettingData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("Value") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Settings"); + }); + + modelBuilder.Entity("BTCPayServer.Data.StoreData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("DefaultCrypto") + .HasColumnType("TEXT"); + + b.Property("DerivationStrategies") + .HasColumnType("TEXT"); + + b.Property("DerivationStrategy") + .HasColumnType("TEXT"); + + b.Property("SpeedPolicy") + .HasColumnType("INTEGER"); + + b.Property("StoreBlob") + .HasColumnType("BLOB"); + + b.Property("StoreCertificate") + .HasColumnType("BLOB"); + + b.Property("StoreName") + .HasColumnType("TEXT"); + + b.Property("StoreWebsite") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Stores"); + }); + + modelBuilder.Entity("BTCPayServer.Data.StoreWebhookData", b => + { + b.Property("StoreId") + .HasColumnType("TEXT"); + + b.Property("WebhookId") + .HasColumnType("TEXT"); + + b.HasKey("StoreId", "WebhookId"); + + b.HasIndex("StoreId") + .IsUnique(); + + b.HasIndex("WebhookId") + .IsUnique(); + + b.ToTable("StoreWebhooks"); + }); + + modelBuilder.Entity("BTCPayServer.Data.StoredFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("ApplicationUserId") + .HasColumnType("TEXT"); + + b.Property("FileName") + .HasColumnType("TEXT"); + + b.Property("StorageFileName") + .HasColumnType("TEXT"); + + b.Property("Timestamp") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("ApplicationUserId"); + + b.ToTable("Files"); + }); + + modelBuilder.Entity("BTCPayServer.Data.U2FDevice", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("ApplicationUserId") + .HasColumnType("TEXT"); + + b.Property("AttestationCert") + .IsRequired() + .HasColumnType("BLOB"); + + b.Property("Counter") + .HasColumnType("INTEGER"); + + b.Property("KeyHandle") + .IsRequired() + .HasColumnType("BLOB"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("PublicKey") + .IsRequired() + .HasColumnType("BLOB"); + + b.HasKey("Id"); + + b.HasIndex("ApplicationUserId"); + + b.ToTable("U2FDevices"); + }); + + modelBuilder.Entity("BTCPayServer.Data.UserStore", b => + { + b.Property("ApplicationUserId") + .HasColumnType("TEXT"); + + b.Property("StoreDataId") + .HasColumnType("TEXT"); + + b.Property("Role") + .HasColumnType("TEXT"); + + b.HasKey("ApplicationUserId", "StoreDataId"); + + b.HasIndex("StoreDataId"); + + b.ToTable("UserStore"); + }); + + modelBuilder.Entity("BTCPayServer.Data.WalletData", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.HasKey("Id"); + + b.ToTable("Wallets"); + }); + + modelBuilder.Entity("BTCPayServer.Data.WalletTransactionData", b => + { + b.Property("WalletDataId") + .HasColumnType("TEXT"); + + b.Property("TransactionId") + .HasColumnType("TEXT"); + + b.Property("Blob") + .HasColumnType("BLOB"); + + b.Property("Labels") + .HasColumnType("TEXT"); + + b.HasKey("WalletDataId", "TransactionId"); + + b.ToTable("WalletTransactions"); + }); + + modelBuilder.Entity("BTCPayServer.Data.WebhookData", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasMaxLength(25); + + b.Property("Blob") + .IsRequired() + .HasColumnType("BLOB"); + + b.HasKey("Id"); + + b.ToTable("Webhooks"); + }); + + modelBuilder.Entity("BTCPayServer.Data.WebhookDeliveryData", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasMaxLength(25); + + b.Property("Blob") + .IsRequired() + .HasColumnType("BLOB"); + + b.Property("Timestamp") + .HasColumnType("TEXT"); + + b.Property("WebhookId") + .IsRequired() + .HasColumnType("TEXT") + .HasMaxLength(25); + + b.HasKey("Id"); + + b.HasIndex("WebhookId"); + + b.ToTable("WebhookDeliveries"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT") + .HasMaxLength(256); + + b.Property("NormalizedName") + .HasColumnType("TEXT") + .HasMaxLength(256); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasName("RoleNameIndex"); + + b.ToTable("AspNetRoles"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ClaimType") + .HasColumnType("TEXT"); + + b.Property("ClaimValue") + .HasColumnType("TEXT"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ClaimType") + .HasColumnType("TEXT"); + + b.Property("ClaimValue") + .HasColumnType("TEXT"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("TEXT"); + + b.Property("ProviderKey") + .HasColumnType("TEXT"); + + b.Property("ProviderDisplayName") + .HasColumnType("TEXT"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("TEXT"); + + b.Property("RoleId") + .HasColumnType("TEXT"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("TEXT"); + + b.Property("LoginProvider") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("Value") + .HasColumnType("TEXT"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens"); + }); + + modelBuilder.Entity("BTCPayServer.Data.APIKeyData", b => + { + b.HasOne("BTCPayServer.Data.StoreData", "StoreData") + .WithMany("APIKeys") + .HasForeignKey("StoreId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("BTCPayServer.Data.ApplicationUser", "User") + .WithMany("APIKeys") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.AddressInvoiceData", b => + { + b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData") + .WithMany("AddressInvoices") + .HasForeignKey("InvoiceDataId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.AppData", b => + { + b.HasOne("BTCPayServer.Data.StoreData", "StoreData") + .WithMany("Apps") + .HasForeignKey("StoreDataId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.HistoricalAddressInvoiceData", b => + { + b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData") + .WithMany("HistoricalAddressInvoices") + .HasForeignKey("InvoiceDataId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("BTCPayServer.Data.InvoiceData", b => + { + b.HasOne("BTCPayServer.Data.StoreData", "StoreData") + .WithMany("Invoices") + .HasForeignKey("StoreDataId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("BTCPayServer.Data.RefundData", "CurrentRefund") + .WithMany() + .HasForeignKey("Id", "CurrentRefundId"); + }); + + modelBuilder.Entity("BTCPayServer.Data.InvoiceEventData", b => + { + b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData") + .WithMany("Events") + .HasForeignKey("InvoiceDataId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("BTCPayServer.Data.InvoiceSearchData", b => + { + b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData") + .WithMany("InvoiceSearchData") + .HasForeignKey("InvoiceDataId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.InvoiceWebhookDeliveryData", b => + { + b.HasOne("BTCPayServer.Data.WebhookDeliveryData", "Delivery") + .WithOne() + .HasForeignKey("BTCPayServer.Data.InvoiceWebhookDeliveryData", "DeliveryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BTCPayServer.Data.InvoiceData", "Invoice") + .WithOne() + .HasForeignKey("BTCPayServer.Data.InvoiceWebhookDeliveryData", "InvoiceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("BTCPayServer.Data.NotificationData", b => + { + b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser") + .WithMany("Notifications") + .HasForeignKey("ApplicationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("BTCPayServer.Data.PairedSINData", b => + { + b.HasOne("BTCPayServer.Data.StoreData", "StoreData") + .WithMany("PairedSINs") + .HasForeignKey("StoreDataId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.PaymentData", b => + { + b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData") + .WithMany("Payments") + .HasForeignKey("InvoiceDataId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.PaymentRequestData", b => + { + b.HasOne("BTCPayServer.Data.StoreData", "StoreData") + .WithMany("PaymentRequests") + .HasForeignKey("StoreDataId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.PayoutData", b => + { + b.HasOne("BTCPayServer.Data.PullPaymentData", "PullPaymentData") + .WithMany("Payouts") + .HasForeignKey("PullPaymentDataId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.PendingInvoiceData", b => + { + b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData") + .WithMany("PendingInvoices") + .HasForeignKey("Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("BTCPayServer.Data.PullPaymentData", b => + { + b.HasOne("BTCPayServer.Data.StoreData", "StoreData") + .WithMany("PullPayments") + .HasForeignKey("StoreId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.RefundData", b => + { + b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData") + .WithMany("Refunds") + .HasForeignKey("InvoiceDataId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BTCPayServer.Data.PullPaymentData", "PullPaymentData") + .WithMany() + .HasForeignKey("PullPaymentDataId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("BTCPayServer.Data.StoreWebhookData", b => + { + b.HasOne("BTCPayServer.Data.StoreData", "Store") + .WithOne() + .HasForeignKey("BTCPayServer.Data.StoreWebhookData", "StoreId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BTCPayServer.Data.WebhookData", "Webhook") + .WithOne() + .HasForeignKey("BTCPayServer.Data.StoreWebhookData", "WebhookId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("BTCPayServer.Data.StoredFile", b => + { + b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser") + .WithMany("StoredFiles") + .HasForeignKey("ApplicationUserId"); + }); + + modelBuilder.Entity("BTCPayServer.Data.U2FDevice", b => + { + b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser") + .WithMany("U2FDevices") + .HasForeignKey("ApplicationUserId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("BTCPayServer.Data.UserStore", b => + { + b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser") + .WithMany("UserStores") + .HasForeignKey("ApplicationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BTCPayServer.Data.StoreData", "StoreData") + .WithMany("UserStores") + .HasForeignKey("StoreDataId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("BTCPayServer.Data.WalletTransactionData", b => + { + b.HasOne("BTCPayServer.Data.WalletData", "WalletData") + .WithMany("WalletTransactions") + .HasForeignKey("WalletDataId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("BTCPayServer.Data.WebhookDeliveryData", b => + { + b.HasOne("BTCPayServer.Data.WebhookData", "Webhook") + .WithMany("Deliveries") + .HasForeignKey("WebhookId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("BTCPayServer.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("BTCPayServer.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BTCPayServer.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("BTCPayServer.Data.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/BTCPayServer.Data/Migrations/20201227165824_AdddingInvoiceSearchData.cs b/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.cs similarity index 68% rename from BTCPayServer.Data/Migrations/20201227165824_AdddingInvoiceSearchData.cs rename to BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.cs index ea19861ca..e15421a06 100644 --- a/BTCPayServer.Data/Migrations/20201227165824_AdddingInvoiceSearchData.cs +++ b/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.cs @@ -1,18 +1,14 @@ -using BTCPayServer.Data; -using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace BTCPayServer.Migrations { - [DbContext(typeof(ApplicationDbContext))] - [Migration("20201227165824_AdddingInvoiceSearchData")] - public partial class AdddingInvoiceSearchData : Migration + public partial class AddingInvoiceSearchesTable : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( - name: "InvoiceSearchDatas", + name: "InvoiceSearches", columns: table => new { Id = table.Column(nullable: false) @@ -26,9 +22,9 @@ namespace BTCPayServer.Migrations }, constraints: table => { - table.PrimaryKey("PK_InvoiceSearchDatas", x => x.Id); + table.PrimaryKey("PK_InvoiceSearches", x => x.Id); table.ForeignKey( - name: "FK_InvoiceSearchDatas_Invoices_InvoiceDataId", + name: "FK_InvoiceSearches_Invoices_InvoiceDataId", column: x => x.InvoiceDataId, principalTable: "Invoices", principalColumn: "Id", @@ -36,20 +32,20 @@ namespace BTCPayServer.Migrations }); migrationBuilder.CreateIndex( - name: "IX_InvoiceSearchDatas_InvoiceDataId", - table: "InvoiceSearchDatas", + name: "IX_InvoiceSearches_InvoiceDataId", + table: "InvoiceSearches", column: "InvoiceDataId"); migrationBuilder.CreateIndex( - name: "IX_InvoiceSearchDatas_Value", - table: "InvoiceSearchDatas", + name: "IX_InvoiceSearches_Value", + table: "InvoiceSearches", column: "Value"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( - name: "InvoiceSearchDatas"); + name: "InvoiceSearches"); } } }