UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

107 lines (88 loc) 3.19 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getOperation = getOperation; exports.validateParams = validateParams; exports.getURL = getURL; exports.getRequestTimeout = getRequestTimeout; exports.isAuthSupported = isAuthSupported; exports.prepareParams = prepareParams; exports.handleResponse = handleResponse; var _flow_interfaces = require("../../flow_interfaces"); var _operations = _interopRequireDefault(require("../../constants/operations")); var _utils = _interopRequireDefault(require("../../utils")); function __processMessage(modules, message) { var config = modules.config, crypto = modules.crypto; if (!config.cipherKey) return message; try { return crypto.decrypt(message); } catch (e) { return message; } } function getOperation() { return _operations["default"].PNHistoryOperation; } function validateParams(modules, incomingParams) { var channel = incomingParams.channel; var config = modules.config; if (!channel) return 'Missing channel'; if (!config.subscribeKey) return 'Missing Subscribe Key'; } function getURL(modules, incomingParams) { var channel = incomingParams.channel; var config = modules.config; return "/v2/history/sub-key/".concat(config.subscribeKey, "/channel/").concat(_utils["default"].encodeString(channel)); } function getRequestTimeout(_ref) { var config = _ref.config; return config.getTransactionTimeout(); } function isAuthSupported() { return true; } function prepareParams(modules, incomingParams) { var start = incomingParams.start, end = incomingParams.end, reverse = incomingParams.reverse, _incomingParams$count = incomingParams.count, count = _incomingParams$count === void 0 ? 100 : _incomingParams$count, _incomingParams$strin = incomingParams.stringifiedTimeToken, stringifiedTimeToken = _incomingParams$strin === void 0 ? false : _incomingParams$strin, _incomingParams$inclu = incomingParams.includeMeta, includeMeta = _incomingParams$inclu === void 0 ? false : _incomingParams$inclu; var outgoingParams = { include_token: 'true' }; outgoingParams.count = count; if (start) outgoingParams.start = start; if (end) outgoingParams.end = end; if (stringifiedTimeToken) outgoingParams.string_message_token = 'true'; if (reverse != null) outgoingParams.reverse = reverse.toString(); if (includeMeta) outgoingParams.include_meta = 'true'; return outgoingParams; } function handleResponse(modules, serverResponse) { var response = { messages: [], startTimeToken: serverResponse[1], endTimeToken: serverResponse[2] }; if (Array.isArray(serverResponse[0])) { serverResponse[0].forEach(function (serverHistoryItem) { var item = { timetoken: serverHistoryItem.timetoken, entry: __processMessage(modules, serverHistoryItem.message) }; if (serverHistoryItem.meta) { item.meta = serverHistoryItem.meta; } response.messages.push(item); }); } return response; } //# sourceMappingURL=get_history.js.map