Marino Faggiana vor 6 Jahren
Ursprung
Commit
2490fb77fc

+ 2 - 1
iOSClient/Main/CCMain.m

@@ -1364,8 +1364,9 @@
             continue;
         
         // Prepare record metadata
-        tableMetadata *metadataForUpload = [CCUtility insertFileSystemInMetadata:fileName fileNameView:fileName directory:appDelegate.directoryUser activeAccount:appDelegate.activeAccount];
+        tableMetadata *metadataForUpload = [tableMetadata new];
 
+        metadataForUpload.account = appDelegate.activeAccount;
         metadataForUpload.assetLocalIdentifier = asset.localIdentifier;
         metadataForUpload.date = [NSDate new];
         metadataForUpload.directoryID = directoryID;

+ 20 - 13
iOSClient/Networking/CCNetworking.m

@@ -855,9 +855,6 @@
                     NSString *fileNameJPEG = [[metadata.fileName lastPathComponent] stringByDeletingPathExtension];
                     metadata.fileName = [fileNameJPEG stringByAppendingString:@".jpg"];
                     
-                    // Update Metadata
-                    (void)[[NCManageDatabase sharedInstance] addMetadata:metadata];
-                    
                     [imageData writeToFile:[NSString stringWithFormat:@"%@/%@", path, metadata.fileName] options:NSDataWritingAtomic error:&error];
                     
                 } else {
@@ -868,11 +865,15 @@
                 if (error) {
                     [delegate uploadFileSuccessFailure:metadata.fileName fileID:metadata.fileID assetLocalIdentifier:metadata.assetLocalIdentifier serverUrl:serverUrl selector:metadata.sessionSelector selectorPost:metadata.sessionSelectorPost errorMessage:[NSString stringWithFormat:@"Image request failed [%@]", error.description] errorCode:error.code];
                 } else {
+                    
+                    // create Metadata for Upload
+                    tableMetadata *metadataForUpload = [[NCManageDatabase sharedInstance] addMetadata:[CCUtility insertFileSystemInMetadata:metadata]];
+                    
                     // OOOOOK
                     if ([CCUtility isFolderEncrypted:serverUrl account:_activeAccount] && [CCUtility isEndToEndEnabled:_activeAccount]) {
-                        [self e2eEncryptedFile:metadata serverUrl:serverUrl taskStatus:taskStatus];
+                        [self e2eEncryptedFile:metadataForUpload serverUrl:serverUrl taskStatus:taskStatus];
                     } else {
-                        [self uploadURLSessionMetadata:metadata serverUrl:serverUrl taskStatus:taskStatus];
+                        [self uploadURLSessionMetadata:metadataForUpload serverUrl:serverUrl taskStatus:taskStatus];
                     }
                 }
             }];
@@ -908,11 +909,15 @@
                         });
                     } else {
                         dispatch_async(dispatch_get_main_queue(), ^{
+                            
+                            // create Metadata for Upload
+                            tableMetadata *metadataForUpload = [[NCManageDatabase sharedInstance] addMetadata:[CCUtility insertFileSystemInMetadata:metadata]];
+                            
                             // OOOOOK
                             if ([CCUtility isFolderEncrypted:serverUrl account:_activeAccount] && [CCUtility isEndToEndEnabled:_activeAccount]) {
-                                [self e2eEncryptedFile:metadata serverUrl:serverUrl taskStatus:taskStatus];
+                                [self e2eEncryptedFile:metadataForUpload serverUrl:serverUrl taskStatus:taskStatus];
                             } else {
-                                [self uploadURLSessionMetadata:metadata serverUrl:serverUrl taskStatus:taskStatus];
+                                [self uploadURLSessionMetadata:metadataForUpload serverUrl:serverUrl taskStatus:taskStatus];
                             }
                         });
                     }
@@ -921,7 +926,10 @@
         }
     } else {
         
-        [self uploadURLSessionMetadata:metadata serverUrl:serverUrl taskStatus:taskStatus];
+        // create Metadata for Upload
+        tableMetadata *metadataForUpload = [[NCManageDatabase sharedInstance] addMetadata:[CCUtility insertFileSystemInMetadata:metadata]];
+        
+        [self uploadURLSessionMetadata:metadataForUpload serverUrl:serverUrl taskStatus:taskStatus];
     }
 }
 
