mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-22 22:25:28 +01:00
* Editorconfig: Add space_before_self_closing setting This was a difference between the way dotnet-format and Rider format code. See https://www.jetbrains.com/help/rider/EditorConfig_Index.html * Editorconfig: Keep 4 spaces indentation for Swagger JSON files They are all formatted that way, let's keep it like that. * Apply dotnet-format, mostly white-space related changes
27 lines
919 B
C#
27 lines
919 B
C#
using System.Linq;
|
|
using System.Text;
|
|
using NBitcoin.JsonConverters;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace BTCPayServer.Data
|
|
{
|
|
public static class PullPaymentsExtensions
|
|
{
|
|
|
|
public static PullPaymentBlob GetBlob(this PullPaymentData data)
|
|
{
|
|
var result = JsonConvert.DeserializeObject<PullPaymentBlob>(Encoding.UTF8.GetString(data.Blob));
|
|
result!.SupportedPaymentMethods = result.SupportedPaymentMethods.Where(id => id is not null).ToArray();
|
|
return result;
|
|
}
|
|
public static void SetBlob(this PullPaymentData data, PullPaymentBlob blob)
|
|
{
|
|
data.Blob = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(blob));
|
|
}
|
|
|
|
public static bool IsSupported(this PullPaymentData data, Payments.PaymentMethodId paymentId)
|
|
{
|
|
return data.GetBlob().SupportedPaymentMethods.Contains(paymentId);
|
|
}
|
|
}
|
|
}
|