Browse Source

change function getSharePermissionFile

Marino Faggiana 7 years ago
parent
commit
144040a6f0

+ 1 - 1
iOSClient/CCGlobal.h

@@ -203,7 +203,7 @@ extern NSString *const urlBaseUploadDB;
 #define actionGetUserAndGroup                           @"getUserAndGroup"
 #define actionGetUserProfile                            @"getUserProfile"
 #define actionGetNotificationServer                     @"getNotificationServer"
-#define actionGetSharePermissions                       @"getSharePermissions"
+#define actionGetSharePermissionFile                    @"getSharePermissionFile"
 #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) getSharePermissionsOfServer:(NSString*)serverPath onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, OCCapabilities *capabilities, 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;
 ///-----------------------------------
 /// @name Get the server capabilities
 ///-----------------------------------

+ 16 - 4
iOSClient/Library/OCCommunicationLib/OCCommunication.m

@@ -1244,16 +1244,28 @@
     }];
 }
 
-- (void) getSharePermissionsOfServer:(NSString*)serverPath onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, OCCapabilities *capabilities, 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{
     
-    serverPath = [serverPath encodeString:NSUTF8StringEncoding];
+    fileName = [fileName encodeString:NSUTF8StringEncoding];
     
     OCWebDAVClient *request = [OCWebDAVClient new];
     request = [self getRequestWithCredentials:request];
     
-    [request getSharePermissionsOfServer:serverPath onCommunication:sharedOCComunication success:^(NSHTTPURLResponse * _Nonnull operation, id  responseObject) {
+    [request getSharePermissionFile:fileName onCommunication:sharedOCComunication success:^(NSHTTPURLResponse * _Nonnull response, id  responseObject) {
         
-        NSData *responseData = (NSData*) responseObject;
+        if (successRequest) {
+            
+            NSData *responseData = (NSData*) responseObject;
+            
+            NSString* newStr = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
+            NSLog(@"newStrReadFolder: %@", newStr);
+            
+            OCXMLParser *parser = [[OCXMLParser alloc]init];
+            [parser initParserWithData:responseData];
+            
+            //Return success
+            successRequest(response, nil, request.redirectedServer);
+        }
 
     } failure:^(NSHTTPURLResponse *response, NSData *responseData, NSError *error) {
         failureRequest(response, error, request.redirectedServer);

+ 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) getSharePermissionsOfServer:(NSString * _Nonnull)serverPath onCommunication:(OCCommunication * _Nonnull)sharedOCComunication success:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id _Nonnull response))success
+- (void) getSharePermissionFile:(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;
 
 ///-----------------------------------

+ 2 - 11
iOSClient/Library/OCCommunicationLib/OCWebDavClient/OCWebDAVClient.m

@@ -662,23 +662,14 @@ NSString const *OCWebDAVModificationDateKey	= @"modificationdate";
     [operation resume];
 }
 
-/*
- <?xml version="1.0"?>
- <a:propfind xmlns:a="DAV:" xmlns:b="http://open-collaboration-services.org/ns">
-	<a:prop>
- <b:share-permissions/>
-	</a:prop>
- </a:propfind>
-*/
-
-- (void)getSharePermissionsOfServer:(NSString*)serverPath onCommunication:(OCCommunication *)sharedOCCommunication
+- (void)getSharePermissionFile:(NSString*)fileName onCommunication:(OCCommunication *)sharedOCCommunication
             success:(void(^)(NSHTTPURLResponse *, id))success
             failure:(void(^)(NSHTTPURLResponse *, id  _Nullable responseObject, NSError *))failure {
     
     NSParameterAssert(success);
     
     _requestMethod = @"PROPFIND";
-    NSMutableURLRequest *request = [self requestWithMethod:_requestMethod path:serverPath parameters:nil];
+    NSMutableURLRequest *request = [self requestWithMethod:_requestMethod path:fileName parameters:nil];
     
     [request setHTTPBody:[@"<?xml version=\"1.0\" encoding=\"UTF-8\"?><a:propfind xmlns:a=\"DAV:\" xmlns:b=\"http://open-collaboration-services.org/ns\"><a:prop><b:share-permissions/></a:prop></a:propfind>" dataUsingEncoding:NSUTF8StringEncoding]];
     

+ 4 - 2
iOSClient/Networking/OCNetworking.m

@@ -1327,14 +1327,16 @@
     }];
 }
 
-- (void)getSharePermissions
+- (void)getSharePermissionFile
 {
     OCCommunication *communication = [CCNetworking sharedNetworking].sharedOCCommunication;
+
+    NSString *fileName = [NSString stringWithFormat:@"%@/%@", _metadataNet.serverUrl, _metadataNet.fileName];
     
     [communication setCredentialsWithUser:_activeUser andPassword:_activePassword];
     [communication setUserAgent:[CCUtility getUserAgent]];
     
-    [communication getSharePermissionsOfServer:[_activeUrl stringByAppendingString:@"/"] onCommunication:communication successRequest:^(NSHTTPURLResponse *response, OCCapabilities *capabilities, NSString *redirectedServer) {
+    [communication getSharePermissionFile:fileName onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSString *permission, NSString *redirectedServer) {
         
     } failureRequest:^(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer) {
         

+ 3 - 1
iOSClient/Share/CCShareInfoCMOC.m

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