using MediatR;

namespace ChatService.API.Application.Commands.Messages;

/// <summary>
/// EN: Command to mark messages as read.
/// VI: Command để đánh dấu tin nhắn đã đọc.
/// </summary>
public record MarkMessagesReadCommand(
    Guid ConversationId,
    Guid UserId,
    Guid? LastReadMessageId = null,
    DateTime? ReadUpTo = null
) : IRequest<MarkMessagesReadResult>;

public record MarkMessagesReadResult(
    int MessagesMarked,
    DateTime? LastReadAt
);
