Files
Core_Be/Interfaces/Services/ICustomerService.cs
T
Dhananjaya99 bffc9b1686 first commit
2026-09-28 11:44:26 +05:30

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);
}
}