Bläddra i källkod

share add account

Marino Faggiana 6 år sedan
förälder
incheckning
c62f7c46ad

+ 0 - 5
iOSClient/CCGlobal.h

@@ -217,11 +217,6 @@
 #define selectorUploadFile                              @"uploadFile"
 
 // Metadata.Net ACTION
-#define actionGetUserAndGroup                           @"getUserAndGroup"
-#define actionGetSharePermissionsFile                   @"getSharePermissionsFile"
-#define actionMiddlewarePing                            @"middlewarePing"
-#define actionUnShare                                   @"unShare"
-
 #define actionGetEndToEndPublicKeys                     @"getEndToEndPublicKeys"
 #define actionGetEndToEndPrivateKeyCipher               @"getEndToEndPrivateKeyCipher"
 #define actionSignEndToEndPublicKey                     @"signEndToEndPublicKey"

+ 18 - 33
iOSClient/Main/CCMain.m

@@ -2015,42 +2015,27 @@
     [_hud visibleHudTitle:NSLocalizedString(@"_updating_sharing_", nil) mode:MBProgressHUDModeIndeterminate color:nil];
 }
 
-- (void)getUserAndGroupSuccess:(CCMetadataNet *)metadataNet items:(NSArray *)items
-{
-    [_hud hideHud];
-    
-    // Check Active Account
-    if (![metadataNet.account isEqualToString:appDelegate.activeAccount])
-        return;
-    
-    if (_shareOC)
-        [_shareOC reloadUserAndGroup:items];
-}
-
-- (void)getUserAndGroupFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
-{
-    [_hud hideHud];
-    
-    // Check Active Account
-    if (![metadataNet.account isEqualToString:appDelegate.activeAccount])
-        return;
-    
-    // Unauthorized
-    if (errorCode == kOCErrorServerUnauthorized)
-        [appDelegate openLoginView:self loginType:k_login_Modify_Password selector:k_intro_login];
-    else
-        [appDelegate messageNotification:@"_error_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
-}
-
 - (void)getUserAndGroup:(NSString *)find
 {
-    CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:appDelegate.activeAccount];
-    
-    metadataNet.action = actionGetUserAndGroup;
-    metadataNet.optionAny = find;
-    metadataNet.selector = selectorGetUserAndGroup;
+    OCnetworking *ocNetworking = [[OCnetworking alloc] initWithDelegate:nil metadataNet:nil withUser:nil withUserID:nil withPassword:nil withUrl:nil];
+    [ocNetworking getUserGroupWithAccount:appDelegate.activeAccount searchString:find completion:^(NSString *account, NSArray *item, NSString *message, NSInteger errorCode) {
+        
+        [_hud hideHud];
         
-    [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
+        if (errorCode == 0 && [account isEqualToString:appDelegate.activeAccount]) {
+            
+            if (_shareOC)
+                [_shareOC reloadUserAndGroup:item];
+            
+        } else if (errorCode != 0) {
+            
+            if (errorCode == kOCErrorServerUnauthorized)
+                [appDelegate openLoginView:self loginType:k_login_Modify_Password selector:k_intro_login];
+            else
+                [appDelegate messageNotification:@"_error_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+        }
+
+    }];
     
     [_hud visibleIndeterminateHud];
 }

+ 3 - 7
iOSClient/Networking/NCService.swift

@@ -355,13 +355,9 @@ class NCService: NSObject, OCNetworkingDelegate {
         if (appDelegate.activeAccount == nil || appDelegate.activeAccount.count == 0 || appDelegate.maintenanceMode == true) {
             return
         }
-        
-        guard let metadataNet = CCMetadataNet.init(account: appDelegate.activeAccount) else {
-            return
-        }
-        
-        metadataNet.action = actionMiddlewarePing
-        metadataNet.serverUrl = NCBrandOptions.sharedInstance.middlewarePingUrl
+
+        //metadataNet.action = actionMiddlewarePing
+        //metadataNet.serverUrl = NCBrandOptions.sharedInstance.middlewarePingUrl
         
         //appDelegate.addNetworkingOperationQueue(appDelegate.netQueue, delegate: self, metadataNet: metadataNet)
     }

+ 4 - 6
iOSClient/Networking/OCNetworking.h

@@ -96,6 +96,10 @@
 
 - (void)getUserProfileWithAccount:(NSString *)account completion:(void (^)(NSString *account, OCUserProfile *userProfile, NSString *message, NSInteger errorCode))completion;
 
+- (void)getUserGroupWithAccount:(NSString *)account searchString:(NSString *)searchString completion:(void (^)(NSString *account, NSArray *item, NSString *message, NSInteger errorCode))completion;
+
+- (void)getSharePermissionsFileWithAccount:(NSString *)account fileNamePath:(NSString *)fileNamePath completion:(void (^)(NSString *account, NSString *permissions, NSString *message, NSInteger errorCode))completion;
+
 - (void)subscribingPushNotificationWithAccount:(NSString *)account url:(NSString *)url pushToken:(NSString *)pushToken Hash:(NSString *)pushTokenHash devicePublicKey:(NSString *)devicePublicKey completion:(void(^)(NSString *account, NSString *deviceIdentifier, NSString *deviceIdentifierSignature, NSString *publicKey, NSString *message, NSInteger errorCode))completion;
 
 - (void)unsubscribingPushNotificationWithAccount:(NSString *)account url:(NSString *)url deviceIdentifier:(NSString *)deviceIdentifier deviceIdentifierSignature:(NSString *)deviceIdentifierSignature publicKey:(NSString *)publicKey completion:(void (^)(NSString *account ,NSString *message, NSInteger errorCode))completion;
@@ -118,12 +122,6 @@
 
 @optional
 
-- (void)getUserAndGroupSuccess:(CCMetadataNet *)metadataNet items:(NSArray *)items;
-- (void)getUserAndGroupFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;
-
-- (void)getSharePermissionsFileSuccess:(CCMetadataNet *)metadataNet permissions:(NSString *)permissions;
-- (void)getSharePermissionsFileFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;
-
 // End-to-End Encryption
 - (void)getEndToEndPublicKeysSuccess:(CCMetadataNet *)metadataNet;
 - (void)getEndToEndPublicKeysFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;

+ 20 - 28
iOSClient/Networking/OCNetworking.m

@@ -1402,19 +1402,21 @@
     }];
 }
 
