/**
 * Copyright © 2025 Nevis Security AG. All rights reserved.
 */

import type { OperationMessage } from './OperationMessage';

export class FidoUafAttestationInformationMessage implements OperationMessage {
	/**
	 * The identifier of the operation.
	 */
	operationId: string;

	/**
	 * Flag that tells whether Certificate Revocation List (CRL) checking should be disabled.
	 */
	disableCrlCheck: boolean;

	/**
	 * Flag that tells whether the success callback is provided.
	 */
	onSuccessProvided: boolean;

	/**
	 * Flag that tells whether the error callback is provided.
	 */
	onErrorProvided: boolean;

	/**
	 * Default constructor for {@link FidoUafAttestationInformationMessage}.
	 *
	 * @param operationId the identifier of the operation.
	 * provided.
	 * @param disableCrlCheck flag that tells whether Certificate Revocation List (CRL) checking should be disabled.
	 * @param onSuccessProvided flag that tells whether the success callback is provided.
	 * @param onErrorProvided flag that tells whether the error callback is provided.
	 */
	constructor(
		operationId: string,
		disableCrlCheck: boolean,
		onSuccessProvided: boolean,
		onErrorProvided: boolean
	) {
		this.operationId = operationId;
		this.disableCrlCheck = disableCrlCheck;
		this.onSuccessProvided = onSuccessProvided;
		this.onErrorProvided = onErrorProvided;
	}
}
