mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2024-11-19 09:54:30 +01:00
f8f98ab7f0
* Allow overrides on all methods * Add non-returning SendHttpRequest methods * Use SendHttpRequest consistently * Use file-scoped namespace * Rates: Set default null value for currencyPair * Ensure it works with instances which have BTCPAY_ROOTPATH set
45 lines
1.9 KiB
C#
45 lines
1.9 KiB
C#
using System;
|
|
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<ApiKeyData> GetCurrentAPIKeyInfo(CancellationToken token = default)
|
|
{
|
|
return await SendHttpRequest<ApiKeyData>("api/v1/api-keys/current", null, HttpMethod.Get, token);
|
|
}
|
|
|
|
public virtual async Task<ApiKeyData> CreateAPIKey(CreateApiKeyRequest request, CancellationToken token = default)
|
|
{
|
|
if (request == null) throw new ArgumentNullException(nameof(request));
|
|
return await SendHttpRequest<ApiKeyData>("api/v1/api-keys", request, HttpMethod.Post, token);
|
|
}
|
|
|
|
public virtual async Task<ApiKeyData> CreateAPIKey(string userId, CreateApiKeyRequest request, CancellationToken token = default)
|
|
{
|
|
if (request == null) throw new ArgumentNullException(nameof(request));
|
|
return await SendHttpRequest<ApiKeyData>($"api/v1/users/{userId}/api-keys", request, HttpMethod.Post, token);
|
|
}
|
|
|
|
public virtual async Task RevokeCurrentAPIKeyInfo(CancellationToken token = default)
|
|
{
|
|
await SendHttpRequest("api/v1/api-keys/current", null, HttpMethod.Delete, token);
|
|
}
|
|
|
|
public virtual async Task RevokeAPIKey(string apikey, CancellationToken token = default)
|
|
{
|
|
if (apikey == null) throw new ArgumentNullException(nameof(apikey));
|
|
await SendHttpRequest($"api/v1/api-keys/{apikey}", null, HttpMethod.Delete, token);
|
|
}
|
|
public virtual async Task RevokeAPIKey(string userId, string apikey, CancellationToken token = default)
|
|
{
|
|
if (apikey == null) throw new ArgumentNullException(nameof(apikey));
|
|
if (userId is null) throw new ArgumentNullException(nameof(userId));
|
|
await SendHttpRequest($"api/v1/users/{userId}/api-keys/{apikey}", null, HttpMethod.Delete, token);
|
|
}
|
|
}
|