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

import NevisMobileAuthentication

class MetaDataOutMessage: ChannelOutMessage {
	// MARK: Properties

	let iosMetaData: IosMetaData

	// MARK: Initialization

	override init(operationId: String) {
		self.iosMetaData = .init(mobileAuthenticationVersion: MetaData.mobileAuthenticationVersion, applicationFacetId: MetaData.applicationFacetId)
		super.init(operationId: operationId)
	}

	// MARK: Encodable

	override func encode(to encoder: Encoder) throws {
		var container = encoder.container(keyedBy: IosMetaDataCodingKeys.self)
		try container.encode(iosMetaData, forKey: .iosMetaData)
		try super.encode(to: encoder)
	}
}
