pubnub
Version:
Publish & Subscribe Real-time Messaging with PubNub
112 lines (92 loc) • 3.7 kB
JavaScript
"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