using MediatR;

namespace IamService.API.Application.Commands.Users;

/// <summary>
/// EN: Command to update user information.
/// VI: Command để cập nhật thông tin user.
/// </summary>
/// <param name="UserId">User ID to update / ID user cần cập nhật</param>
/// <param name="FirstName">New first name / Tên mới</param>
/// <param name="LastName">New last name / Họ mới</param>
public record UpdateUserCommand(
    Guid UserId,
    string? FirstName,
    string? LastName) : IRequest<UpdateUserCommandResult>;

/// <summary>
/// EN: Result of UpdateUserCommand.
/// VI: Kết quả của UpdateUserCommand.
/// </summary>
public record UpdateUserCommandResult(
    Guid UserId,
    string Email,
    string FirstName,
    string LastName,
    string FullName);
