55 lines
3.6 KiB
C#
55 lines
3.6 KiB
C#
using Microsoft.AspNetCore.Http;
|
|
using Fitness_core_BE.Models.IOs;
|
|
|
|
namespace Fitness_core_BE.Interfaces.Services
|
|
{
|
|
public interface IClientService
|
|
{
|
|
Task<object> GetAllCustomers(object payload, HttpContext httpContext);
|
|
Task<object> GetClientList(object payload, HttpContext httpContext);
|
|
Task<object> GetClientById(object payload, HttpContext httpContext);
|
|
Task<object> UpdateGymProfile(
|
|
UpdateGymProfileRequest request, HttpContext httpContext);
|
|
// Gym-specific Terms & Conditions authoring (client portal).
|
|
Task<object> GetMyGymTerms(object payload, HttpContext httpContext);
|
|
Task<object> PublishGymTerms(object payload, HttpContext httpContext);
|
|
Task<object> UploadGymLogo(IFormFile logo, HttpContext httpContext);
|
|
Task<object> GetGymLogo(HttpContext httpContext);
|
|
Task<object> SendContactOtp(object payload, HttpContext httpContext);
|
|
Task<object> VerifyContactOtp(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerFullDetails(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerMedical(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerDetailsById(object payload, HttpContext httpContext);
|
|
Task<object> CreateCustomerWithPlans(object payload, HttpContext httpContext);
|
|
Task<object> UpdateCustomerByClient(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomersByClientId(object payload, HttpContext httpContext);
|
|
// "Parent" path for a plan-less customer: starts a brand new subscription with them
|
|
// as primary. Mirrors CreateCustomerWithPlans' plan-assignment step, callable standalone
|
|
// for a customer who was created without a plan.
|
|
Task<object> AssignPlanToExistingCustomer(Guid customerId, object payload, HttpContext httpContext);
|
|
|
|
// Switches a customer with an existing Individual-scope subscription onto a different
|
|
// Individual-scope plan: deactivates the old subscription and starts a fresh one.
|
|
Task<object> ChangeCustomerMembershipPlan(Guid customerId, Guid newCustomerPlanId, HttpContext httpContext);
|
|
Task<object> UnassignCustomerMembership(Guid customerId, HttpContext httpContext);
|
|
Task<object> GetCustomerPlansByClientId(object payload, HttpContext httpContext);
|
|
Task<object> RegisterClient(object payload, HttpContext httpContext);
|
|
Task<object> GetPackageList(object payload, HttpContext httpContext);
|
|
Task<object> DeleteCustomerByClient(object payload, HttpContext httpContext);
|
|
Task<object> ClientLogOut(object payload, HttpContext httpContext);
|
|
Task<object> GetWorkoutPlansByClientId(object payload, HttpContext httpContext);
|
|
Task<object> GetWorkoutPlanById(object payload, HttpContext httpContext);
|
|
Task<object> GetMealPlansByClientId(object payload, HttpContext httpContext);
|
|
Task<object> GetMealPlanById(object payload, HttpContext httpContext);
|
|
Task<object> GetAllCustomerPlans(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerPlanById(object payload, HttpContext httpContext);
|
|
Task<object> GetCardDetails(object payload, HttpContext httpContext);
|
|
// Cards a specific member has saved with this gym (used to offer the auto-charge toggle).
|
|
Task<object> GetCustomerCards(object payload, HttpContext httpContext);
|
|
|
|
// Auto-lock-after-non-payment settings (req 7) — client-configurable.
|
|
Task<object> GetLockPolicy(HttpContext httpContext);
|
|
Task<object> UpdateLockPolicy(int? lockAfterDaysOverdue, HttpContext httpContext);
|
|
}
|
|
}
|