#nullable enable
using Baya.Application.Models.Common;
using Baya.Application.Models.Messaging;
using Mediator;

namespace Baya.Application.Features.Messaging.Commands.PostMessage;

/// <summary>Appends a message to a ticket. Only an active participant (or staff) may post. <see cref="IsInternal"/>
/// (an admin-only note) can be set <b>only</b> by staff; a non-staff caller can neither set it nor post to a
/// closed ticket.</summary>
public record PostMessageCommand(long TicketId, string Body, bool IsInternal = false, string? ClientMessageId = null)
    : IRequest<OperationResult<PostMessageResult>>;
