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> GetNotifications(bool? seen = null, int? skip = null, int? take = null, string[] storeId = null, CancellationToken token = default) { var queryPayload = new Dictionary(); if (seen != null) queryPayload.Add(nameof(seen), seen); if (skip != null) queryPayload.Add(nameof(skip), skip); if (take != null) queryPayload.Add(nameof(take), take); if (storeId != null) queryPayload.Add(nameof(storeId), storeId); return await SendHttpRequest>("api/v1/users/me/notifications", queryPayload, HttpMethod.Get, token); } public virtual async Task GetNotification(string notificationId, CancellationToken token = default) { return await SendHttpRequest($"api/v1/users/me/notifications/{notificationId}", null, HttpMethod.Get, token); } public virtual async Task UpdateNotification(string notificationId, bool? seen, CancellationToken token = default) { return await SendHttpRequest($"api/v1/users/me/notifications/{notificationId}", new UpdateNotification { Seen = seen }, HttpMethod.Put, token); } public virtual async Task GetNotificationSettings(CancellationToken token = default) { return await SendHttpRequest("api/v1/users/me/notification-settings", null, HttpMethod.Get, token); } public virtual async Task UpdateNotificationSettings(UpdateNotificationSettingsRequest request, CancellationToken token = default) { return await SendHttpRequest("api/v1/users/me/notification-settings", request, HttpMethod.Put, token); } public virtual async Task RemoveNotification(string notificationId, CancellationToken token = default) { await SendHttpRequest($"api/v1/users/me/notifications/{notificationId}", null, HttpMethod.Delete, token); } }