Skip to content

Commit 877a325

Browse files
committed
refactor(UploadFile): The upload queue selection logic is moved outside of UploadFile
1 parent 5c399aa commit 877a325

File tree

2 files changed

+17
-38
lines changed

2 files changed

+17
-38
lines changed

kDriveCore/Data/Models/Upload/UploadFile+UploadQueue.swift

-33
This file was deleted.

kDriveCore/Data/Upload/Servicies/UploadService/UploadService.swift

+17-5
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ extension UploadService: UploadServiceable {
114114
lazyCollection.filter("id IN %@", batchArray).freezeIfNeeded()
115115
}
116116
for file in matchedFrozenFiles {
117-
file.uploadQueue.addToQueueIfNecessary(uploadFile: file, itemIdentifier: nil)
117+
let uploadQueue = uploadQueue(for: file)
118+
uploadQueue.addToQueueIfNecessary(uploadFile: file, itemIdentifier: nil)
118119
}
119120
resumeAllOperations()
120121
}
@@ -152,7 +153,7 @@ extension UploadService: UploadServiceable {
152153
return
153154
}
154155

155-
let specificQueue = frozenFile.uploadQueue
156+
let specificQueue = uploadQueue(for: frozenFile)
156157

157158
try? self.uploadsDatabase.writeTransaction { writableRealm in
158159
guard let file = writableRealm.object(ofType: UploadFile.self, forPrimaryKey: uploadFileId),
@@ -220,7 +221,8 @@ extension UploadService: UploadServiceable {
220221
Log.uploadQueue("file invalidated ufid:\(uploadFileId) at\(#line)")
221222
continue
222223
}
223-
file.uploadQueue.cancel(uploadFileId: uploadFileId)
224+
let uploadQueue = uploadQueue(for: file)
225+
uploadQueue.cancel(uploadFileId: uploadFileId)
224226
file.clearErrorsForRetry()
225227
}
226228
}
@@ -238,7 +240,8 @@ extension UploadService: UploadServiceable {
238240
continue
239241
}
240242

241-
file.uploadQueue.addToQueueIfNecessary(uploadFile: file, itemIdentifier: nil)
243+
let uploadQueue = uploadQueue(for: file)
244+
uploadQueue.addToQueueIfNecessary(uploadFile: file, itemIdentifier: nil)
242245
}
243246
}
244247

@@ -308,7 +311,8 @@ extension UploadService: UploadServiceable {
308311

309312
let frozenFileToDelete = toDeleteLive.freeze()
310313
frozenFileToDelete.cleanSourceFileIfNeeded()
311-
frozenFileToDelete.uploadQueue.cancel(uploadFileId: frozenFileToDelete.id)
314+
let uploadQueue = uploadQueue(for: frozenFileToDelete)
315+
uploadQueue.cancel(uploadFileId: frozenFileToDelete.id)
312316

313317
try? uploadsDatabase.writeTransaction { writableRealm in
314318
if let toDelete = writableRealm.object(ofType: UploadFile.self, forPrimaryKey: uploadFileId),
@@ -362,4 +366,12 @@ extension UploadService: UploadServiceable {
362366
Log.uploadQueue("cleaned errors on \(failedUploadFiles.count) files")
363367
}
364368
}
369+
370+
private func uploadQueue(for uploadFile: UploadFile) -> UploadQueueable {
371+
if uploadFile.isPhotoSyncUpload {
372+
return photoUploadQueue
373+
} else {
374+
return globalUploadQueue
375+
}
376+
}
365377
}

0 commit comments

Comments
 (0)