/**
 * Copyright © 2023-2024 Nevis Security AG. All rights reserved.
 */

import { ChannelMessage } from '../ChannelMessage';

/**
 * Holds the parameters of the PIN change call.
 */
export class PinsChangeMessage extends ChannelMessage {
	/**
	 * The identifier of the operation.
	 */
	operationId: string;

	/**
	 * The old PIN.
	 */
	oldPin: string[];

	/**
	 * The new PIN.
	 */
	newPin: string[];

	/**
	 * Default constructor for {@link PinsChangeMessage}.
	 *
	 * @param operationId the identifier of the operation.
	 * @param oldPin the old PIN.
	 * @param newPin the new PIN.
	 */
	constructor(operationId: string, oldPin: string, newPin: string) {
		super();
		this.operationId = operationId;
		this.oldPin = Array.from(oldPin);
		this.newPin = Array.from(newPin);
	}
}
