UNPKG

jive-sdk

Version:

Node.js SDK for Jive Software to assist with the development of add-ons

97 lines (87 loc) 2.67 kB
var jive = require('jive-sdk'); var util = require('util'); var q = require('q'); var store = jive.service.persistence(); exports.route = function(req, res) { var conf = jive.service.options; var data = { host : jive.service.serviceURL() }; var tenantID = req.query.tenantId; /******/ function loadCommunities() { var deferred = q.defer(); jive.community.find({ 'version' : 'post-samurai'}).then( function(results) { if (results) { data['community'] = results; for (var x in results) { if (results[x]['tenantId'] == tenantID) { data['context'] = results[x]; break; } // end if } // end for x if (!(data['context'])) { data['context'] = results[0]; } // end if } // end if deferred.resolve(); }, function(error) { deferred.resolve(); } ); return deferred.promise; }; // end function /******/ function loadActivities() { return jive.community.doRequest( data['context'], { "path" : "/api/core/v3/activities?count=5", "method" : "GET", "headers" : { "content-type" : "application/json" } } ); }; // end function /******/ function loadUsers() { return jive.community.doRequest( data['context'], { "path" : "/api/core/v3/people?count=5", "method" : "GET", "headers" : { "content-type" : "application/json" } } ); }; // end function /******************/ var deferred = q.defer(); loadCommunities().then( function() { return loadUsers(); } ).then( function(success) { var entity = JSON.parse(success['entity']['body']); data['user'] = entity['list']; return loadActivities(); } ).then( function(success) { var entity = JSON.parse(success['entity']['body']); data['activity'] = entity['list']; res.render('system.html', data); deferred.resolve(); }, function(error) { res.render('system.html', data); deferred.reject(); } ); return deferred.promise; };