using MediatR;

namespace IamService.API.Application.Commands.Auth;

/// <summary>
/// EN: Command to change user password.
/// VI: Command để đổi mật khẩu user.
/// </summary>
/// <param name="UserId">User ID / ID user</param>
/// <param name="CurrentPassword">Current password / Mật khẩu hiện tại</param>
/// <param name="NewPassword">New password / Mật khẩu mới</param>
public record ChangePasswordCommand(
    Guid UserId,
    string CurrentPassword,
    string NewPassword) : IRequest<ChangePasswordCommandResult>;

/// <summary>
/// EN: Result of ChangePasswordCommand.
/// VI: Kết quả của ChangePasswordCommand.
/// </summary>
/// <param name="Success">Whether the operation was successful / Thao tác có thành công không</param>
/// <param name="Message">Result message / Thông điệp kết quả</param>
public record ChangePasswordCommandResult(bool Success, string Message);
