using MediatR;

namespace AdsManagerService.API.Application.Queries;

/// <summary>
/// EN: Query to get ad by ID.
/// VI: Query lấy quảng cáo theo ID.
/// </summary>
public record GetAdByIdQuery : IRequest<AdDto?>
{
    public Guid AdId { get; init; }
}

/// <summary>
/// EN: Ad DTO for API responses.  
/// VI: Ad DTO cho API responses.
/// </summary>
public record AdDto
{
    public Guid Id { get; init; }
    public Guid AdSetId { get; init; }
    public string Name { get; init; } = null!;
    public string Format { get; init; } = null!;
    public string Status { get; init; } = null!;
    public string ReviewStatus { get; init; } = null!;
    public string? Headline { get; init; }
    public string? PrimaryText { get; init; }
    public string? Description { get; init; }
    public string? CallToAction { get; init; }
    public string? DestinationUrl { get; init; }
    public string? CreativeUrl { get; init; }
    public DateTime CreatedAt { get; init; }
    public DateTime? UpdatedAt { get; init; }
}
