67 lines
2.9 KiB
C#
67 lines
2.9 KiB
C#
using Fitness_core_BE.Models;
|
|
|
|
namespace Fitness_core_BE.Interfaces
|
|
{
|
|
public interface IPlatformBillingRepository
|
|
{
|
|
Task<List<ClientPackage>> GetPricingPlansAsync(CancellationToken ct = default);
|
|
Task<ClientPackage?> GetPackageByIdAsync(Guid packageId, CancellationToken ct = default);
|
|
Task AddPackageAsync(ClientPackage package, CancellationToken ct = default);
|
|
Task<List<ClientPackage>> GetOtherDefaultPackagesAsync(
|
|
Guid exceptPackageId,
|
|
CancellationToken ct = default);
|
|
Task<ClientPackage?> GetDefaultPackageAsync(CancellationToken ct = default);
|
|
Task<ClientPackage?> GetActivePackageForClientAsync(
|
|
Guid clientId,
|
|
CancellationToken ct = default);
|
|
|
|
Task<Client?> GetClientByIdAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<List<ClientSubscription>> GetActiveClientSubscriptionsAsync(
|
|
Guid clientId,
|
|
CancellationToken ct = default);
|
|
Task<ClientSubscription?> GetActiveClientSubscriptionAsync(
|
|
Guid clientId,
|
|
CancellationToken ct = default);
|
|
Task AddClientSubscriptionAsync(
|
|
ClientSubscription subscription,
|
|
CancellationToken ct = default);
|
|
|
|
Task<List<ClientDeviceBilling>> GetActiveDeviceBillingsAsync(
|
|
Guid clientId,
|
|
CancellationToken ct = default);
|
|
Task<ClientDeviceBilling?> GetLatestActiveDeviceBillingAsync(
|
|
Guid clientId,
|
|
CancellationToken ct = default);
|
|
Task AddDeviceBillingAsync(
|
|
ClientDeviceBilling billing,
|
|
CancellationToken ct = default);
|
|
|
|
Task<bool> HasActiveDeviceAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<List<Guid>> GetMonthlyBillingCandidatesAsync(
|
|
DateTime startOfMonth,
|
|
CancellationToken ct = default);
|
|
|
|
Task<List<ClientInvoice>> GetInvoicesByStatusAsync(
|
|
string status,
|
|
bool newestFirst,
|
|
CancellationToken ct = default);
|
|
Task<ClientInvoice?> GetInvoiceWithClientAsync(
|
|
Guid invoiceId,
|
|
bool includeBusinesses,
|
|
CancellationToken ct = default);
|
|
Task<ClientCard?> GetClientCardAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<List<ClientCard>> GetClientCardsAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<ClientCard?> GetClientCardByTokenAsync(Guid clientId, string cardToken, CancellationToken ct = default);
|
|
Task AddInvoiceAsync(
|
|
ClientInvoice invoice,
|
|
IReadOnlyCollection<ClientInvoiceItem> items,
|
|
CancellationToken ct = default);
|
|
|
|
Task<DevicePricingConfig?> GetDevicePricingConfigAsync(
|
|
CancellationToken ct = default);
|
|
Task AddDevicePricingConfigAsync(
|
|
DevicePricingConfig config,
|
|
CancellationToken ct = default);
|
|
}
|
|
}
|