Forráskód Böngészése

add Encrypted field

Marino Faggiana 7 éve
szülő
commit
2953444af2

+ 2 - 0
iOSClient/Database/NCDatabase.swift

@@ -220,6 +220,7 @@ class tablePhotoLibrary: Object {
 class tableQueueDownload: Object {
     
     @objc dynamic var account = ""
+    @objc dynamic var encrypted: Bool = false
     @objc dynamic var fileID = ""
     @objc dynamic var selector = ""
     @objc dynamic var selectorPost = ""
@@ -236,6 +237,7 @@ class tableQueueUpload: Object {
     @objc dynamic var account = ""
     @objc dynamic var assetLocalIdentifier = ""
     @objc dynamic var date = NSDate()
+    @objc dynamic var encrypted: Bool = false
     @objc dynamic var fileName = ""
     @objc dynamic var lock: Bool = false
     @objc dynamic var priority: Int = 0

+ 11 - 2
iOSClient/Database/NCManageDatabase.swift

@@ -57,9 +57,10 @@ class NCManageDatabase: NSObject {
         let config = Realm.Configuration(
         
             fileURL: dirGroup?.appendingPathComponent("\(appDatabaseNextcloud)/\(k_databaseDefault)"),
-            schemaVersion: 11,
+            schemaVersion: 12,
             
             // 11 : Add Object e2eEncryption
+            // 12 : Add encrypted on tableQueueDownload, tableQueueUpload
             
             migrationBlock: { migration, oldSchemaVersion in
                 // We haven’t migrated anything yet, so oldSchemaVersion == 0
@@ -1728,7 +1729,8 @@ class NCManageDatabase: NSObject {
     //MARK: -
     //MARK: Table Queue Download
     
-    @objc func addQueueDownload(fileID: String, selector: String, selectorPost: String?, serverUrl: String, session: String) -> Bool {
+    /*
+    @objc func addQueueDownload(fileID: String, encrypted: Bool, selector: String, selectorPost: String?, serverUrl: String, session: String) -> Bool {
         
         guard let tableAccount = self.getAccountActive() else {
             return false
@@ -1750,6 +1752,7 @@ class NCManageDatabase: NSObject {
                     let addObject = tableQueueDownload()
                         
                     addObject.account = tableAccount.account
+                    addObject.encrypted = encrypted
                     addObject.fileID = fileID
                     addObject.selector = selector
                         
@@ -1770,6 +1773,7 @@ class NCManageDatabase: NSObject {
         
         return true
     }
+    */
     
     @objc func addQueueDownload(metadatasNet: [CCMetadataNet]) {
         
@@ -1788,6 +1792,7 @@ class NCManageDatabase: NSObject {
                     let addObject = tableQueueDownload()
                     
                     addObject.account = tableAccount.account
+                    addObject.encrypted = metadataNet.encrypted
                     addObject.fileID = metadataNet.fileID
                     addObject.selector = metadataNet.selector
                     
@@ -1823,6 +1828,7 @@ class NCManageDatabase: NSObject {
         
         let metadataNet = CCMetadataNet()
         
+        metadataNet.encrypted = result.encrypted
         metadataNet.fileID = result.fileID
         metadataNet.selector = result.selector
         metadataNet.selectorPost = result.selectorPost
@@ -1890,6 +1896,7 @@ class NCManageDatabase: NSObject {
                         
                         addObject.account = tableAccount.account
                         addObject.assetLocalIdentifier = metadataNet.assetLocalIdentifier
+                        addObject.encrypted = metadataNet.encrypted
                         addObject.fileName = metadataNet.fileName
                         addObject.selector = metadataNet.selector
                         
@@ -1933,6 +1940,7 @@ class NCManageDatabase: NSObject {
                         
                         addObject.account = tableAccount.account
                         addObject.assetLocalIdentifier = metadataNet.assetLocalIdentifier
+                        addObject.encrypted = metadataNet.encrypted
                         addObject.fileName = metadataNet.fileName
                         addObject.selector = metadataNet.selector
                         
@@ -1971,6 +1979,7 @@ class NCManageDatabase: NSObject {
         let metadataNet = CCMetadataNet()
         
         metadataNet.assetLocalIdentifier = result.assetLocalIdentifier
+        metadataNet.encrypted = result.encrypted
         metadataNet.fileName = result.fileName
         metadataNet.priority = result.priority
         metadataNet.selector = result.selector

+ 5 - 1
iOSClient/Main/CCMain.m

@@ -1605,11 +1605,14 @@
         if (![[NCAutoUpload sharedInstance] createFolderSubFolderAutoUploadFolderPhotos:autoUploadPath useSubFolder:useSubFolder assets:(PHFetchResult *)assets selector:selectorUploadFile])
             return;
     
+    // Is encrypted
+    BOOL isEncrypted = [CCUtility isFolderEncrypted:self.serverUrl account:app.activeAccount];
+    
     NSLog(@"[LOG] Asset N. %lu", (unsigned long)[assets count]);
     
     for (PHAsset *asset in assets) {
         
-        if ([CCUtility isFolderEncrypted:self.serverUrl account:app.activeAccount]) {
+        if (isEncrypted) {
             fileName = [CCUtility generateEncryptedFileName];
         } else {
             fileName = [CCUtility createFileName:[asset valueForKey:@"filename"] fileDate:asset.creationDate fileType:asset.mediaType keyFileName:k_keyFileNameMask keyFileNameType:k_keyFileNameType];
@@ -1645,6 +1648,7 @@
             
             metadataNet.action = actionReadFile;
             metadataNet.assetLocalIdentifier = asset.localIdentifier;
+            metadataNet.encrypted = isEncrypted;
             metadataNet.fileName = fileName;
             metadataNet.session = session;
             metadataNet.selector = selectorReadFileUploadFile;

+ 1 - 0
iOSClient/Networking/CCNetworking.h

@@ -101,6 +101,7 @@
 @property BOOL directory;
 @property (nonatomic, strong) NSString *directoryID;
 @property (nonatomic, strong) NSString *directoryIDTo;
+@property BOOL encrypted;
 @property (nonatomic, strong) NSString *encryptedMetadata;
 @property NSInteger errorCode;
 @property NSInteger errorRetry;

+ 1 - 0
iOSClient/Networking/CCNetworking.m

@@ -1542,6 +1542,7 @@
     [metadataNet setDirectory: self.directory];
     [metadataNet setDirectoryID: self.directoryID];
     [metadataNet setDirectoryIDTo: self.directoryIDTo];
+    [metadataNet setEncrypted: self.encrypted];
     [metadataNet setEncryptedMetadata: self.encryptedMetadata];
     [metadataNet setErrorCode: self.errorCode];
     [metadataNet setErrorRetry: self.errorRetry];