using MediatR;
using AdsTrackingService.Domain.AggregatesModel.ConversionAggregate;

namespace AdsTrackingService.API.Application.Commands;

/// <summary>
/// EN: Command to record a conversion event.
/// VI: Command để ghi nhận sự kiện conversion.
/// </summary>
public record RecordConversionCommand(
    Guid AdvertiserId,
    Guid CampaignId,
    Guid UserId,
    string ConversionType,
    decimal ConversionValue,
    string Currency = "VND"
) : IRequest<ConversionResult>;

/// <summary>
/// EN: Result after recording a conversion.
/// VI: Kết quả sau khi ghi nhận conversion.
/// </summary>
public record ConversionResult(Guid ConversionId, DateTime ConversionTime);
