using Meezi.Core.Enums;

namespace Meezi.API.Models.Crm;

public record SendSmsCampaignRequest(
    string Message,
    CustomerGroup? TargetGroup,
    IReadOnlyList<string>? Phones);

public record SmsCampaignResult(int SentCount, int FailedCount);

public record SmsUsageDto(int UsedThisMonth, int MonthlyLimit, string Month);

/// <summary>Kavenegar account credit balance returned to the dashboard.</summary>
public record SmsBalanceDto(long RemainCredit, string AccountType, bool IsConfigured);

/// <summary>
/// Café's own SMS provider settings (bring-your-own-provider). The API key is
/// returned masked — only the last 4 characters are ever echoed back.
/// </summary>
public record SmsSettingsDto(bool IsConfigured, string? ApiKeyMasked, string? SenderNumber);

public record UpdateSmsSettingsRequest(string? ApiKey, string? SenderNumber);
