using MediatR;

namespace SocialService.API.Application.Commands;

/// <summary>
/// EN: Command to block a user.
/// VI: Command để block user.
/// </summary>
/// <param name="BlockerId">EN: ID of user blocking / VI: ID user block</param>
/// <param name="BlockedId">EN: ID of user being blocked / VI: ID user bị block</param>
/// <param name="Reason">EN: Optional reason for blocking / VI: Lý do block (tùy chọn)</param>
public record BlockUserCommand(Guid BlockerId, Guid BlockedId, string? Reason = null) : IRequest<BlockUserResult>;

/// <summary>
/// EN: Result of block user command.
/// VI: Kết quả của command block user.
/// </summary>
public record BlockUserResult(Guid BlockId, bool Success);