-- (void)getUserAndGroup
+- (void)getUserGroupWithAccount:(NSString *)account searchString:(NSString *)searchString completion:(void (^)(NSString *account, NSArray *item, NSString *message, NSInteger errorCode))completion
 {
+    tableAccount *tableAccount = [[NCManageDatabase sharedInstance] getAccountWithPredicate:[NSPredicate predicateWithFormat:@"account == %@", account]];
+    if (tableAccount == nil) {
+        completion(account, nil, NSLocalizedString(@"_error_user_not_available_", nil), k_CCErrorUserNotAvailble);
+    }
+    
     OCCommunication *communication = [CCNetworking sharedNetworking].sharedOCCommunication;
     
-    [communication setCredentialsWithUser:_activeUser andUserID:_activeUserID andPassword:_activePassword];
+    [communication setCredentialsWithUser:tableAccount.user andUserID:tableAccount.userID andPassword:tableAccount.password];
     [communication setUserAgent:[CCUtility getUserAgent]];
     
-    [communication searchUsersAndGroupsWith:_metadataNet.optionAny forPage:1 with:50 ofServer:[_activeUrl stringByAppendingString:@"/"] onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSArray *itemList, NSString *redirectedServer) {
+    [communication searchUsersAndGroupsWith:searchString forPage:1 with:50 ofServer:[tableAccount.url stringByAppendingString:@"/"] onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSArray *itemList, NSString *redirectedServer) {
         
-        if([self.delegate respondsToSelector:@selector(getUserAndGroupSuccess:items:)])
-            [self.delegate getUserAndGroupSuccess:_metadataNet items:itemList];
-        
-        [self complete];
+        completion(account, itemList, nil, 0);
         
     } failureRequest:^(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer) {
         
@@ -1434,35 +1436,25 @@
         if ([error code] == NSURLErrorServerCertificateUntrusted && self.delegate)
             [[CCCertificate sharedManager] presentViewControllerCertificateWithTitle:[error localizedDescription] viewController:(UIViewController *)self.delegate delegate:self];
         
-        [self complete];
+        completion(account, nil, message, errorCode);
     }];
 }
 
