using MediatR;

namespace WhatsAppService.Domain.Events;

/// <summary>
/// EN: Domain event raised when a new conversation starts.
/// VI: Domain event được phát ra khi một conversation mới bắt đầu.
/// </summary>
public class ConversationStartedEvent : INotification
{
    /// <summary>
    /// EN: The conversation ID.
    /// VI: ID của conversation.
    /// </summary>
    public Guid ConversationId { get; }

    /// <summary>
    /// EN: The shop ID.
    /// VI: ID của shop.
    /// </summary>
    public Guid ShopId { get; }

    /// <summary>
    /// EN: The customer's WhatsApp ID.
    /// VI: WhatsApp ID của khách hàng.
    /// </summary>
    public string CustomerWaId { get; }

    /// <summary>
    /// EN: The timestamp when conversation started.
    /// VI: Thời điểm conversation bắt đầu.
    /// </summary>
    public DateTime StartedAt { get; }

    public ConversationStartedEvent(Guid conversationId, Guid shopId, string customerWaId)
    {
        ConversationId = conversationId;
        ShopId = shopId;
        CustomerWaId = customerWaId;
        StartedAt = DateTime.UtcNow;
    }
}
