mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-22 14:22:40 +01:00
64 lines
2.9 KiB
C#
64 lines
2.9 KiB
C#
using System.Collections.Generic;
|
|
using System.Net.Http;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using BTCPayServer.Client.Models;
|
|
|
|
namespace BTCPayServer.Client
|
|
{
|
|
public partial class BTCPayServerClient
|
|
{
|
|
public virtual async Task<IEnumerable<LightningNetworkPaymentMethodData>>
|
|
GetStoreLightningNetworkPaymentMethods(string storeId, bool? enabled = null,
|
|
CancellationToken token = default)
|
|
{
|
|
var query = new Dictionary<string, object>();
|
|
if (enabled != null)
|
|
{
|
|
query.Add(nameof(enabled), enabled);
|
|
}
|
|
|
|
var response =
|
|
await _httpClient.SendAsync(
|
|
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LightningNetwork",
|
|
query), token);
|
|
return await HandleResponse<IEnumerable<LightningNetworkPaymentMethodData>>(response);
|
|
}
|
|
|
|
public virtual async Task<LightningNetworkPaymentMethodData> GetStoreLightningNetworkPaymentMethod(
|
|
string storeId,
|
|
string cryptoCode, CancellationToken token = default)
|
|
{
|
|
var response =
|
|
await _httpClient.SendAsync(
|
|
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LightningNetwork/{cryptoCode}"), token);
|
|
return await HandleResponse<LightningNetworkPaymentMethodData>(response);
|
|
}
|
|
|
|
public virtual async Task RemoveStoreLightningNetworkPaymentMethod(string storeId,
|
|
string cryptoCode, CancellationToken token = default)
|
|
{
|
|
var response =
|
|
await _httpClient.SendAsync(
|
|
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LightningNetwork/{cryptoCode}",
|
|
method: HttpMethod.Delete), token);
|
|
await HandleResponse(response);
|
|
}
|
|
|
|
public virtual async Task<LightningNetworkPaymentMethodData> UpdateStoreLightningNetworkPaymentMethod(
|
|
string storeId,
|
|
string cryptoCode, LightningNetworkPaymentMethodData paymentMethod,
|
|
CancellationToken token = default)
|
|
{
|
|
var response = await _httpClient.SendAsync(
|
|
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LightningNetwork/{cryptoCode}",
|
|
bodyPayload: paymentMethod, method: HttpMethod.Put), token);
|
|
return await HandleResponse<LightningNetworkPaymentMethodData>(response);
|
|
}
|
|
|
|
public virtual Task<LightningNetworkPaymentMethodData>
|
|
UpdateStoreLightningNetworkPaymentMethodToInternalNode(string storeId,
|
|
string cryptoCode, CancellationToken token = default) => UpdateStoreLightningNetworkPaymentMethod(
|
|
storeId, cryptoCode, new LightningNetworkPaymentMethodData(cryptoCode, "Internal Node", true), token);
|
|
}
|
|
}
|