//
// Copyright © 2023 Nevis Security AG. All rights reserved.
//

import NevisMobileAuthentication

final class DevicePasscodeUserVerifierImpl: Sendable {
	// MARK: Properties

	let operationId: String

	// MARK: Initialization

	init(operationId: String) {
		self.operationId = operationId
	}
}

// MARK: - BiometricUserVerifier

extension DevicePasscodeUserVerifierImpl: DevicePasscodeUserVerifier {
	func verifyDevicePasscode(context: DevicePasscodeUserVerificationContext, handler: DevicePasscodeUserVerificationHandler) {
		Task {
			let state = VerifyUserState(verificationMode: .devicePasscode,
			                            context: context,
			                            devicePasscodeUserVerificationHandler: handler)
			await verifyDevicePasscode(operationId: operationId, context: context, userInteractionState: state)
		}
	}
}
