namespace AdsAnalyticsService.Infrastructure.Idempotency;

/// <summary>
/// EN: Entity for tracking client requests to ensure idempotency.
/// VI: Entity để theo dõi các requests từ client đảm bảo idempotency.
/// </summary>
public class ClientRequest
{
    /// <summary>
    /// EN: Unique request identifier.
    /// VI: Định danh request duy nhất.
    /// </summary>
    public Guid Id { get; set; }

    /// <summary>
    /// EN: Name of the command/request type.
    /// VI: Tên của loại command/request.
    /// </summary>
    public string Name { get; set; } = null!;

    /// <summary>
    /// EN: Timestamp when the request was received.
    /// VI: Thời điểm request được nhận.
    /// </summary>
    public DateTime Time { get; set; }
}
