using TakeoutSaaS.Application.Sms.Contracts;

namespace TakeoutSaaS.Application.Sms.Abstractions;

/// <summary>
/// 短信验证码服务抽象。
/// </summary>
public interface IVerificationCodeService
{
    /// <summary>
    /// 发送验证码。
    /// </summary>
    Task<SendVerificationCodeResponse> SendAsync(SendVerificationCodeRequest request, CancellationToken cancellationToken = default);

    /// <summary>
    /// 校验验证码。
    /// </summary>
    Task<bool> VerifyAsync(VerifyVerificationCodeRequest request, CancellationToken cancellationToken = default);
}
