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

import NevisMobileAuthentication

class PasswordChangeMessage: StandardOperationMessage {
	// MARK: Properties

	var username: String?
	let passwordChangerProvided: Bool

	// MARK: Decodable

	enum CodingKeys: String, CodingKey {
		case username
		case passwordChangerProvided
	}

	required init(from decoder: Decoder) throws {
		let container = try decoder.container(keyedBy: CodingKeys.self)
		self.username = try container.decodeIfPresent(String.self, forKey: .username)
		self.passwordChangerProvided = try container.decode(Bool.self, forKey: .passwordChangerProvided)
		try super.init(from: decoder)
	}
}
