23 lines
1.2 KiB
C#
23 lines
1.2 KiB
C#
using Fitness_core_BE.DTOs.CustomerSubscription;
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
namespace Fitness_core_BE.Interfaces.Services
|
|
{
|
|
public interface ICustomerSubscriptionService
|
|
{
|
|
Task<object> CreateCustomerSubscription(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerSubscriptionById(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerSubscriptionsByCustomerId(object payload, HttpContext httpContext);
|
|
Task<object> GetActiveSubscriptionByCustomerId(object payload, HttpContext httpContext);
|
|
|
|
Task<object> GetSubscriptionSummary(object payload, HttpContext httpContext);
|
|
Task<object> AddMemberToSubscription(object payload, HttpContext httpContext);
|
|
Task<object> RemoveMemberFromSubscription(object payload, HttpContext httpContext);
|
|
Task<List<SubscriptionSummaryDto>> BuildSummariesForCustomerAsync(Guid customerId);
|
|
|
|
// Optional extra fees on a subscription (req 6 — e.g. coaching fee, once or recurring).
|
|
Task<List<CustomerSubItemDto>> GetExtraFeesAsync(Guid subscriptionId, HttpContext httpContext);
|
|
Task<object> AddExtraFeeAsync(Guid subscriptionId, AddExtraFeeRequest request, HttpContext httpContext);
|
|
}
|
|
}
|