Offline mode
This commit is contained in:
@ -300,7 +300,7 @@ final class Database {
|
||||
guard update("name", for: cap, setter: Cap.columnName <- name, Cap.columnUploaded <- false) else {
|
||||
return false
|
||||
}
|
||||
uploadRemainingCaps()
|
||||
uploadRemainingData()
|
||||
return true
|
||||
}
|
||||
|
||||
@ -659,27 +659,40 @@ final class Database {
|
||||
}
|
||||
}
|
||||
|
||||
func uploadRemainingCaps() {
|
||||
func uploadRemainingData() {
|
||||
guard !isInOfflineMode else {
|
||||
log("Not uploading pending data due to offline mode")
|
||||
return
|
||||
}
|
||||
let uploads = self.pendingCapUploads
|
||||
guard uploads.count > 0 else {
|
||||
log("No pending cap uploads")
|
||||
uploadRemainingImages()
|
||||
return
|
||||
}
|
||||
log("\(uploads.count) cap uploads pending")
|
||||
|
||||
var remaining = uploads.count
|
||||
for cap in uploads {
|
||||
upload.upload(name: cap.name, for: cap.id) { success in
|
||||
guard success else {
|
||||
if success {
|
||||
self.log("Uploaded cap \(cap.id)")
|
||||
self.update(uploaded: true, for: cap.id)
|
||||
} else {
|
||||
self.log("Failed to upload cap \(cap.id)")
|
||||
return
|
||||
}
|
||||
self.log("Uploaded cap \(cap.id)")
|
||||
self.update(uploaded: true, for: cap.id)
|
||||
|
||||
remaining -= 1
|
||||
if remaining == 0 {
|
||||
DispatchQueue.main.async {
|
||||
self.uploadRemainingImages()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func uploadRemainingImages() {
|
||||
private func uploadRemainingImages() {
|
||||
let uploads = pendingImageUploads
|
||||
guard uploads.count > 0 else {
|
||||
log("No pending image uploads")
|
||||
|
Reference in New Issue
Block a user