namespace AdsBillingService.API.Application.DTOs;

/// <summary>
/// EN: Billing account DTO for read operations.
/// VI: DTO tài khoản billing cho các thao tác đọc.
/// </summary>
public record BillingAccountDto
{
    public Guid Id { get; init; }
    public Guid AdvertiserId { get; init; }
    public Guid? WalletId { get; init; }
    public string PaymentMethod { get; init; } = null!;
    public string Status { get; init; } = null!;
    public decimal Balance { get; init; }
    public decimal CreditLimit { get; init; }
    public BillingThresholdDto? Threshold { get; init; }
    public DateTime CreatedAt { get; init; }
    public DateTime? UpdatedAt { get; init; }
}

/// <summary>
/// EN: Billing threshold DTO.
/// VI: DTO ngưỡng billing.
/// </summary>
public record BillingThresholdDto
{
    public decimal Amount { get; init; }
    public bool AutoCharge { get; init; }
}
