From e22c3daf11b50526c798445b18cac81610349eee Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Thu, 29 Sep 2022 18:56:34 +0200 Subject: [PATCH] Update MessengerFileManager --- .../Utils/MessengerFileManager.swift | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Sources/XXMessengerClient/Utils/MessengerFileManager.swift b/Sources/XXMessengerClient/Utils/MessengerFileManager.swift index 9e2c1590..ad116d82 100644 --- a/Sources/XXMessengerClient/Utils/MessengerFileManager.swift +++ b/Sources/XXMessengerClient/Utils/MessengerFileManager.swift @@ -5,6 +5,9 @@ public struct MessengerFileManager { public var isDirectoryEmpty: (String) -> Bool public var removeItem: (String) throws -> Void public var createDirectory: (String) throws -> Void + public var saveFile: (String, Data) throws -> Void + public var loadFile: (String) throws -> Data? + public var modifiedTime: (String) throws -> Date? } extension MessengerFileManager { @@ -26,6 +29,16 @@ extension MessengerFileManager { atPath: path, withIntermediateDirectories: true ) + }, + saveFile: { path, data in + try data.write(to: URL(fileURLWithPath: path)) + }, + loadFile: { path in + try Data(contentsOf: URL(fileURLWithPath: path)) + }, + modifiedTime: { path in + let attributes = try fileManager.attributesOfItem(atPath: path) + return attributes[.modificationDate] as? Date } ) } @@ -35,6 +48,9 @@ extension MessengerFileManager { public static let unimplemented = MessengerFileManager( isDirectoryEmpty: XCTUnimplemented("\(Self.self).isDirectoryEmpty", placeholder: false), removeItem: XCTUnimplemented("\(Self.self).removeItem"), - createDirectory: XCTUnimplemented("\(Self.self).createDirectory") + createDirectory: XCTUnimplemented("\(Self.self).createDirectory"), + saveFile: XCTUnimplemented("\(Self.self).saveFile"), + loadFile: XCTUnimplemented("\(Self.self).loadFile"), + modifiedTime: XCTUnimplemented("\(Self.self).modifiedTime") ) } -- GitLab