Browse Source

alter table tableDirectory: onDevice + new function

Marino Faggiana 6 years ago
parent
commit
e8e5c60cca
2 changed files with 47 additions and 0 deletions
  1. 1 0
      iOSClient/Database/NCDatabase.swift
  2. 46 0
      iOSClient/Database/NCManageDatabase.swift

+ 1 - 0
iOSClient/Database/NCDatabase.swift

@@ -111,6 +111,7 @@ class tableDirectory: Object {
     @objc dynamic var favorite: Bool = false
     @objc dynamic var fileID = ""
     @objc dynamic var lock: Bool = false
+    @objc dynamic var onDevice: Bool = false
     @objc dynamic var permissions = ""
     @objc dynamic var serverUrl = ""
     

+ 46 - 0
iOSClient/Database/NCManageDatabase.swift

@@ -1119,6 +1119,29 @@ class NCManageDatabase: NSObject {
             print("[LOG] Could not write to database: ", error)
         }
     }
+    
+    @objc func setDirectory(serverUrl: String, onDevice: Bool) {
+        
+        guard let tableAccount = self.getAccountActive() else {
+            return
+        }
+        
+        let realm = try! Realm()
+        
+        do {
+            try realm.write {
+                
+                guard let result = realm.objects(tableDirectory.self).filter("account = %@ AND serverUrl = %@", tableAccount.account, serverUrl).first else {
+                    realm.cancelWrite()
+                    return
+                }
+                
+                result.onDevice = onDevice
+            }
+        } catch let error {
+            print("[LOG] Could not write to database: ", error)
+        }
+    }
 
     //MARK: -
     //MARK: Table e2e Encryption
@@ -1540,6 +1563,29 @@ class NCManageDatabase: NSObject {
             return nil
         }
     }
+    
+    @objc func setLocalFile(fileID: String, onDevice: Bool) {
+        
+        guard self.getAccountActive() != nil else {
+            return
+        }
+        
+        let realm = try! Realm()
+        
+        do {
+            try realm.write {
+                
+                guard let result = realm.objects(tableLocalFile.self).filter("fileID = %@", fileID).first else {
+                    realm.cancelWrite()
+                    return
+                }
+                
+                result.onDevice = onDevice
+            }
+        } catch let error {
+            print("[LOG] Could not write to database: ", error)
+        }
+    }
 
     //MARK: -
     //MARK: Table Metadata