mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-01-18 21:32:27 +01:00
898f0f4481
* Greenfield: Improve store users API - Adds an endpoint to update store users (before they had to be removed ad re-added) - Checks for the existance of a user and responds with 404 in that case (fixes #6423) - Allows retrieval of user by user id or email for add and update (consistent with the other endpoints) - Improves the API docs for the store users endpoints * Swagger: Reuse UserIdOrEmail parameter component * Add details to store user data
39 lines
1.6 KiB
C#
39 lines
1.6 KiB
C#
using System;
|
|
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<List<RoleData>> GetStoreRoles(string storeId, CancellationToken token = default)
|
|
{
|
|
return await SendHttpRequest<List<RoleData>>($"api/v1/stores/{storeId}/roles", null, HttpMethod.Get,token);
|
|
}
|
|
|
|
public virtual async Task<IEnumerable<StoreUserData>> GetStoreUsers(string storeId, CancellationToken token = default)
|
|
{
|
|
return await SendHttpRequest<IEnumerable<StoreUserData>>($"api/v1/stores/{storeId}/users", null, HttpMethod.Get, token);
|
|
}
|
|
|
|
public virtual async Task RemoveStoreUser(string storeId, string userId, CancellationToken token = default)
|
|
{
|
|
await SendHttpRequest($"api/v1/stores/{storeId}/users/{userId}", null, HttpMethod.Delete, token);
|
|
}
|
|
|
|
public virtual async Task AddStoreUser(string storeId, StoreUserData request, CancellationToken token = default)
|
|
{
|
|
if (request == null) throw new ArgumentNullException(nameof(request));
|
|
await SendHttpRequest<StoreUserData>($"api/v1/stores/{storeId}/users", request, HttpMethod.Post, token);
|
|
}
|
|
|
|
public virtual async Task UpdateStoreUser(string storeId, string userId, StoreUserData request, CancellationToken token = default)
|
|
{
|
|
if (request == null) throw new ArgumentNullException(nameof(request));
|
|
await SendHttpRequest<StoreUserData>($"api/v1/stores/{storeId}/users/{userId}", request, HttpMethod.Put, token);
|
|
}
|
|
}
|