66 lines
4.7 KiB
C#
66 lines
4.7 KiB
C#
using Microsoft.AspNetCore.Http;
|
|
|
|
namespace Fitness_core_BE.Interfaces.Services
|
|
{
|
|
public interface ICustomerService
|
|
{
|
|
Task<object> CreateCustomer(object payload, HttpContext httpContext);
|
|
Task<object> CustomerExists(object payload, HttpContext httpContext);
|
|
// True when the caller's Customer has verified at least one channel (email/phone).
|
|
Task<bool> IsCustomerVerified(HttpContext httpContext);
|
|
Task<object> AssignPlansToCustomer(Guid customerId, object payload, HttpContext httpContext);
|
|
Task<object> UpdateCustomer(object payload, HttpContext httpContext);
|
|
Task<object> DeleteCustomer(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerMealPlan(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerMealPlanById(object payload, HttpContext httpContext);
|
|
Task<object> GetFollowedMealPlans(object payload, HttpContext httpContext);
|
|
Task<object> GetMyMealPlans(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerWorkOutPlan(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerWorkoutPlanById(object payload, HttpContext httpContext);
|
|
Task<object> GetFollowedWorkoutPlans(object payload, HttpContext httpContext);
|
|
Task<object> GetMyWorkoutPlans(object payload, HttpContext httpContext);
|
|
Task<object> FollowMealPlan(object payload, HttpContext httpContext);
|
|
Task<object> FollowWorkOutPlan(object payload, HttpContext httpContext);
|
|
Task<object> SetWorkoutExerciseCompletion(Guid workoutPlanId, Guid exerciseId, bool completed, HttpContext httpContext);
|
|
Task<object> GetClientDataById(object payload, HttpContext httpContext);
|
|
Task<object> GetClientGyms(object payload, HttpContext httpContext);
|
|
// QR gym onboarding: list a gym's membership plans, then join by picking one.
|
|
Task<object> GetGymPlans(object payload, HttpContext httpContext);
|
|
Task<object> JoinGym(object payload, HttpContext httpContext);
|
|
// Gym-specific Terms & Conditions: view the gym's active terms and record acceptance.
|
|
Task<object> GetGymTerms(object payload, HttpContext httpContext);
|
|
Task<object> AcceptGymTerms(object payload, HttpContext httpContext);
|
|
Task<byte[]?> GetGymTermsPdf(Guid clientId);
|
|
Task<object> CreateCusHealthRec(object payload, HttpContext httpContext);
|
|
Task<object> CreateCusProgressRec(object payload, HttpContext httpContext);
|
|
Task<object> UpdateCusHealthRec(object payload, HttpContext httpContext);
|
|
Task<object> UpdateCusProgressRec(object payload, HttpContext httpContext);
|
|
Task<object> UpdateCustomerTargetNutritions(object payload, HttpContext httpContext);
|
|
Task<object> GetCusBasicDetails(object payload, HttpContext httpContext);
|
|
Task<object> GetCusHealthDetails(object payload, HttpContext httpContext);
|
|
Task<object> GetCusProgressDetails(object payload, HttpContext httpContext);
|
|
Task<object> GetCustomerProgress(object payload, HttpContext httpContext);
|
|
Task<object> UpdateWeeklyProgress(object payload, HttpContext httpContext);
|
|
Task<object> GetWeeklyProgressForCustomer(object payload, HttpContext httpContext);
|
|
Task<object> CreateFeed(object payload, HttpContext httpContext);
|
|
Task<object> GetCardDetails(object payload, HttpContext httpContext);
|
|
// Member self-serve auto-deduct: save a card with explicit consent, then opt a
|
|
// subscription in/out of being auto-charged against that card.
|
|
Task<object> SaveCard(object payload, HttpContext httpContext);
|
|
Task<object> SetAutoCharge(Guid subscriptionId, object payload, HttpContext httpContext);
|
|
// Lets the mobile app find the caller's active subscription id to target SetAutoCharge.
|
|
Task<object> GetMySubscription(object payload, HttpContext httpContext);
|
|
Task<object> GetMyGym(object payload, HttpContext httpContext);
|
|
Task<object> UnfollowMyGym(object payload, HttpContext httpContext);
|
|
Task<object> MyPayment(object payload, HttpContext httpContext);
|
|
// In-app Notification tab: history of assignment/feed pushes sent to this customer.
|
|
Task<object> GetMyNotifications(object payload, HttpContext httpContext);
|
|
Task<object> MarkNotificationRead(Guid notificationId, HttpContext httpContext);
|
|
// Refreshes the stored Expo push token (called at login, since a token can rotate).
|
|
Task<object> UpdatePushToken(object payload, HttpContext httpContext);
|
|
// Links an already-uploaded document (POST /customer/documents) as this customer's
|
|
// profile picture.
|
|
Task<object> UpdateProfileImage(object payload, HttpContext httpContext);
|
|
}
|
|
}
|