using TakeoutSaaS.Module.Sms;

namespace TakeoutSaaS.Application.Sms.Contracts;

/// <summary>
/// 发送验证码请求。
/// </summary>
/// <remarks>
/// 创建发送请求。
/// </remarks>
public sealed class SendVerificationCodeRequest(string phoneNumber, string scene, SmsProviderKind? provider = null)
{
    /// <summary>
    /// 手机号（支持 +86 前缀或纯 11 位）。
    /// </summary>
    public string PhoneNumber { get; } = phoneNumber;

    /// <summary>
    /// 业务场景（如 login/register/reset）。
    /// </summary>
    public string Scene { get; } = scene;

    /// <summary>
    /// 指定服务商，未指定则使用默认配置。
    /// </summary>
    public SmsProviderKind? Provider { get; } = provider;
}
