| 
					
				 | 
			
			
				@@ -60,131 +60,187 @@ Integrations.allow({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if (Meteor.isServer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Get all integrations in board 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   JsonRoutes.add('GET', '/api/boards/:boardId/integrations', function(req, res, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const data = Integrations.find({ boardId: paramBoardId }, { fields: { token: 0 } }).map(function(doc) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return doc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const data = Integrations.find({ boardId: paramBoardId }, { fields: { token: 0 } }).map(function(doc) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return doc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    JsonRoutes.sendResult(res, {code: 200, data}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, {code: 200, data}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: error, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Get a single integration in board 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   JsonRoutes.add('GET', '/api/boards/:boardId/integrations/:intId', function(req, res, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      data: Integrations.findOne({ _id: paramIntId, boardId: paramBoardId }, { fields: { token: 0 } }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: Integrations.findOne({ _id: paramIntId, boardId: paramBoardId }, { fields: { token: 0 } }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: error, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Create a new integration 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   JsonRoutes.add('POST', '/api/boards/:boardId/integrations', function(req, res, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const id = Integrations.insert({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      userId: req.userId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      boardId: paramBoardId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      url: req.body.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _id: id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const id = Integrations.insert({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userId: req.userId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        boardId: paramBoardId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        url: req.body.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _id: id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: error, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Edit integration data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   JsonRoutes.add('PUT', '/api/boards/:boardId/integrations/:intId', function (req, res, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (req.body.hasOwnProperty('enabled')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const newEnabled = req.body.enabled; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          {$set: {enabled: newEnabled}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (req.body.hasOwnProperty('title')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const newTitle = req.body.title; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          {$set: {title: newTitle}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (req.body.hasOwnProperty('url')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const newUrl = req.body.url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          {$set: {url: newUrl}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (req.body.hasOwnProperty('token')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const newToken = req.body.token; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          {$set: {token: newToken}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (req.body.hasOwnProperty('activities')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const newActivities = req.body.activities; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          {$set: {activities: newActivities}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (req.body.hasOwnProperty('enabled')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const newEnabled = req.body.enabled; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {$set: {enabled: newEnabled}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _id: paramIntId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (req.body.hasOwnProperty('title')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const newTitle = req.body.title; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {$set: {title: newTitle}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: error, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (req.body.hasOwnProperty('url')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const newUrl = req.body.url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {$set: {url: newUrl}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (req.body.hasOwnProperty('token')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const newToken = req.body.token; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {$set: {token: newToken}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (req.body.hasOwnProperty('activities')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const newActivities = req.body.activities; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {$set: {activities: newActivities}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _id: paramIntId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Delete subscribed activities 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   JsonRoutes.add('DELETE', '/api/boards/:boardId/integrations/:intId/activities', function (req, res, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const newActivities = req.body.activities; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      {$pullAll: {activities: newActivities}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      data: Integrations.findOne({_id: paramIntId, boardId: paramBoardId}, { fields: {_id: 1, activities: 1}}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const newActivities = req.body.activities; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {$pullAll: {activities: newActivities}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: Integrations.findOne({_id: paramIntId, boardId: paramBoardId}, { fields: {_id: 1, activities: 1}}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: error, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Add subscribed activities 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   JsonRoutes.add('POST', '/api/boards/:boardId/integrations/:intId/activities', function (req, res, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const newActivities = req.body.activities; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      {$addToSet: {activities: { $each: newActivities}}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      data: Integrations.findOne({_id: paramIntId, boardId: paramBoardId}, { fields: {_id: 1, activities: 1}}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const newActivities = req.body.activities; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Integrations.direct.update({_id: paramIntId, boardId: paramBoardId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {$addToSet: {activities: { $each: newActivities}}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: Integrations.findOne({_id: paramIntId, boardId: paramBoardId}, { fields: {_id: 1, activities: 1}}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: error, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Delete integration 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   JsonRoutes.add('DELETE', '/api/boards/:boardId/integrations/:intId', function (req, res, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Integrations.direct.remove({_id: paramIntId, boardId: paramBoardId}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _id: paramIntId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramBoardId = req.params.boardId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const paramIntId = req.params.intId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Authentication.checkBoardAccess(req.userId, paramBoardId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Integrations.direct.remove({_id: paramIntId, boardId: paramBoardId}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _id: paramIntId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      JsonRoutes.sendResult(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code: 200, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: error, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |