Add offline mode
This commit is contained in:
@@ -145,6 +145,16 @@ final class Database {
|
||||
}
|
||||
}
|
||||
|
||||
var isInOfflineMode: Bool {
|
||||
set {
|
||||
UserDefaults.standard.set(newValue, forKey: Upload.offlineKey)
|
||||
log("Offline mode set to \(newValue)")
|
||||
}
|
||||
get {
|
||||
UserDefaults.standard.bool(forKey: Upload.offlineKey)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: Data updates
|
||||
|
||||
/**
|
||||
@@ -168,6 +178,10 @@ final class Database {
|
||||
log("Cap image not saved")
|
||||
return false
|
||||
}
|
||||
guard !isInOfflineMode else {
|
||||
log("Offline mode: Not uploading cap")
|
||||
return true
|
||||
}
|
||||
upload.upload(name: name, for: cap.id) { success in
|
||||
guard success else {
|
||||
return
|
||||
@@ -224,6 +238,10 @@ final class Database {
|
||||
log("Failed to add cap \(cap) version \(version) to upload queue")
|
||||
return false
|
||||
}
|
||||
guard !isInOfflineMode else {
|
||||
log("Offline mode: Not uploading cap image")
|
||||
return true
|
||||
}
|
||||
upload.uploadImage(for: cap, version: version) { actualVersion in
|
||||
guard let actualVersion = actualVersion else {
|
||||
self.log("Failed to upload image \(version) for cap \(cap)")
|
||||
|
@@ -12,6 +12,8 @@ import SQLite
|
||||
|
||||
struct Upload {
|
||||
|
||||
static let offlineKey = "offline"
|
||||
|
||||
let serverUrl: URL
|
||||
|
||||
let table = Table("uploads")
|
||||
|
Reference in New Issue
Block a user