From b4d89289e55ae90b8b8709987b5ad4a83d86abb9 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Wed, 28 Sep 2022 14:22:00 +0200 Subject: [PATCH] Refactor BackupParams coding --- .../Messenger/Functions/MessengerRestoreBackup.swift | 3 +-- Sources/XXMessengerClient/Utils/BackupParams.swift | 12 +++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Sources/XXMessengerClient/Messenger/Functions/MessengerRestoreBackup.swift b/Sources/XXMessengerClient/Messenger/Functions/MessengerRestoreBackup.swift index 66f50dd5..b196faca 100644 --- a/Sources/XXMessengerClient/Messenger/Functions/MessengerRestoreBackup.swift +++ b/Sources/XXMessengerClient/Messenger/Functions/MessengerRestoreBackup.swift @@ -42,9 +42,8 @@ extension MessengerRestoreBackup { sessionPassword: password, backupFileContents: backupData ) - let decoder = JSONDecoder() let paramsData = report.params.data(using: .utf8)! - let params = try decoder.decode(BackupParams.self, from: paramsData) + let params = try BackupParams.decode(paramsData) let cMix = try env.loadCMix( storageDir: storageDir, password: password, diff --git a/Sources/XXMessengerClient/Utils/BackupParams.swift b/Sources/XXMessengerClient/Utils/BackupParams.swift index 02fdc595..c3bd8fc0 100644 --- a/Sources/XXMessengerClient/Utils/BackupParams.swift +++ b/Sources/XXMessengerClient/Utils/BackupParams.swift @@ -1,6 +1,6 @@ import Foundation -public struct BackupParams: Equatable, Codable { +public struct BackupParams: Equatable { public init( username: String, email: String?, @@ -15,3 +15,13 @@ public struct BackupParams: Equatable, Codable { public var email: String? public var phone: String? } + +extension BackupParams: Codable { + public static func decode(_ data: Data) throws -> Self { + try JSONDecoder().decode(Self.self, from: data) + } + + public func encode() throws -> Data { + try JSONEncoder().encode(self) + } +} -- GitLab