change pending storage directory

sync3
Laurent 5 months ago
parent a774d1dd74
commit eb5577a366
  1. 18
      LeStorage/PendingOperationManager.swift

@ -11,11 +11,13 @@ class PendingOperationManager<T: Storable> {
fileprivate(set) var items: [PendingOperation<T>] = [] fileprivate(set) var items: [PendingOperation<T>] = []
fileprivate var _fileName: String = "pending_\(T.resourceName()).json" fileprivate var _fileName: String
fileprivate var _inMemory: Bool = false fileprivate var _inMemory: Bool = false
init(store: Store, inMemory: Bool) { init(store: Store, inMemory: Bool) {
self._fileName = "\(store.storeCenter.directoryName)/pending_\(T.resourceName()).json"
self._inMemory = inMemory self._inMemory = inMemory
if !inMemory { if !inMemory {
do { do {
@ -32,6 +34,8 @@ class PendingOperationManager<T: Storable> {
} }
} }
var typeName: String { return String(describing: T.self) }
func addPendingOperation(method: StorageMethod, instance: T, actionOption: ActionOption) { func addPendingOperation(method: StorageMethod, instance: T, actionOption: ActionOption) {
Logger.log("addPendingOperation: \(method), \(instance)") Logger.log("addPendingOperation: \(method), \(instance)")
@ -48,15 +52,15 @@ class PendingOperationManager<T: Storable> {
fileprivate func _writeIfNecessary() { fileprivate func _writeIfNecessary() {
guard !self._inMemory else { return } guard !self._inMemory else { return }
do {
Task(priority: .background) { let jsonString: String = try self.items.jsonString()
do { Task(priority: .background) {
let jsonString: String = try self.items.jsonString()
let _ = try FileUtils.writeToDocumentDirectory(content: jsonString, fileName: self._fileName) let _ = try FileUtils.writeToDocumentDirectory(content: jsonString, fileName: self._fileName)
} catch {
Logger.error(error)
} }
} catch {
Logger.error(error)
} }
} }
} }

Loading…
Cancel
Save