-- (void)getSharePermissionsFile
+- (void)getSharePermissionsFileWithAccount:(NSString *)account fileNamePath:(NSString *)fileNamePath completion:(void (^)(NSString *account, NSString *permissions, NSString *message, NSInteger errorCode))completion
 {
+    tableAccount *tableAccount = [[NCManageDatabase sharedInstance] getAccountWithPredicate:[NSPredicate predicateWithFormat:@"account == %@", account]];
+    if (tableAccount == nil) {
+        completion(account, 0, NSLocalizedString(@"_error_user_not_available_", nil), k_CCErrorUserNotAvailble);
+    }
+    
     OCCommunication *communication = [CCNetworking sharedNetworking].sharedOCCommunication;
-
-    NSString *fileName = [NSString stringWithFormat:@"%@/%@", _metadataNet.serverUrl, _metadataNet.fileName];
     
-    [communication setCredentialsWithUser:_activeUser andUserID:_activeUserID andPassword:_activePassword];
+    [communication setCredentialsWithUser:tableAccount.user andUserID:tableAccount.userID andPassword:tableAccount.password];
     [communication setUserAgent:[CCUtility getUserAgent]];
-    
-    [communication getSharePermissionsFile:fileName onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSString *permissions, NSString *redirectedServer) {
         
-        // Test active account
-        tableAccount *recordAccount = [[NCManageDatabase sharedInstance] getAccountActive];
-        if (![recordAccount.account isEqualToString:_metadataNet.account]) {
-            if ([self.delegate respondsToSelector:@selector(getSharePermissionsFileFailure:message:errorCode:)])
-                [self.delegate getSharePermissionsFileFailure:_metadataNet message:NSLocalizedString(@"_error_user_not_available_", nil) errorCode:k_CCErrorUserNotAvailble];
-            
-            [self complete];
-            return;
-        }
+    [communication getSharePermissionsFile:fileNamePath onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSString *permissions, NSString *redirectedServer) {
         
-        if([self.delegate respondsToSelector:@selector(getSharePermissionsFileSuccess:permissions:)])
-            [self.delegate getSharePermissionsFileSuccess:_metadataNet permissions:permissions];
-        
-        [self complete];
+        completion(account, permissions, nil ,0);
         
     } failureRequest:^(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer) {
         
@@ -1482,7 +1474,7 @@
         if ([error code] == NSURLErrorServerCertificateUntrusted && self.delegate)
             [[CCCertificate sharedManager] presentViewControllerCertificateWithTitle:[error localizedDescription] viewController:(UIViewController *)self.delegate delegate:self];
         
-        [self complete];
+        completion(account, nil, message, errorCode);
     }];
 }
 

+ 48 - 48
iOSClient/Share/CCShareInfoCMOC.m

@@ -125,13 +125,54 @@ const PERMISSION_ALL = 31;
     self.tableView.backgroundColor = [NCBrandColor sharedInstance].backgroundView;
     
     _hud = [[CCHud alloc] initWithView:[[[UIApplication sharedApplication] delegate] window]];
-    [_hud visibleHudTitle:@"" mode:MBProgressHUDModeIndeterminate color:nil];
     
