Просмотр исходного кода

Modify : getSharePermissionsFile

Marino Faggiana 7 лет назад
Родитель
Сommit
a38644f979

+ 1 - 1
iOSClient/CCGlobal.h

@@ -203,7 +203,7 @@ extern NSString *const urlBaseUploadDB;
 #define actionGetUserAndGroup                           @"getUserAndGroup"
 #define actionGetUserProfile                            @"getUserProfile"
 #define actionGetNotificationServer                     @"getNotificationServer"
-#define actionGetSharePermissionFile                    @"getSharePermissionFile"
+#define actionGetSharePermissionsFile                   @"getSharePermissionsFile"
 #define actionGetExternalSitesServer                    @"getExternalSitesServer"
 #define actionMiddlewarePing                            @"middlewarePing"
 #define actionListingFavorites                          @"listingFavorites"

+ 1 - 1
iOSClient/Library/OCCommunicationLib/OCCommunication.h

@@ -745,7 +745,7 @@ typedef enum {
  */
 - (void) searchUsersAndGroupsWith:(NSString *)searchString forPage:(NSInteger)page with:(NSInteger)resultsPerPage ofServer:(NSString*)serverPath onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSArray *itemList, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest;
 
-- (void) getSharePermissionFile:(NSString*)fileName onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSString *permission, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest;
+- (void) getSharePermissionsFile:(NSString*)fileName onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSString *permissions, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest;
 ///-----------------------------------
 /// @name Get the server capabilities
 ///-----------------------------------

+ 14 - 7
iOSClient/Library/OCCommunicationLib/OCCommunication.m

@@ -1244,33 +1244,40 @@
     }];
 }
 
-- (void) getSharePermissionFile:(NSString *)fileName onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSString *permission, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest{
+- (void)getSharePermissionsFile:(NSString *)fileName onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSString *permissions, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest{
     
     fileName = [fileName encodeString:NSUTF8StringEncoding];
     
     OCWebDAVClient *request = [OCWebDAVClient new];
     request = [self getRequestWithCredentials:request];
     
-    [request getSharePermissionFile:fileName onCommunication:sharedOCComunication success:^(NSHTTPURLResponse * _Nonnull response, id  responseObject) {
+    [request getSharePermissionsFile:fileName onCommunication:sharedOCComunication success:^(NSHTTPURLResponse *response, id responseObject) {
         
         if (successRequest) {
             
-            NSData *responseData = (NSData*) responseObject;
+            NSString *permissions;
+            NSData *responseData = (NSData *)responseObject;
             
-            NSString* newStr = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
+            NSString *newStr = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
             NSLog(@"newStrReadFolder: %@", newStr);
             
             OCXMLParser *parser = [[OCXMLParser alloc]init];
             [parser initParserWithData:responseData];
+            NSMutableArray *directoryList = [parser.directoryList mutableCopy];
+            
+            if ([directoryList count] == 1) {
+                OCFileDto *file = [directoryList objectAtIndex:0];
+                permissions = file.permissions;
+            }
             
             //Return success
-            successRequest(response, nil, request.redirectedServer);
+            successRequest(response, permissions, request.redirectedServer);
         }
-
+        
     } failure:^(NSHTTPURLResponse *response, NSData *responseData, NSError *error) {
+        
         failureRequest(response, error, request.redirectedServer);
     }];
-
 }
 
 - (void) getCapabilitiesOfServer:(NSString*)serverPath onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, OCCapabilities *capabilities, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest{

+ 1 - 1
iOSClient/Library/OCCommunicationLib/OCWebDavClient/OCWebDAVClient.h

@@ -455,7 +455,7 @@ extern NSString * _Nullable OCWebDAVModificationDateKey;
                           success:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id _Nonnull response))success
                           failure:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id  _Nullable responseObject, NSError * _Nonnull error))failure;
 
-- (void) getSharePermissionFile:(NSString * _Nonnull)fileName onCommunication:(OCCommunication * _Nonnull)sharedOCComunication success:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id _Nonnull response))success
+- (void) getSharePermissionsFile:(NSString * _Nonnull)fileName onCommunication:(OCCommunication * _Nonnull)sharedOCComunication success:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id _Nonnull response))success
                          failure:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id  _Nullable responseObject, NSError * _Nonnull error))failure;
 
 ///-----------------------------------

+ 1 - 1
iOSClient/Library/OCCommunicationLib/OCWebDavClient/OCWebDAVClient.m

@@ -662,7 +662,7 @@ NSString const *OCWebDAVModificationDateKey	= @"modificationdate";
     [operation resume];
 }
 
-- (void)getSharePermissionFile:(NSString*)fileName onCommunication:(OCCommunication *)sharedOCCommunication
+- (void)getSharePermissionsFile:(NSString*)fileName onCommunication:(OCCommunication *)sharedOCCommunication
             success:(void(^)(NSHTTPURLResponse *, id))success
             failure:(void(^)(NSHTTPURLResponse *, id  _Nullable responseObject, NSError *))failure {
     

+ 2 - 0
iOSClient/Library/OCCommunicationLib/OCWebDavClient/Parsers/OCXMLParser.m

@@ -237,6 +237,8 @@ NSString *OCCWebDAVURIKey           = @"uri";
         _xmlBucket = nil;
     } else if ([elementName isEqualToString:@"oc:favorite"]) {
         _currentFile.isFavorite = [_xmlChars boolValue];
+    } else if ([elementName isEqualToString:@"x1:share-permissions"]) {
+        _currentFile.permissions = _xmlChars;
     }
 }
 

+ 2 - 2
iOSClient/Networking/OCNetworking.m

@@ -1327,7 +1327,7 @@
     }];
 }
 
-- (void)getSharePermissionFile
+- (void)getSharePermissionsFile
 {
     OCCommunication *communication = [CCNetworking sharedNetworking].sharedOCCommunication;
 
@@ -1336,7 +1336,7 @@
     [communication setCredentialsWithUser:_activeUser andPassword:_activePassword];
     [communication setUserAgent:[CCUtility getUserAgent]];
     
-    [communication getSharePermissionFile:fileName onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSString *permission, NSString *redirectedServer) {
+    [communication getSharePermissionsFile:fileName onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSString *permissions, NSString *redirectedServer) {
         
     } failureRequest:^(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer) {
         

+ 1 - 1
iOSClient/Share/CCShareInfoCMOC.m

@@ -153,7 +153,7 @@
     self.tableView.backgroundColor = [NCBrandColor sharedInstance].tableBackground;
     
     CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
-    metadataNet.action = actionGetSharePermissionFile;
+    metadataNet.action = actionGetSharePermissionsFile;
     metadataNet.fileName = _metadata.fileNameData;
     metadataNet.serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:_metadata.directoryID];
     [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];