marinofaggiana 4 년 전
부모
커밋
2a536b0845
2개의 변경된 파일86개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 1
      iOSClient/Data/NCDatabase.swift
  2. 80 0
      iOSClient/Data/NCManageDatabase.swift

+ 6 - 1
iOSClient/Data/NCDatabase.swift

@@ -172,9 +172,14 @@ class tableCapabilities: Object {
 class tableChunk: Object {
     
     @objc dynamic var account = ""
-    @objc dynamic var direcroty = ""
+    @objc dynamic var directory = ""
+    @objc dynamic var index = ""
     @objc dynamic var fileName = ""
     @objc dynamic var ocId = ""
+    
+    override static func primaryKey() -> String {
+        return "index"
+    }
 }
 
 class tableComments: Object {

+ 80 - 0
iOSClient/Data/NCManageDatabase.swift

@@ -987,6 +987,86 @@ class NCManageDatabase: NSObject {
         return nil
     }
     
+    //MARK: -
+    //MARK: Table Chunk
+    
+    func existsChunks(account: String, ocId: String) -> Bool {
+        
+        let realm = try! Realm()
+
+        if realm.objects(tableChunk.self).filter("account == %@ AND ocId == %@", account, ocId).first == nil {
+            return false
+        }
+        
+        return false
+    }
+    
+    func existsChunk(account: String, ocId: String, fileName: String) -> Bool {
+        
+        let realm = try! Realm()
+
+        if realm.objects(tableChunk.self).filter("account == %@ AND ocId == %@ AND fileName == %@", account, ocId, fileName).first == nil {
+            return false
+        }
+        
+        return false
+    }
+    
+    func addChunks(account: String, ocId: String, directory: String, fileNames: [String]) {
+        
+        let realm = try! Realm()
+        
+        do {
+            try realm.safeWrite {
+                
+                for fileName in fileNames {
+                    
+                    let object = tableChunk()
+                    
+                    object.account = account
+                    object.directory = directory
+                    object.index = ocId + fileName
+                    object.fileName = fileName
+                    object.ocId = ocId
+                    
+                    realm.add(object, update: .all)
+                }
+            }
+        } catch let error {
+            NCCommunicationCommon.shared.writeLog("Could not write to database: \(error)")
+        }
+    }
+    
+    func deleteChunk(account: String, ocId: String, fileName: String) {
+        
+        let realm = try! Realm()
+
+        do {
+            try realm.safeWrite {
+                
+                let result = realm.objects(tableTrash.self).filter(NSPredicate(format: "account == %@ AND ocId == %@ AND fileName == %@", account, ocId, fileName))
+                realm.delete(result)
+            }
+        } catch let error {
+            NCCommunicationCommon.shared.writeLog("Could not write to database: \(error)")
+        }
+    }
+    
+    func deleteChunks(account: String, ocId: String) {
+        
+        let realm = try! Realm()
+
+        do {
+            try realm.safeWrite {
+                
+                let result = realm.objects(tableTrash.self).filter(NSPredicate(format: "account == %@ AND ocId == %@", account, ocId))
+                realm.delete(result)
+            }
+        } catch let error {
+            NCCommunicationCommon.shared.writeLog("Could not write to database: \(error)")
+        }
+    }
+    
     //MARK: -
     //MARK: Table Comments