UNPKG

backendless-console-sdk

Version:

Backendless Console SDK for Node.js and browser

127 lines (125 loc) 6.88 kB
"use strict"; 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;