Browse Source

start API activity V2

Marino Faggiana 6 years ago
parent
commit
6eae5b752c

+ 4 - 0
iOSClient/Library/OCCommunicationLib/OCCapabilities.h

@@ -87,4 +87,8 @@
 @property (nonatomic, strong) NSArray *richdocumentsMimetypes;
 @property (nonatomic) BOOL richdocumentsDirectEditing;
 
+// Activity
+@property (nonatomic) BOOL isActivityV2Enabled;
+@property (nonatomic, strong) NSString *activityV2;
+
 @end

+ 11 - 0
iOSClient/Library/OCCommunicationLib/OCCommunication.m

@@ -1394,6 +1394,17 @@
                     capabilities.externalSiteV1 = [externalSitesArray componentsJoinedByString:@","];
                 }
                 
+                // ACTIVITY
+                
+                NSDictionary *activityDic = [capabilitiesDict valueForKey:@"activity"];
+                if (activityDic) {
+                    NSArray *activityArray = [activityDic valueForKey:@"apiv2"];
+                    if (activityArray) {
+                        capabilities.isActivityV2Enabled = YES;
+                        capabilities.activityV2 = [activityArray componentsJoinedByString:@","];
+                    }
+                }
+
                 // NOTIFICATION
                 
                 NSDictionary *notificationDic = [capabilitiesDict valueForKey:@"notifications"];

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

@@ -59,7 +59,7 @@
 #define k_url_acces_remote_subscribing_nextcloud_server_api @"/ocs/v2.php/apps/notifications/api/v2/push"
 
 //Url to access to Remote Activity API
-#define k_url_acces_remote_activity_api @"ocs/v2.php/cloud/activity"
+#define k_url_acces_remote_activity_api @"ocs/v2.php/apps/activity/api/v2/activity/all"
 
 //Url to access to External sites API
 #define k_url_acces_external_sites_api @"ocs/v2.php/apps/external/api/v1"

+ 23 - 28
iOSClient/Networking/NCService.swift

@@ -44,7 +44,6 @@ class NCService: NSObject {
         
         self.requestUserProfile()
         self.requestServerCapabilities()
-        self.requestActivityServer()
         self.requestServerStatus()
     }
 
@@ -229,6 +228,29 @@ class NCService: NSObject {
                     self.appDelegate.activeMain.readShare(withAccount: account, openWindow: false, metadata: nil)
                 }
                 
+                if (capabilities!.isActivityV2Enabled) {
+                    
+                    OCNetworking.sharedManager().getActivityWithAccount(account!, completion: { (account, listOfActivity, message, errorCode) in
+                        if errorCode == 0 && account == self.appDelegate.activeAccount {
+                            NCManageDatabase.sharedInstance.addActivityServer(listOfActivity as! [OCActivity], account: account!)
+                            if (self.appDelegate.activeActivity != nil) {
+                                self.appDelegate.activeActivity.reloadDatasource()
+                            }
+                        } else if errorCode != 0 {
+                            var error = ""
+                            if let message = message {
+                                error = "Get Activity Server failure error \(errorCode) \(message)"
+                            } else {
+                                error = "Get Activity Server failure error \(errorCode)"
+                            }
+                            
+                            NCManageDatabase.sharedInstance.addActivityClient("", fileID: "", action: k_activityDebugActionCapabilities, selector: "Get Activity Server", note: error, type: k_activityTypeFailure, verbose: true, activeUrl: "")
+                        } else {
+                            print("[LOG] It has been changed user during networking process, error.")
+                        }
+                    })
+                }
+                
             } else if errorCode != 0 {
                 
                 self.appDelegate.settingThemingColorBrand()
@@ -318,33 +340,6 @@ class NCService: NSObject {
         })
     }
     
-    private func requestActivityServer() {
-        
-        if (appDelegate.activeAccount == nil || appDelegate.activeAccount.count == 0 || appDelegate.maintenanceMode == true) {
-            return
-        }
-        
-        OCNetworking.sharedManager().getActivityWithAccount(appDelegate.activeAccount, completion: { (account, listOfActivity, message, errorCode) in
-            if errorCode == 0 && account == self.appDelegate.activeAccount {
-                NCManageDatabase.sharedInstance.addActivityServer(listOfActivity as! [OCActivity], account: account!)
-                if (self.appDelegate.activeActivity != nil) {
-                    self.appDelegate.activeActivity.reloadDatasource()
-                }
-            } else if errorCode != 0 {
-                var error = ""
-                if let message = message {
-                    error = "Get Activity Server failure error \(errorCode) \(message)"
-                } else {
-                    error = "Get Activity Server failure error \(errorCode)"
-                }
-                
-                NCManageDatabase.sharedInstance.addActivityClient("", fileID: "", action: k_activityDebugActionCapabilities, selector: "Get Activity Server", note: error, type: k_activityTypeFailure, verbose: true, activeUrl: "")
-            } else {
-                print("[LOG] It has been changed user during networking process, error.")
-            }
-        })
-    }
-    
     @objc public func middlewarePing() {
         
         if (appDelegate.activeAccount == nil || appDelegate.activeAccount.count == 0 || appDelegate.maintenanceMode == true) {