Marino Faggiana 7 years ago
parent
commit
a2737c6204
2 changed files with 39 additions and 0 deletions
  1. 38 0
      iOSClient/Database/NCManageDatabase.swift
  2. 1 0
      iOSClient/Photos/CCPhotos.m

+ 38 - 0
iOSClient/Database/NCManageDatabase.swift

@@ -1878,6 +1878,44 @@ class NCManageDatabase: NSObject {
         return Array(metadatas.map { tableMetadata.init(value:$0) })
     }
     
+    @objc func updateTableMetadatasContentTypeImageVideo(_ metadatas: [tableMetadata]) {
+        
+        let realm = try! Realm()
+        
+        if realm.isInWriteTransaction {
+            
+            print("[LOG] Could not write to database, addPhotoLibrary is already in write transaction")
+            return
+            
+        } else {
+            
+            do {
+                do {
+                    try realm.write {
+                        
+                        let metadatasDBImageVideo = getTableMetadatasContentTypeImageVideo()
+                        var addMetadatas = [tableMetadata]()
+                        
+                        if (metadatasDBImageVideo != nil) {
+                            
+                            for metadata in metadatasDBImageVideo! {
+                                let fileID = metadata.fileID
+                                let metadataFilter = metadatas.filter({ $0.fileID == fileID })
+                                if (metadataFilter.count == 0) {
+                                    addMetadatas.append(contentsOf: metadataFilter)
+                                }
+                            }
+                        }
+                    }
+                } catch let error {
+                    print("[LOG] Could not write to database: ", error)
+                    return
+                }
+            }
+        }
+        
+    }
+    
     //MARK: -
     //MARK: Table Photo Library
     

+ 1 - 0
iOSClient/Photos/CCPhotos.m

@@ -554,6 +554,7 @@
 
             // DELETE RECORD IF NOT PRESENT ON DB
             //NSArray *metadatasDBImageVideo = [[NCManageDatabase sharedInstance] getTableMetadatasContentTypeImageVideo];
+            //[[NCManageDatabase sharedInstance] updateTableMetadatasContentTypeImageVideo:metadatas];
             
             // INSERT NEW RECORD ON DB
             for (tableMetadata *metadata in metadatas) {