using System;

namespace Knot.Contracts.Messaging.Domain;

public class TextMessage : Message
{
    public override string Type => "text";
    public override string? Content { get; protected set; }
    public string? Quote { get; protected set; }

    public TextMessage() : base() { }

    public TextMessage(Guid id, Guid chatId, Guid senderId, string content, Guid? replyToId, Guid? forwardedFromId, DateTime createdAt, bool isImported = false)
        : base(id, chatId, senderId, replyToId, forwardedFromId, createdAt, isImported) => Content = content;

    public TextMessage(Guid id, Guid chatId, Guid senderId, string content, Guid? replyToId, string? quote, Guid? forwardedFromId, DateTime createdAt, bool isImported = false)
        : this(id, chatId, senderId, content, replyToId, forwardedFromId, createdAt, isImported) => Quote = quote;
}
