using System;

namespace Knot.Contracts.Messaging.Domain;

public class CallMessage : Message
{
    public override string Type => "call";
    public override string? Content { get; protected set; }
    public string CallType { get; protected set; }
    public string CallStatus { get; protected set; }
    public int? Duration { get; protected set; }

    public CallMessage() : base() { }

    public CallMessage(
        Guid id, 
        Guid chatId, 
        Guid senderId, 
        string callType, 
        string callStatus, 
        int? duration,
        Guid? replyToId, 
        Guid? forwardedFromId, 
        DateTime createdAt, 
        bool isImported = false) 
        : base(id, chatId, senderId, replyToId, forwardedFromId, createdAt, isImported)
    {
        CallType = callType;
        CallStatus = callStatus;
        Duration = duration;
        Content = $"Call {callStatus}";
    }
}