@@ -1142,10 +1150,7 @@
         errorMessage = [CCError manageErrorKCF:errorCode withNumberError:YES];
         
     } else {
-    
-        // copy ico in new fileID
-//        [CCUtility copyFileAtPath:[NSString stringWithFormat:@"%@/%@.ico", _directoryUser, tempFileID] toPath:[NSString stringWithFormat:@"%@/%@.ico", _directoryUser, fileID]];
-        
+            
         // Replace Metadata
         metadata.assetLocalIdentifier = @"";
         metadata.date = date;
@@ -1155,10 +1160,10 @@
         metadata.session = @"";
         metadata.sessionError = @"";
         metadata.sessionTaskIdentifier = k_taskIdentifierDone;
+        metadata.status = k_metadataStatusNormal;
         
         metadata = [[NCManageDatabase sharedInstance] addMetadata:metadata];
         [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", tempFileID] clearDateReadDirectoryID:nil];
-
         
 #ifndef EXTENSION
         AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
@@ -1178,6 +1183,8 @@
         
             // rename file fileName -> fileID
             [CCUtility moveFileAtPath:[NSString stringWithFormat:@"%@/%@", _directoryUser, metadata.fileName]  toPath:[NSString stringWithFormat:@"%@/%@", _directoryUser, metadata.fileID]];
+            // remove ico B/N
+            [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@.ico", _directoryUser, tempFileID] error:nil];
         }
     
         // Local

+ 1 - 2
iOSClient/Utility/CCUtility.h

@@ -194,8 +194,7 @@
 
 + (tableMetadata *)trasformedOCFileToCCMetadata:(OCFileDto *)itemDto fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl directoryID:(NSString *)directoryID autoUploadFileName:(NSString *)autoUploadFileName autoUploadDirectory:(NSString *)autoUploadDirectory activeAccount:(NSString *)activeAccount directoryUser:(NSString *)directoryUser isFolderEncrypted:(BOOL)isFolderEncrypted;
 
-+ (tableMetadata *)insertFileSystemInMetadata:(NSString *)fileName fileNameView:(NSString *)fileNameView directory:(NSString *)directory activeAccount:(NSString *)activeAccount;
-
++ (tableMetadata *)insertFileSystemInMetadata:(tableMetadata *)metadata;
 + (NSString *)insertTypeFileIconName:(NSString *)fileNameView metadata:(tableMetadata *)metadata;
 
 // ===== Third parts =====

+ 3 - 10
iOSClient/Utility/CCUtility.m

@@ -1099,29 +1099,22 @@
     return returnFileUTI;
 }
 
-+ (tableMetadata *)insertFileSystemInMetadata:(NSString *)fileName fileNameView:(NSString *)fileNameView directory:(NSString *)directory activeAccount:(NSString *)activeAccount
++ (tableMetadata *)insertFileSystemInMetadata:(tableMetadata *)metadata
 {
-    tableMetadata *metadata = [[tableMetadata alloc] init];
-    
-    NSString *fileNamePath = [NSString stringWithFormat:@"%@/%@", directory, fileName];
+    NSString *fileNamePath = [NSString stringWithFormat:@"%@/%@", metadata.path, metadata.fileName];
     
     NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:fileNamePath error:nil];
     
-    metadata.account = activeAccount;
     metadata.date = attributes[NSFileModificationDate];
     
     BOOL isDirectory;
     [[NSFileManager defaultManager] fileExistsAtPath:fileNamePath isDirectory:&isDirectory];
     metadata.directory = isDirectory;
     
-    metadata.fileID = fileName;
-    metadata.directoryID = directory;
-    metadata.fileName = fileName;
-    metadata.fileNameView = fileName;
     metadata.size = [attributes[NSFileSize] longValue];
     metadata.thumbnailExists = false;
     
-    [self insertTypeFileIconName:fileNameView metadata:metadata];
+    [self insertTypeFileIconName:metadata.fileNameView metadata:metadata];
     
     return metadata;
 }