using MediatR;

namespace AdsManagerService.API.Application.Commands;

/// <summary>
/// EN: Command to create a new campaign.
/// VI: Command tạo chiến dịch mới.
/// </summary>
public record CreateCampaignCommand : IRequest<Guid>
{
    public Guid AdvertiserId { get; init; }
    public string Name { get; init; } = null!;
    public string? Description { get; init; }
    public string Objective { get; init; } = null!; // "awareness", "traffic", "conversion", etc.
    public string BudgetType { get; init; } = null!; // "daily" or "lifetime"
    public decimal BudgetAmount { get; init; }
    public string Currency { get; init; } = "VND";
    public DateTime? StartDate { get; init; }
    public DateTime? EndDate { get; init; }
}
