using MediatR;

namespace WhatsAppService.Domain.Events;

/// <summary>
/// EN: Domain event raised when a WhatsApp account webhook is verified.
/// VI: Domain event được phát ra khi webhook của WhatsApp account được xác minh.
/// </summary>
public class WebhookVerifiedEvent : INotification
{
    /// <summary>
    /// EN: The WhatsApp account ID.
    /// VI: ID của WhatsApp account.
    /// </summary>
    public Guid AccountId { get; }

    /// <summary>
    /// EN: The verified webhook URL.
    /// VI: URL webhook đã được xác minh.
    /// </summary>
    public string WebhookUrl { get; }

    /// <summary>
    /// EN: The timestamp when webhook was verified.
    /// VI: Thời điểm webhook được xác minh.
    /// </summary>
    public DateTime VerifiedAt { get; }

    public WebhookVerifiedEvent(Guid accountId, string webhookUrl)
    {
        AccountId = accountId;
        WebhookUrl = webhookUrl;
        VerifiedAt = DateTime.UtcNow;
    }
}
