Create Metadata property for InvoiceEntity, migrate all data without logic there

This commit is contained in:
nicolas.dorier
2020-08-25 14:33:00 +09:00
parent 8dea7df82a
commit b2ff041ec0
22 changed files with 463 additions and 259 deletions

View File

@@ -1,4 +1,5 @@
using BTCPayServer.Services.Invoices;
using Microsoft.AspNetCore.Authorization.Infrastructure;
namespace BTCPayServer.Data
{
@@ -8,6 +9,17 @@ namespace BTCPayServer.Data
{
var entity = NBitcoin.JsonConverters.Serializer.ToObject<InvoiceEntity>(ZipUtils.Unzip(invoiceData.Blob), null);
entity.Networks = networks;
if (entity.Metadata is null)
{
if (entity.Version < InvoiceEntity.GreenfieldInvoices_Version)
{
entity.MigrateLegacyInvoice();
}
else
{
entity.Metadata = new InvoiceMetadata();
}
}
return entity;
}
public static InvoiceState GetInvoiceState(this InvoiceData invoiceData)