|
@@ -106,6 +106,7 @@ class tableMetadata: Object, NCUserBaseUrl {
|
|
@objc dynamic var width: Int = 0
|
|
@objc dynamic var width: Int = 0
|
|
@objc dynamic var errorCode: Int = 0
|
|
@objc dynamic var errorCode: Int = 0
|
|
@objc dynamic var errorCodeCounter: Int = 0
|
|
@objc dynamic var errorCodeCounter: Int = 0
|
|
|
|
+ @objc dynamic var errorCodeDate: Date?
|
|
|
|
|
|
override static func primaryKey() -> String {
|
|
override static func primaryKey() -> String {
|
|
return "ocId"
|
|
return "ocId"
|
|
@@ -662,6 +663,7 @@ extension NCManageDatabase {
|
|
result.errorCodeCounter = 0
|
|
result.errorCodeCounter = 0
|
|
} else {
|
|
} else {
|
|
result.errorCodeCounter += 1
|
|
result.errorCodeCounter += 1
|
|
|
|
+ result.errorCodeDate = Date()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1217,4 +1219,35 @@ extension NCManageDatabase {
|
|
|
|
|
|
return metadatas
|
|
return metadatas
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ func getMetadatasInError(account: String) -> Results<tableMetadata>? {
|
|
|
|
+
|
|
|
|
+ do {
|
|
|
|
+ let realm = try Realm()
|
|
|
|
+ let results = realm.objects(tableMetadata.self).filter("account == %@ AND errorCodeCounter > 1", account)
|
|
|
|
+ return results
|
|
|
|
+ } catch let error as NSError {
|
|
|
|
+ NextcloudKit.shared.nkCommonInstance.writeLog("Could not access database: \(error)")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return nil
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ func clearErrorCodeMetadatas(metadatas: Results<tableMetadata>?) {
|
|
|
|
+
|
|
|
|
+ guard let metadatas else { return }
|
|
|
|
+
|
|
|
|
+ do {
|
|
|
|
+ let realm = try Realm()
|
|
|
|
+ try realm.write {
|
|
|
|
+ for metadata in metadatas {
|
|
|
|
+ metadata.errorCode = 0
|
|
|
|
+ metadata.errorCodeCounter = 0
|
|
|
|
+ metadata.errorCodeDate = nil
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } catch let error as NSError {
|
|
|
|
+ NextcloudKit.shared.nkCommonInstance.writeLog("Could not access database: \(error)")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|