databoom.js
Version:
Client functionalities to send data to DATABOOM.
273 lines (232 loc) • 6.82 kB
JavaScript
/**
* Client functionalities to send data to DATABOOM.
* Visit us ... https://databoom.com/
* Created by rickymarchiori on 16/03/2016
*/
;
//Dependencies
var api = require('./app/API.js'),
common = require('./app/common.js'),
http = require('./app/HTTP.js'),
mqtt = require('./app/MQTT.js'),
pubnub = require('./app/PubNub.js');
var deviceToken = undefined;
var userAPIKey = undefined;
exports.initialize = function(token, APIkey){
deviceToken = token;
userAPIKey = APIkey;
}
exports.setDevice = function(token){
deviceToken = token;
}
exports.setAPIKey = function(APIkey){
userAPIKey = APIkey;
}
exports.getSettings = function(){
return {
deviceToken: deviceToken,
userAPIKey: userAPIKey
}
}
function checkSettings(){
if(deviceToken && userAPIKey) return 1;
else return 0;
};
/**
* Common
*/
exports.addSignals = function(){
if(checkSettings()){
common.pushSignals(arguments);
}
else throw new Error('Missing settings, set device token and api key first');
};
exports.getSignals = function(){
if(checkSettings()){
return common.getSignals();
}
else throw new Error('Missing settings, set device token and api key first');
}
exports.deleteSignals = function(index){
if(checkSettings()){
common.deleteSignals(index);
}
else throw new Error('Missing settings, set device token and api key first');
}
/**
* HTTP
*/
exports.publishHTTP = function(signals, date){
if(checkSettings()){
if(signals && date)
http.publish(userAPIKey, deviceToken, signals, date);
else if(signals)
http.publish(userAPIKey, deviceToken, signals);
else
http.publish(userAPIKey, deviceToken);
}
else throw new Error('Missing settings, set device token and api key first');
};
/**
* MQTT
*/
exports.startMQTTClient = function(){
if(checkSettings()){
mqtt.startClient(deviceToken);
}
else throw new Error('Missing settings, set device token and api key first');
};
exports.endMQTTClient = function(){
if(checkSettings()){
mqtt.endClient(deviceToken);
}
else throw new Error('Missing settings, set device token and api key first');
};
exports.getMQTTClient = function(){
if(checkSettings()){
return mqtt.getClient();
}
else throw new Error('Missing settings, set device token and api key first');
};
exports.publishMQTT = function(signals, date){
if(checkSettings()){
if(signals && date)
mqtt.publish(userAPIKey, deviceToken, signals, date);
else if(signals)
mqtt.publish(userAPIKey, deviceToken, signals);
else
mqtt.publish(userAPIKey, deviceToken);
}
else throw new Error('Missing settings, set device token and api key first');
};
/**
* PubNub
*/
exports.initPubNub = function(){
if(checkSettings()){
pubnub.init(deviceToken);
}
else throw new Error('Missing settings, set device token and api key first');
};
exports.publishPubNub = function(signals, date){
if(checkSettings()){
if(signals && date)
pubnub.publish(userAPIKey, deviceToken, signals, date);
else if(signals)
pubnub.publish(userAPIKey, deviceToken, signals);
else
pubnub.publish(userAPIKey, deviceToken);
}
else throw new Error('Missing settings, set device token and api key first');
};
/**
* API
*/
exports.APIgetAlarms = function(callback){
if(userAPIKey){
api.getAlarms(userAPIKey, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetAlarmById = function(idAlarm, callback){
if(userAPIKey){
api.getAlarmById(userAPIKey, idAlarm, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetChartSignal = function(idSignal, callback){
if(userAPIKey){
api.getChartSignal(userAPIKey, idSignal, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetDashboards = function(callback){
if(userAPIKey){
api.getDashboards(userAPIKey, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetDashboardById = function(idDashboard, callback){
if(userAPIKey){
api.getDashboardById(userAPIKey, idDashboard, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetWidgets = function(callback){
if(userAPIKey){
api.getWidgets(userAPIKey, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetWidgetById = function(idWidget, callback){
if(userAPIKey){
api.getWidgetById(userAPIKey, idWidget, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetDevices = function(callback){
if(userAPIKey){
api.getDevices(userAPIKey, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetDeviceById = function(idDevice, callback){
if(userAPIKey){
api.getDeviceById(userAPIKey, idDevice, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetDeviceByToken = function(tokenDevice, callback){
if(userAPIKey){
api.getDeviceByToken(userAPIKey, tokenDevice, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetDevicesTypes = function(callback){
if(userAPIKey){
api.getDevicesTypes(userAPIKey, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetRules = function(callback){
if(userAPIKey){
api.getRules(userAPIKey, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetRuleById = function(idRule, callback){
if(userAPIKey){
api.getRuleById(userAPIKey, idRule, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetUnits = function(callback){
if(userAPIKey){
api.getUnits(userAPIKey, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetSignals = function(callback){
if(userAPIKey){
api.getSignals(userAPIKey, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetSignalById = function(idSignal, callback){
if(userAPIKey){
api.getSignalById(userAPIKey, idSignal, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetTeams = function(callback){
if(userAPIKey){
api.getTeams(userAPIKey, callback);
}
else throw new Error('Missing settings, set api key first');
};
exports.APIgetTeamById = function(idTeam, callback){
if(userAPIKey){
api.getTeamById(userAPIKey, idTeam, callback);
}
else throw new Error('Missing settings, set api key first');
};