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

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

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

	/**
	 * The optional validation error message.
	 */
	errorMessage?: string;

	/**
	 * The optional cause of the validation error.
	 */
	cause?: string;

	/**
	 * Default constructor for {@link PinValidatedMessage}.
	 *
	 * @param operationId the identifier of the operation.
	 * @param errorMessage the optional validation error message.
	 * @param cause the optional cause of the validation error.
	 */
	constructor(operationId: string, errorMessage?: string, cause?: string) {
		super();

		this.operationId = operationId;
		this.errorMessage = errorMessage;
		this.cause = cause;
	}
}
