marinofaggiana %!s(int64=4) %!d(string=hai) anos
pai
achega
07601fea67

+ 1 - 2
iOSClient/AutoUpload/NCAutoUpload.m

@@ -394,8 +394,7 @@
         else
             serverUrl = autoUploadPath;
         
-        // Check il file already exists
-        tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@ AND fileNameView == %@", appDelegate.activeAccount, serverUrl, fileName]];
+        tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@ AND fileNameView == %@", appDelegate.activeAccount, serverUrl, fileName] freeze:true];
         if (!metadata) {
         
             tableMetadata *metadataForUpload = [[NCManageDatabase sharedInstance] createMetadataWithAccount:appDelegate.activeAccount fileName:fileName ocId:[[NSUUID UUID] UUIDString] serverUrl:serverUrl url:@"" contentType:@""];

+ 17 - 0
iOSClient/Database/NCManageDatabase.swift

@@ -1806,6 +1806,7 @@ class NCManageDatabase: NSObject {
         metadata.typeFile = results.typeFile
         metadata.uploadDate = Date() as NSDate
         metadata.url = url
+        
         return metadata
     }
     
@@ -2121,6 +2122,22 @@ class NCManageDatabase: NSObject {
         return tableMetadata.init(value: result)
     }
     
+    @objc func getMetadata(predicate: NSPredicate, freeze: Bool) -> tableMetadata? {
+        
+        let realm = try! Realm()
+        realm.refresh()
+        
+        guard let result = realm.objects(tableMetadata.self).filter(predicate).first else {
+            return nil
+        }
+        
+        if freeze {
+            return result.freeze()
+        } else {
+            return result
+        }
+    }
+    
     @objc func getMetadata(predicate: NSPredicate, sorted: String, ascending: Bool) -> tableMetadata? {
         
         let realm = try! Realm()