using MediatR;

namespace AdsBillingService.API.Application.Commands;

/// <summary>
/// EN: Command to charge advertiser for ad impression/click.
/// VI: Command để charge advertiser cho impression/click quảng cáo.
/// </summary>
public record ChargeAdvertiserCommand : IRequest<bool>
{
    public Guid AdvertiserId { get; init; }
    public Guid CampaignId { get; init; }
    public Guid AdId { get; init; }
    public string ChargeType { get; init; } = null!; // "impression" or "click"
    public decimal Amount { get; init; }
}
