marinofaggiana 4 жил өмнө
parent
commit
6a71bee9ce

+ 23 - 0
iOSClient/Database/NCManageDatabase.swift

@@ -210,6 +210,7 @@ class NCManageDatabase: NSObject {
         self.clearTable(tableLocalFile.self, account: account)
         self.clearTable(tableMetadata.self, account: account)
         self.clearTable(tablePhotoLibrary.self, account: account)
+        self.clearTable(tableRecent.self, account: account)
         self.clearTable(tableShare.self, account: account)
         self.clearTable(tableTag.self, account: account)
         self.clearTable(tableTrash.self, account: account)
@@ -2341,6 +2342,28 @@ class NCManageDatabase: NSObject {
         return Array(results.map { tablePhotoLibrary.init(value:$0) })
     }
     
+    //MARK: -
+    //MARK: Table Recent
+    
+    @objc func addRecent(_ account: String, ocId: String, date: NSDate) {
+
+        let realm = try! Realm()
+
+        do {
+            try realm.safeWrite {
+                let addObject = tableRecent()
+            
+                addObject.account = account
+                addObject.ocId = ocId
+                addObject.date = date
+                
+                realm.add(addObject, update: .all)
+            }
+        } catch let error {
+            NCCommunicationCommon.shared.writeLog("Could not write to database: \(error)")
+        }
+    }
+    
     //MARK: -
     //MARK: Table Share
     

+ 2 - 0
iOSClient/Networking/NCNetworking.swift

@@ -493,6 +493,7 @@ import Queuer
                 }
                 NCManageDatabase.sharedInstance.addMetadata(metadata)
                 NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", ocIdTemp))
+                NCManageDatabase.sharedInstance.addRecent(tableAccount.account, ocId: ocId!, date: date ?? NSDate())
                 
                 #if !EXTENSION
                 self.getOcIdInBackgroundSession { (listOcId) in
@@ -836,6 +837,7 @@ import Queuer
                         
                             NCManageDatabase.sharedInstance.addMetadata(metadata)
                             NCManageDatabase.sharedInstance.addDirectory(encrypted: metadata.e2eEncrypted, favorite: metadata.favorite, ocId: metadata.ocId, fileId: metadata.fileId, etag: nil, permissions: metadata.permissions, serverUrl: fileNameFolderUrl, richWorkspace: metadata.richWorkspace, account: account)
+                            NCManageDatabase.sharedInstance.addRecent(account, ocId: metadata.ocId, date: metadata.date)
                         }
                         
                         if let metadata = NCManageDatabase.sharedInstance.getMetadataFromOcId(metadataFolder?.ocId) {