UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

112 lines (92 loc) 3.7 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")); function getOperation() { return _operations["default"].PNAccessManagerGrant; } function validateParams(modules, incomingParams) { var config = modules.config; if (!config.subscribeKey) return 'Missing Subscribe Key'; if (!config.publishKey) return 'Missing Publish Key'; if (!config.secretKey) return 'Missing Secret Key'; if (incomingParams.uuids != null && !incomingParams.authKeys) { return 'authKeys are required for grant request on uuids'; } if (incomingParams.uuids != null && (incomingParams.channels != null || incomingParams.channelGroups != null)) { return 'Both channel/channelgroup and uuid cannot be used in the same request'; } } function getURL(modules) { var config = modules.config; return "/v2/auth/grant/sub-key/".concat(config.subscribeKey); } function getRequestTimeout(_ref) { var config = _ref.config; return config.getTransactionTimeout(); } function isAuthSupported() { return false; } function prepareParams(modules, incomingParams) { var _incomingParams$chann = incomingParams.channels, channels = _incomingParams$chann === void 0 ? [] : _incomingParams$chann, _incomingParams$chann2 = incomingParams.channelGroups, channelGroups = _incomingParams$chann2 === void 0 ? [] : _incomingParams$chann2, _incomingParams$uuids = incomingParams.uuids, uuids = _incomingParams$uuids === void 0 ? [] : _incomingParams$uuids, ttl = incomingParams.ttl, _incomingParams$read = incomingParams.read, read = _incomingParams$read === void 0 ? false : _incomingParams$read, _incomingParams$write = incomingParams.write, write = _incomingParams$write === void 0 ? false : _incomingParams$write, _incomingParams$manag = incomingParams.manage, manage = _incomingParams$manag === void 0 ? false : _incomingParams$manag, _incomingParams$get = incomingParams.get, get = _incomingParams$get === void 0 ? false : _incomingParams$get, _incomingParams$join = incomingParams.join, join = _incomingParams$join === void 0 ? false : _incomingParams$join, _incomingParams$updat = incomingParams.update, update = _incomingParams$updat === void 0 ? false : _incomingParams$updat, _incomingParams$authK = incomingParams.authKeys, authKeys = _incomingParams$authK === void 0 ? [] : _incomingParams$authK; var deleteParam = incomingParams["delete"]; var params = {}; params.r = read ? '1' : '0'; params.w = write ? '1' : '0'; params.m = manage ? '1' : '0'; params.d = deleteParam ? '1' : '0'; params.g = get ? '1' : '0'; params.j = join ? '1' : '0'; params.u = update ? '1' : '0'; if (channels.length > 0) { params.channel = channels.join(','); } if (channelGroups.length > 0) { params['channel-group'] = channelGroups.join(','); } if (authKeys.length > 0) { params.auth = authKeys.join(','); } if (uuids.length > 0) { params['target-uuid'] = uuids.join(','); } if (ttl || ttl === 0) { params.ttl = ttl; } return params; } function handleResponse() { return {}; } //# sourceMappingURL=grant.js.map