-    CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:appDelegate.activeAccount];
-    metadataNet.action = actionGetSharePermissionsFile;
-    metadataNet.fileName = _metadata.fileName;
-    metadataNet.serverUrl = _metadata.serverUrl;
-    [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
+    OCnetworking *ocNetworking = [[OCnetworking alloc] initWithDelegate:nil metadataNet:nil withUser:nil withUserID:nil withPassword:nil withUrl:nil];
+    [ocNetworking getSharePermissionsFileWithAccount:appDelegate.activeAccount fileNamePath:[NSString stringWithFormat:@"%@/%@", _metadata.serverUrl, _metadata.fileName] completion:^(NSString *account, NSString *permissions, NSString *message, NSInteger errorCode) {
+        
+        [_hud hideHud];
+
+        if (errorCode == 0 && [account isEqualToString:appDelegate.activeAccount] && permissions != nil) {
+            
+            NSInteger iPermissions = [permissions integerValue];
+            
+            // ------------------------------------------------------------------
+            
+            XLFormRowDescriptor *rowCreate = [self.form formRowWithTag:@"create"];
+            XLFormRowDescriptor *rowRead = [self.form formRowWithTag:@"read"];
+            XLFormRowDescriptor *rowChange = [self.form formRowWithTag:@"change"];
+            XLFormRowDescriptor *rowDelete = [self.form formRowWithTag:@"delete"];
+            XLFormRowDescriptor *rowShare = [self.form formRowWithTag:@"share"];
+            
+            // ------------------------------------------------------------------
+            
+            if ([UtilsFramework isPermissionToCanCreate:iPermissions]) rowCreate.value = @1;
+            else rowCreate.value = @0;
+            
+            if ([UtilsFramework isPermissionToRead:iPermissions]) rowRead.value = @1;
+            else rowRead.value = @0;
+            
+            if ([UtilsFramework isPermissionToCanChange:iPermissions]) rowChange.value = @1;
+            else rowChange.value = @0;
+            
+            if ([UtilsFramework isPermissionToCanDelete:iPermissions]) rowDelete.value = @1;
+            else rowDelete.value = @0;
+            
+            if ([UtilsFramework isPermissionToCanShare:iPermissions]) rowShare.value = @1;
+            else rowShare.value = @0;
+            
+            // -----------------------------------------------------------------
+            
+            [self.tableView reloadData];
+            
+        } else if (errorCode != 0) {
+            
+            [appDelegate messageNotification:@"_error_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+            
+            [self dismissViewControllerAnimated:YES completion:nil];
+        }
+    }];
+    
+    [_hud visibleHudTitle:@"" mode:MBProgressHUDModeIndeterminate color:nil];
 
     [self initializeForm];
 }
@@ -142,50 +183,9 @@ const PERMISSION_ALL = 31;
 
 - (void)getSharePermissionsFileSuccess:(CCMetadataNet *)metadataNet permissions:(NSString *)permissions
 {
-    [_hud hideHud];
-
-    if (permissions == nil)
-        return;
-    
-    NSInteger iPermissions = [permissions integerValue];
-
-    // ------------------------------------------------------------------
-    
-    XLFormRowDescriptor *rowCreate = [self.form formRowWithTag:@"create"];
-    XLFormRowDescriptor *rowRead = [self.form formRowWithTag:@"read"];
-    XLFormRowDescriptor *rowChange = [self.form formRowWithTag:@"change"];
-    XLFormRowDescriptor *rowDelete = [self.form formRowWithTag:@"delete"];
-    XLFormRowDescriptor *rowShare = [self.form formRowWithTag:@"share"];
-    
-    // ------------------------------------------------------------------
-    
-    if ([UtilsFramework isPermissionToCanCreate:iPermissions]) rowCreate.value = @1;
-    else rowCreate.value = @0;
-        
-    if ([UtilsFramework isPermissionToRead:iPermissions]) rowRead.value = @1;
-    else rowRead.value = @0;
-
-    if ([UtilsFramework isPermissionToCanChange:iPermissions]) rowChange.value = @1;
-    else rowChange.value = @0;
-
-    if ([UtilsFramework isPermissionToCanDelete:iPermissions]) rowDelete.value = @1;
-    else rowDelete.value = @0;
-
-    if ([UtilsFramework isPermissionToCanShare:iPermissions]) rowShare.value = @1;
-    else rowShare.value = @0;
-
-    // -----------------------------------------------------------------
+   
     
-    [self.tableView reloadData];
-}
-
-- (void)getSharePermissionsFileFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;
-{
-    [_hud hideHud];
-
-    [appDelegate messageNotification:@"_error_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
     
-    [self dismissViewControllerAnimated:YES completion:nil];
 }
 
 #pragma --------------------------------------------------------------------------------------------

+ 25 - 24
iOSClient/Shares/NCShares.m

@@ -141,41 +141,42 @@
 #pragma mark ==== unShare <Delegate> ====
 #pragma --------------------------------------------------------------------------------------------
 
-- (void)unShareSuccess:(CCMetadataNet *)metadataNet
-{
-    NSArray *result = [[NCManageDatabase sharedInstance] unShare:metadataNet.share fileName:metadataNet.fileName serverUrl:metadataNet.serverUrl sharesLink:appDelegate.sharesLink sharesUserAndGroup:appDelegate.sharesUserAndGroup account:metadataNet.account];
-    
-    appDelegate.sharesLink = result[0];
-    appDelegate.sharesUserAndGroup = result[1];
-    
-    [self reloadDatasource];
-}
-
 - (void)removeShares:(tableMetadata *)metadata tableShare:(tableShare *)tableShare
 {
-    CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:appDelegate.activeAccount];
- 
-    metadataNet.action = actionUnShare;
-    metadataNet.fileID = metadata.fileID;
-    metadataNet.fileName = metadata.fileName;
-    metadataNet.fileNameView = metadata.fileNameView;
-    metadataNet.selector = selectorUnshare;
-    metadataNet.serverUrl = tableShare.serverUrl;
+    NSString *shareString;
     
     // Unshare Link
     if (tableShare.shareLink.length > 0) {
-   
-        metadataNet.share = tableShare.shareLink;
-        [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
+        
+        shareString = tableShare.shareLink;
     }
     
     // Unshare User&Group
     NSArray *shareUserAndGroup = [tableShare.shareUserAndGroup componentsSeparatedByString:@","];
     for (NSString *share in shareUserAndGroup) {
-        
-        metadataNet.share = [share stringByReplacingOccurrencesOfString:@" " withString:@""];
-        [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
+        shareString = [share stringByReplacingOccurrencesOfString:@" " withString:@""];
     }
+    
+    OCnetworking *ocNetworking = [[OCnetworking alloc] initWithDelegate:nil metadataNet:nil withUser:nil withUserID:nil withPassword:nil withUrl:nil];
+    [ocNetworking unshareAccount:appDelegate.activeAccount shareID:[shareString integerValue] completion:^(NSString *account, NSString *message, NSInteger errorCode) {
+        
+        if (errorCode == 0 && [account isEqualToString:appDelegate.activeAccount]) {
+            
+            NSArray *result = [[NCManageDatabase sharedInstance] unShare:shareString fileName:metadata.fileName serverUrl:metadata.serverUrl sharesLink:appDelegate.sharesLink sharesUserAndGroup:appDelegate.sharesUserAndGroup account:account];
+            
+            appDelegate.sharesLink = result[0];
+            appDelegate.sharesUserAndGroup = result[1];
+            
+            [self reloadDatasource];
+            
+        } else if (errorCode != 0) {
+            
+            if (errorCode == kOCErrorServerUnauthorized)
+                [appDelegate openLoginView:self loginType:k_login_Modify_Password selector:k_intro_login];
+            else
+                [appDelegate messageNotification:@"_share_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+        }
+    }];
 }
 
 #pragma mark -