Browse Source

add func for migrate db

Marino Faggiana 8 years ago
parent
commit
354181e2ba
2 changed files with 70 additions and 11 deletions
  1. 3 5
      iOSClient/Database/NCDatabase.swift
  2. 67 6
      iOSClient/Database/NCManageDatabase.swift

+ 3 - 5
iOSClient/Database/NCDatabase.swift

@@ -111,14 +111,12 @@ class tableDirectory: Object {
     dynamic var account = ""
     dynamic var dateReadDirectory: NSDate? = nil
     dynamic var directoryID = ""
+    dynamic var etag = ""
     dynamic var favorite: Bool = false
     dynamic var fileID = ""
     dynamic var lock : Bool = false
-    dynamic var offline : Bool = false
     dynamic var permissions = ""
-    dynamic var etag = ""
     dynamic var serverUrl = ""
-    dynamic var synchronized: Bool = false
     
     override static func primaryKey() -> String {
         return "directoryID"
@@ -152,6 +150,7 @@ class tableLocalFile: Object {
     
     dynamic var account = ""
     dynamic var date = NSDate()
+    dynamic var etag = ""
     dynamic var exifDate = NSDate()
     dynamic var exifLatitude = ""
     dynamic var exifLongitude = ""
@@ -159,7 +158,6 @@ class tableLocalFile: Object {
     dynamic var fileID = ""
     dynamic var fileName = ""
     dynamic var fileNamePrint = ""
-    dynamic var etag = ""
     dynamic var size : Double = 0
     
     override static func primaryKey() -> String {
@@ -176,6 +174,7 @@ class tableMetadata: Object {
     dynamic var directory : Bool = false
     dynamic var directoryID = ""
     dynamic var errorPasscode : Bool = false
+    dynamic var etag = ""
     dynamic var favorite : Bool = false
     dynamic var fileID = ""
     dynamic var fileName = ""
@@ -186,7 +185,6 @@ class tableMetadata: Object {
     dynamic var nameCurrentDevice = ""
     dynamic var permissions = ""
     dynamic var protocolCrypto = ""
-    dynamic var etag = ""
     dynamic var session = ""
     dynamic var sessionError = ""
     dynamic var sessionID = ""

+ 67 - 6
iOSClient/Database/NCManageDatabase.swift

@@ -1103,16 +1103,16 @@ class NCManageDatabase: NSObject {
             
             // Add new GPS
             let addGPS = tableGPS()
-                
+            
+            addGPS.latitude = latitude
             addGPS.location = location
+            addGPS.longitude = longitude
             addGPS.placemarkAdministrativeArea = placemarkAdministrativeArea
             addGPS.placemarkCountry = placemarkCountry
             addGPS.placemarkLocality = placemarkLocality
             addGPS.placemarkPostalCode = placemarkPostalCode
             addGPS.placemarkThoroughfare = placemarkThoroughfare
-            addGPS.latitude = latitude
-            addGPS.longitude = longitude
-                
+            
             realm.add(addGPS)
         }
     }
@@ -1148,13 +1148,13 @@ class NCManageDatabase: NSObject {
             
             addLocaFile.account = tableAccount!.account
             addLocaFile.date = metadata.date
-            addLocaFile.fileID = metadata.fileID
+            addLocaFile.etag = metadata.etag
             addLocaFile.exifDate = NSDate()
             addLocaFile.exifLatitude = "-1"
             addLocaFile.exifLongitude = "-1"
+            addLocaFile.fileID = metadata.fileID
             addLocaFile.fileName = metadata.fileName
             addLocaFile.fileNamePrint = metadata.fileNamePrint
-            addLocaFile.etag = metadata.etag
             addLocaFile.size = metadata.size
             
             realm.add(addLocaFile, update: true)
@@ -1904,5 +1904,66 @@ class NCManageDatabase: NSObject {
         }
     }
 
+    func addTableDirectoryFromCoredata(_ table: TableDirectory) {
+        
+        let realm = try! Realm()
+        
+        let results = realm.objects(tableDirectory.self).filter("directoryID = %@", table.directoryID!)
+        if (results.count == 0) {
+            
+            try! realm.write {
+                
+                let addDirectory = tableDirectory()
+                
+                addDirectory.account = table.account!
+                addDirectory.directoryID = table.directoryID!
+                addDirectory.etag = table.rev!
+                if table.favorite == 1 {
+                    addDirectory.favorite = true
+                }
+                addDirectory.fileID = table.fileID!
+                if table.lock == 1 {
+                    addDirectory.lock = true
+                }
+                addDirectory.permissions = table.permissions!
+                addDirectory.serverUrl = table.serverUrl!
+                                
+                realm.add(addDirectory)
+            }
+        }
+    }
+
+    func addTableDirectoryFromLocalFile(_ table: TableLocalFile) {
+        
+        let realm = try! Realm()
+        
+        let results = realm.objects(tableLocalFile.self).filter("fileID = %@", table.fileID!)
+        if (results.count == 0) {
+            
+            try! realm.write {
+                
+                let addLocalFile = tableLocalFile()
+                
+                addLocalFile.account = table.account!
+                addLocalFile.date = table.date! as NSDate
+                addLocalFile.etag = table.rev!
+                if table.exifDate != nil {
+                    addLocalFile.exifDate = table.exifDate! as NSDate
+                }
+                addLocalFile.exifLatitude = table.exifLatitude!
+                addLocalFile.exifLongitude = table.exifLongitude!
+                if table.favorite == 1 {
+                    addLocalFile.favorite = true
+                }
+                addLocalFile.fileID = table.fileID!
+                addLocalFile.fileName = table.fileName!
+                addLocalFile.fileNamePrint = table.fileNamePrint!
+                addLocalFile.size = table.size as! Double
+
+                realm.add(addLocalFile)
+            }
+        }
+    }
+    
     //MARK: -
 }