using TakeoutSaaS.Application.Identity.Contracts;

namespace TakeoutSaaS.Application.Identity.Abstractions;

/// <summary>
/// 小程序认证服务。
/// </summary>
public interface IMiniAuthService
{
    Task<TokenResponse> LoginWithWeChatAsync(WeChatLoginRequest request, CancellationToken cancellationToken = default);
    Task<TokenResponse> RefreshTokenAsync(RefreshTokenRequest request, CancellationToken cancellationToken = default);
    Task<CurrentUserProfile> GetProfileAsync(long userId, CancellationToken cancellationToken = default);
}
