UNPKG

databoom.js

Version:

Client functionalities to send data to DATABOOM.

273 lines (232 loc) 6.82 kB
/** * Client functionalities to send data to DATABOOM. * Visit us ... https://databoom.com/ * Created by rickymarchiori on 16/03/2016 */ 'use strict'; //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'); };