using Fitness_core_BE.DTOs.Auth; using Microsoft.AspNetCore.Http; namespace Fitness_core_BE.Interfaces.Services { public interface IAuthService { Task SendOtp(object payload, HttpContext httpContext); Task LoginUser(object payload, HttpContext httpContext); Task RefreshToken(object payload, HttpContext httpContext); Task VerifyOTP(object payload, HttpContext httpContext); // Verifies an OTP and, on success, sets the caller's Customer channel flag // (IsPrimaryPHVerfied / IsEmailVerfied / IsSecondaryPHVerfied). Task VerifyOTPForCus(object payload, HttpContext httpContext); Task IsAvailable(object payload, HttpContext httpContext); Task GetUserDetails(object payload, HttpContext httpContext); Task UpdateUser(object payload, HttpContext httpContext); // Admin/service-initiated update of an arbitrary user's login credential by userId — // unlike UpdateUser (which patches the caller's own profile from their JWT), this lets // a client/staff edit patch the login record of the *customer* they're editing. Forwards // to Auth's existing "adminUpdateUser" function. Task AdminUpdateUser(object payload, HttpContext httpContext); Task RegisterUser(object payload, HttpContext httpContext); Task VerifyOtpForLogin(object payload, HttpContext httpContext); Task ForgotPassword(object payload, HttpContext httpContext); Task ResetPassword(object payload, HttpContext httpContext); Task ResetPasswordWithToken(object payload, HttpContext httpContext); Task VerifyPassword(object payload, HttpContext httpContext); Task LogOut(object payload, HttpContext httpContext); void SetAccessTokenCookie(HttpContext httpContext, string token); } }