jive-sdk
Version:
Node.js SDK for Jive Software to assist with the development of add-ons
420 lines (334 loc) • 10.9 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>Jive SDK Source: jive-sdk-api/api.js</title>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
<link type="text/css" rel="stylesheet" href="styles/site.spacelab.css">
</head>
<body>
<div class="container-fluid">
<div class="navbar navbar-fixed-top navbar-inverse">
<div class="navbar-inner">
<a class="brand" href="index.html">Jive SDK</a>
<ul class="nav">
<li class="dropdown">
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
class="caret"></b></a>
<ul class="dropdown-menu ">
<li>
<a href="module-abstractDefinitions.html">abstractDefinitions</a>
</li>
<li>
<a href="module-abstractInstances.html">abstractInstances</a>
</li>
<li>
<a href="module-addOnRoutes.html">addOnRoutes</a>
</li>
<li>
<a href="module-api.html">api</a>
</li>
<li>
<a href="module-community.html">community</a>
</li>
<li>
<a href="module-constants.html">constants</a>
</li>
<li>
<a href="module-devRoutes.html">devRoutes</a>
</li>
<li>
<a href="module-events.html">events</a>
</li>
<li>
<a href="module-extensions.html">extensions</a>
</li>
<li>
<a href="module-extstreamsInstances.html">extstreamsInstances</a>
</li>
<li>
<a href="module-jiveutil.html">jiveutil</a>
</li>
<li>
<a href="module-oauthRoutes.html">oauthRoutes</a>
</li>
<li>
<a href="module-request.html">request</a>
</li>
<li>
<a href="module-security.html">security</a>
</li>
<li>
<a href="module-service.html">service</a>
</li>
<li>
<a href="module-tasks.html">tasks</a>
</li>
<li>
<a href="module-tileInstances.html">tileInstances</a>
</li>
<li>
<a href="module-tileRoutes.html">tileRoutes</a>
</li>
<li>
<a href="module-tilesDefinitions.html">tilesDefinitions</a>
</li>
<li>
<a href="module-webhooks.html">webhooks</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
class="caret"></b></a>
<ul class="dropdown-menu ">
<li>
<a href="extstreamsDefinitions.html">extstreamsDefinitions</a>
</li>
<li>
<a href="filePersistence.html">filePersistence</a>
</li>
<li>
<a href="memoryPersistence.html">memoryPersistence</a>
</li>
<li>
<a href="memoryScheduler.html">memoryScheduler</a>
</li>
<li>
<a href="oauthHandler.html">oauthHandler</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<div id="main">
<h1 class="page-title">Source: jive-sdk-api/api.js</h1>
<section>
<article>
<pre class="sunlight-highlight-javascript linenums">/*
* Copyright 2013 Jive Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Main entrypoint of the Jive SDK API.<br>
* Example Usage:
* <pre>
* var jive = require('jive-sdk');
* jive.logger.info('Welcome!');
* </pre>
* @module api
*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// logging
var logger = require('log4js').getLogger('jive-sdk');
logger.setLevel(process.env['jive_logging_level'] || 'INFO');
/**
* Instance of the default logger.
* @property {function} debug example: require('jive-sdk').logger.debug('Debug message');
* @property {function} info example: require('jive-sdk').logger.debug('Info message');
* @property {function} warn example: require('jive-sdk').logger.debug('Warn message');
* @property {function} fatal example: require('jive-sdk').logger.debug('Fatal message');
* @property {function} error example: require('jive-sdk').logger.debug('Error message');
* @type {Logger}
*/
exports.logger = logger;
/**
* An object containing the available default persistence strategies.<br>
* <br><br>
* Example Usage:<br>
* <pre>
* var jive = require('jive-sdk');
* var persistence = new jive.persistence.memory();
* persistence.save( ... );
* </pre>
* @type {Object}
* @property {filePersistence} file - File based persistence. @see {@link filePersistence} persistence.
* @property {memoryPersistence} memory - Memory based persistence @see {@link memoryPersistence} persistence.
*/
exports.persistence = {
'file' : require('./lib/persistence/file'),
'memory' : require('./lib/persistence/memory')
};
/**
* An object containing the available default scheduling strategy types.<br>
* <br><br>
* Example Usage:<br>
* <pre>
* var jive = require('jive-sdk');
* var scheduler = new jive.scheduler.memory();
* ...
* ...
* scheduler.schedule( ... );
* </pre>
* @type {memoryScheduler}
*/
exports.scheduler = {
'memory' : require('./lib/scheduler/scheduler')
};
/**
* An object containing constant string values. @see {@link constants}.
* @type module:constants
*/
exports.constants = require('./lib/util/constants.js');
/**
* API for manipulating external streams and tiles (instances and definitions).
* <br><br>
* Example Usage:<br>
* <pre>
* var jive = require('jive-sdk');
* jive.extstreams.findByID( ... );
* jive.extstreams.definitions.findByID( ... );
* </pre>
* @type module:extstreamsInstances
* @property {extstreamsDefinitions} definitions - Stream definitions API.
*/
exports.extstreams = require('./lib/tile/extstreams');
exports.extstreams['definitions'] = require('./lib/tile/extstreamsDefinitions');
/**
* API for manipulating tiles (instances and definitions).
* <br>
* Example Usage:<br>
* <pre>
* var jive = require('jive-sdk');
* jive.tiles.findByID( ... );
* jive.tiles.definitions.findByID( ... );
* </pre>
* @type module:tileInstances
* @property {tilesDefinitions} definitions - Tiles definitions API.
*/
exports.tiles = tiles = require('./lib/tile/tiles');
exports.tiles['definitions'] = require('./lib/tile/tilesDefinitions');
/**
* API for managing events.
* @type module:events
*/
exports.events = require( './lib/event/events');
/**
* Useful general purpose utility functions.
* <br>
* Example Usage:<br>
* <pre>
* var jive = require('jive-sdk');
* var guid = jive.util.guid();
* </pre>
* @type module:jiveutil
*/
exports.util = require('./lib/util/jiveutil');
/**
* @deprecated
* @type {Object}
*/
exports.oauthUtil = require('./lib/util/oauth');
/**
* API for managing jive communities.
* <br><br>
* Example Usage:<br>
* <pre>
* var jive = require('jive-sdk');
* jive.community.findByTenantID( '8sakjhdfee1' ).then( function(community) {
* jive.logger.info('Found',JSON.stringify(community));
* });
* </pre>
* @type module:community
*/
exports.community = require('./lib/community/community');
/**
* API For managing service webhooks
* @type module:webhooks
*/
exports.webhooks = require('./lib/webhook/webhooks');
/**
* API for managing tasks.
* @type module:tasks
*/
exports.tasks = require('./lib/task/tasks');
var createDefaultMethods = function( methods, message ) {
var object = {};
methods.forEach( function( method ) {
var methodFunction = function() {
throw new Error(message);
};
object[method] = methodFunction;
});
return object;
};
/**
* Object that contains nominal API configuration state.
* @type {Object}
* @property {object} persistence - Configured persistence strategy.
* @property {object} scheduler - Configured scheduler strategy.
* @property {object} config - Configuration options.
*/
exports.context = {
'persistence' : createDefaultMethods( [ 'find', 'save', 'remove', 'findByID'], 'Undefined persistence'),
'scheduler' : createDefaultMethods( [ 'init', 'schedule', 'unschedule', 'isScheduled', 'getTasks', 'shutdown'],
'Undefined scheduler'),
'config' : {}
};
//// this is PURELY for documentation purposes! we might need to reorganize this in the near future
/**
* API for managing an SDK service.
* @name service
* @memberof module:api
* @type module:service
*/
</pre>
</article>
</section>
</div>
<div class="clearfix"></div>
<footer>
<span class="copyright">
Jive Software, Inc
</span>
<br />
<span class="jsdoc-message">
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a>
on Wed Jan 22 2014 12:29:37 GMT-0800 (PST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
</span>
</footer>
</div>
<br clear="both">
</div>
</div>
<script src="scripts/sunlight.js"></script>
<script src="scripts/sunlight.javascript.js"></script>
<script src="scripts/sunlight-plugin.doclinks.js"></script>
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
<script src="scripts/sunlight-plugin.menu.js"></script>
<script src="scripts/jquery.min.js"></script>
<script src="scripts/jquery.scrollTo.js"></script>
<script src="scripts/jquery.localScroll.js"></script>
<script src="scripts/bootstrap-dropdown.js"></script>
<script src="scripts/toc.js"></script>
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
<script>
$( function () {
$( "#toc" ).toc( {
selectors : "h1,h2,h3,h4",
showAndHide : false,
scrollTo : 60
} );
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
} );
</script>
</body>
</html>