mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-01-19 05:33:31 +01:00
Remove old unused refund table
This commit is contained in:
parent
dc5d8a6cb7
commit
fdc11bba8d
@ -42,7 +42,6 @@ namespace BTCPayServer.Data
|
|||||||
public DbSet<OffchainTransactionData> OffchainTransactions { get; set; }
|
public DbSet<OffchainTransactionData> OffchainTransactions { get; set; }
|
||||||
public DbSet<HistoricalAddressInvoiceData> HistoricalAddressInvoices { get; set; }
|
public DbSet<HistoricalAddressInvoiceData> HistoricalAddressInvoices { get; set; }
|
||||||
public DbSet<PendingInvoiceData> PendingInvoices { get; set; }
|
public DbSet<PendingInvoiceData> PendingInvoices { get; set; }
|
||||||
public DbSet<RefundAddressesData> RefundAddresses { get; set; }
|
|
||||||
public DbSet<PaymentData> Payments { get; set; }
|
public DbSet<PaymentData> Payments { get; set; }
|
||||||
public DbSet<PaymentRequestData> PaymentRequests { get; set; }
|
public DbSet<PaymentRequestData> PaymentRequests { get; set; }
|
||||||
public DbSet<PullPaymentData> PullPayments { get; set; }
|
public DbSet<PullPaymentData> PullPayments { get; set; }
|
||||||
@ -85,13 +84,6 @@ namespace BTCPayServer.Data
|
|||||||
builder.Entity<PaymentData>()
|
builder.Entity<PaymentData>()
|
||||||
.HasIndex(o => o.InvoiceDataId);
|
.HasIndex(o => o.InvoiceDataId);
|
||||||
|
|
||||||
|
|
||||||
builder.Entity<RefundAddressesData>()
|
|
||||||
.HasOne(o => o.InvoiceData)
|
|
||||||
.WithMany(i => i.RefundAddresses).OnDelete(DeleteBehavior.Cascade);
|
|
||||||
builder.Entity<RefundAddressesData>()
|
|
||||||
.HasIndex(o => o.InvoiceDataId);
|
|
||||||
|
|
||||||
builder.Entity<UserStore>()
|
builder.Entity<UserStore>()
|
||||||
.HasOne(o => o.StoreData)
|
.HasOne(o => o.StoreData)
|
||||||
.WithMany(i => i.UserStores).OnDelete(DeleteBehavior.Cascade);
|
.WithMany(i => i.UserStores).OnDelete(DeleteBehavior.Cascade);
|
||||||
|
@ -36,11 +36,6 @@ namespace BTCPayServer.Data
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<RefundAddressesData> RefundAddresses
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<HistoricalAddressInvoiceData> HistoricalAddressInvoices
|
public List<HistoricalAddressInvoiceData> HistoricalAddressInvoices
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace BTCPayServer.Data
|
|
||||||
{
|
|
||||||
public class RefundAddressesData
|
|
||||||
{
|
|
||||||
public string Id
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
public string InvoiceDataId
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
public InvoiceData InvoiceData
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
public byte[] Blob
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,45 @@
|
|||||||
|
using System;
|
||||||
|
using BTCPayServer.Data;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
namespace BTCPayServer.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(ApplicationDbContext))]
|
||||||
|
[Migration("20200625043042_removeoldrefund")]
|
||||||
|
public partial class removeoldrefund : Migration
|
||||||
|
{
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "RefundAddresses");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "RefundAddresses",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<string>(type: "TEXT", nullable: false),
|
||||||
|
Blob = table.Column<byte[]>(type: "BLOB", nullable: true),
|
||||||
|
InvoiceDataId = table.Column<string>(type: "TEXT", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_RefundAddresses", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_RefundAddresses_Invoices_InvoiceDataId",
|
||||||
|
column: x => x.InvoiceDataId,
|
||||||
|
principalTable: "Invoices",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_RefundAddresses_InvoiceDataId",
|
||||||
|
table: "RefundAddresses",
|
||||||
|
column: "InvoiceDataId");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -509,24 +509,6 @@ namespace BTCPayServer.Migrations
|
|||||||
b.ToTable("PullPayments");
|
b.ToTable("PullPayments");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("BTCPayServer.Data.RefundAddressesData", b =>
|
|
||||||
{
|
|
||||||
b.Property<string>("Id")
|
|
||||||
.HasColumnType("TEXT");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Blob")
|
|
||||||
.HasColumnType("BLOB");
|
|
||||||
|
|
||||||
b.Property<string>("InvoiceDataId")
|
|
||||||
.HasColumnType("TEXT");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("InvoiceDataId");
|
|
||||||
|
|
||||||
b.ToTable("RefundAddresses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("BTCPayServer.Data.SettingData", b =>
|
modelBuilder.Entity("BTCPayServer.Data.SettingData", b =>
|
||||||
{
|
{
|
||||||
b.Property<string>("Id")
|
b.Property<string>("Id")
|
||||||
@ -922,14 +904,6 @@ namespace BTCPayServer.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Cascade);
|
.OnDelete(DeleteBehavior.Cascade);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("BTCPayServer.Data.RefundAddressesData", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData")
|
|
||||||
.WithMany("RefundAddresses")
|
|
||||||
.HasForeignKey("InvoiceDataId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("BTCPayServer.Data.StoredFile", b =>
|
modelBuilder.Entity("BTCPayServer.Data.StoredFile", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser")
|
b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser")
|
||||||
|
@ -80,7 +80,6 @@ retry:
|
|||||||
{
|
{
|
||||||
return (await db.AddressInvoices
|
return (await db.AddressInvoices
|
||||||
.Include(a => a.InvoiceData.Payments)
|
.Include(a => a.InvoiceData.Payments)
|
||||||
.Include(a => a.InvoiceData.RefundAddresses)
|
|
||||||
#pragma warning disable CS0618
|
#pragma warning disable CS0618
|
||||||
.Where(a => addresses.Contains(a.Address))
|
.Where(a => addresses.Contains(a.Address))
|
||||||
#pragma warning restore CS0618
|
#pragma warning restore CS0618
|
||||||
@ -440,8 +439,7 @@ retry:
|
|||||||
IQueryable<Data.InvoiceData> query =
|
IQueryable<Data.InvoiceData> query =
|
||||||
context
|
context
|
||||||
.Invoices
|
.Invoices
|
||||||
.Include(o => o.Payments)
|
.Include(o => o.Payments);
|
||||||
.Include(o => o.RefundAddresses);
|
|
||||||
if (inludeAddressData)
|
if (inludeAddressData)
|
||||||
query = query.Include(o => o.HistoricalAddressInvoices).Include(o => o.AddressInvoices);
|
query = query.Include(o => o.HistoricalAddressInvoices).Include(o => o.AddressInvoices);
|
||||||
query = query.Where(i => i.Id == id);
|
query = query.Where(i => i.Id == id);
|
||||||
@ -494,7 +492,7 @@ retry:
|
|||||||
entity.ExceptionStatus = state.ExceptionStatus;
|
entity.ExceptionStatus = state.ExceptionStatus;
|
||||||
entity.Status = state.Status;
|
entity.Status = state.Status;
|
||||||
entity.RefundMail = invoice.CustomerEmail;
|
entity.RefundMail = invoice.CustomerEmail;
|
||||||
entity.Refundable = invoice.RefundAddresses.Count != 0;
|
entity.Refundable = false;
|
||||||
if (invoice.HistoricalAddressInvoices != null)
|
if (invoice.HistoricalAddressInvoices != null)
|
||||||
{
|
{
|
||||||
entity.HistoricalAddresses = invoice.HistoricalAddressInvoices.ToArray();
|
entity.HistoricalAddresses = invoice.HistoricalAddressInvoices.ToArray();
|
||||||
@ -621,8 +619,7 @@ retry:
|
|||||||
using (var context = _ContextFactory.CreateContext())
|
using (var context = _ContextFactory.CreateContext())
|
||||||
{
|
{
|
||||||
var query = GetInvoiceQuery(context, queryObject);
|
var query = GetInvoiceQuery(context, queryObject);
|
||||||
query = query.Include(o => o.Payments)
|
query = query.Include(o => o.Payments);
|
||||||
.Include(o => o.RefundAddresses);
|
|
||||||
if (queryObject.IncludeAddresses)
|
if (queryObject.IncludeAddresses)
|
||||||
query = query.Include(o => o.HistoricalAddressInvoices).Include(o => o.AddressInvoices);
|
query = query.Include(o => o.HistoricalAddressInvoices).Include(o => o.AddressInvoices);
|
||||||
if (queryObject.IncludeEvents)
|
if (queryObject.IncludeEvents)
|
||||||
@ -656,31 +653,6 @@ retry:
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task AddRefundsAsync(string invoiceId, TxOut[] outputs, BTCPayNetwork network)
|
|
||||||
{
|
|
||||||
if (outputs.Length == 0)
|
|
||||||
return;
|
|
||||||
outputs = outputs.Take(10).ToArray();
|
|
||||||
using (var context = _ContextFactory.CreateContext())
|
|
||||||
{
|
|
||||||
int i = 0;
|
|
||||||
foreach (var output in outputs)
|
|
||||||
{
|
|
||||||
context.RefundAddresses.Add(new RefundAddressesData()
|
|
||||||
{
|
|
||||||
Id = invoiceId + "-" + i,
|
|
||||||
InvoiceDataId = invoiceId,
|
|
||||||
Blob = ToBytes(output, network)
|
|
||||||
});
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
await context.SaveChangesAsync().ConfigureAwait(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
var addresses = outputs.Select(o => o.ScriptPubKey.GetDestinationAddress(network.NBitcoinNetwork)).Where(a => a != null).ToArray();
|
|
||||||
AddToTextSearch(invoiceId, addresses.Select(a => a.ToString()).ToArray());
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Add a payment to an invoice
|
/// Add a payment to an invoice
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user