backendless-console-sdk
Version:
Backendless Console SDK for Node.js and browser
127 lines (125 loc) • 6.88 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _urls = _interopRequireDefault(require("./urls"));
var _totalRows = _interopRequireDefault(require("./utils/total-rows"));
var _cacheTags = require("./utils/cache-tags");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
// This method is needed in perspective (c) Arthur Dzidoiev
var enrichChannelWithSettings = function enrichChannelWithSettings() {
var channel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return _objectSpread(_objectSpread({}, channel), {}, {
settings: {
polling: true,
rtmp: 0,
websocket: 8888
}
});
};
var _default = function _default(req) {
return {
loadChannels: function loadChannels(appId) {
return req.get(_urls["default"].messagingChannels(appId));
},
createChannel: function createChannel(appId, channelName) {
var channel = enrichChannelWithSettings({
name: channelName
});
return req.post(_urls["default"].messagingChannels(appId), channel);
},
renameChannel: function renameChannel(appId, oldChannel, newName) {
var channel = enrichChannelWithSettings(oldChannel);
channel.name = newName;
return req.put(_urls["default"].messagingChannel(appId, channel.channelid), channel);
},
deleteChannel: function deleteChannel(appId, channelId) {
return req["delete"](_urls["default"].messagingChannel(appId, channelId)).cacheTags((0, _cacheTags.CHANNEL_DEVICES)(channelId));
},
loadDevices: function loadDevices(appId, channelId, params) {
var dataReq = req.get("".concat(_urls["default"].messagingChannel(appId, channelId), "/devices")).query(params).cacheTags((0, _cacheTags.CHANNEL_DEVICES)(channelId));
return (0, _totalRows["default"])(req).getWithData(dataReq);
},
deleteDevices: function deleteDevices(appId, channelId, devicesIds) {
return req["delete"]("".concat(_urls["default"].messagingChannel(appId, channelId), "/devices"), devicesIds).cacheTags((0, _cacheTags.CHANNEL_DEVICES)(channelId));
},
loadMessages: function loadMessages(appId, channelId, params) {
var dataReq = req.get("".concat(_urls["default"].messagingChannel(appId, channelId), "/messages")).query(params);
//disable caching for count request
return (0, _totalRows["default"])(req).getWithData(dataReq, 0);
},
// TODO: change after server fix: BKNDLSS-13298
publishMessage: function publishMessage(appId, channelName, params) {
return req.post("".concat(_urls["default"].messaging(appId), "/").concat(channelName), params);
},
getMessagingChannels: function getMessagingChannels(appId) {
return req.get("".concat(_urls["default"].messaging(appId), "/channels"));
},
getPushTemplates: function getPushTemplates(appId) {
return req.get(_urls["default"].messagingPushTemplates(appId));
},
createPushTemplate: function createPushTemplate(appId, pushTemplate) {
return req.post(_urls["default"].messagingPushTemplates(appId), pushTemplate);
},
updatePushTemplate: function updatePushTemplate(appId, pushTemplateName, pushTemplate) {
return req.put(_urls["default"].messagingPushTemplate(appId, pushTemplateName), pushTemplate);
},
getPushTemplate: function getPushTemplate(appId, pushTemplateName) {
return req.get(_urls["default"].messagingPushTemplate(appId, pushTemplateName));
},
deletePushTemplates: function deletePushTemplates(appId, pushTemplateNames) {
return req["delete"](_urls["default"].messagingPushTemplates(appId)).query({
names: pushTemplateNames.join(',')
});
},
getPushRecipientsCount: function getPushRecipientsCount(appId, where) {
return req.get(_urls["default"].messagingPushRecipientsCount(appId)).query({
where: where
});
},
sendPush: function sendPush(appId, push) {
return req.post(_urls["default"].messagingPush(appId), push);
},
getPushButtonTemplates: function getPushButtonTemplates(appId, platform) {
return req.get(_urls["default"].messagingPushButtonTemplates(appId)).query({
platform: platform
});
},
createPushButtonTemplate: function createPushButtonTemplate(appId, templateData) {
return req.post(_urls["default"].messagingPushButtonTemplates(appId), templateData);
},
updatePushButtonTemplate: function updatePushButtonTemplate(appId, templateName, templateData) {
return req.put(_urls["default"].messagingPushButtonTemplate(appId, templateName), templateData);
},
deletePushButtonTemplate: function deletePushButtonTemplate(appId, templateName, platform) {
return req["delete"](_urls["default"].messagingPushButtonTemplate(appId, templateName)).query({
platform: platform
});
},
getPushChannelTemplates: function getPushChannelTemplates(appId, platform) {
return req.get(_urls["default"].messagingPushChannelTemplates(appId)).query({
platform: platform
});
},
createPushChannelTemplate: function createPushChannelTemplate(appId, templateData, platform) {
return req.post(_urls["default"].messagingPushChannelTemplates(appId), templateData).query({
platform: platform
});
},
updatePushChannelTemplate: function updatePushChannelTemplate(appId, templateName, templateData, platform) {
return req.put(_urls["default"].messagingPushChannelTemplate(appId, templateName), templateData).query({
platform: platform
});
},
deletePushChannelTemplate: function deletePushChannelTemplate(appId, templateName, platform) {
return req["delete"](_urls["default"].messagingPushChannelTemplate(appId, templateName)).query({
platform: platform
});
}
};
};
exports["default"] = _default;