UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

144 lines (111 loc) 3.41 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.patchURL = patchURL; exports.usePatch = usePatch; exports.getRequestTimeout = getRequestTimeout; exports.isAuthSupported = isAuthSupported; exports.getAuthToken = getAuthToken; exports.prepareParams = prepareParams; exports.patchPayload = patchPayload; exports.handleResponse = handleResponse; var _flow_interfaces = require("../../flow_interfaces"); var _operations = _interopRequireDefault(require("../../constants/operations")); var _utils = _interopRequireDefault(require("../../utils")); function prepareMessagePayload(modules, incomingParams) { var spaces = incomingParams.spaces; var payload = {}; if (spaces && spaces.length > 0) { payload.add = []; spaces.forEach(function (addMembership) { var currentAdd = { id: addMembership.id }; if (addMembership.custom) { currentAdd.custom = addMembership.custom; } payload.add.push(currentAdd); }); } return payload; } function getOperation() { return _operations["default"].PNUpdateMembershipsOperation; } function validateParams(modules, incomingParams) { var userId = incomingParams.userId, spaces = incomingParams.spaces; if (!userId) return 'Missing userId'; if (!spaces) return 'Missing spaces'; } function getURL(modules, incomingParams) { var config = modules.config; return "/v1/objects/".concat(config.subscribeKey, "/users/").concat(_utils["default"].encodeString(incomingParams.userId), "/spaces"); } function patchURL(modules, incomingParams) { var config = modules.config; return "/v1/objects/".concat(config.subscribeKey, "/users/").concat(_utils["default"].encodeString(incomingParams.userId), "/spaces"); } function usePatch() { return true; } function getRequestTimeout(_ref) { var config = _ref.config; return config.getTransactionTimeout(); } function isAuthSupported() { return true; } function getAuthToken(modules, incomingParams) { var token = modules.tokenManager.getToken('user', incomingParams.userId) || modules.tokenManager.getToken('user'); return token; } function prepareParams(modules, incomingParams) { var include = incomingParams.include, limit = incomingParams.limit, page = incomingParams.page; var params = {}; if (limit) { params.limit = limit; } if (include) { var includes = []; if (include.totalCount) { params.count = true; } if (include.customFields) { includes.push('custom'); } if (include.spaceFields) { includes.push('space'); } if (include.customSpaceFields) { includes.push('space.custom'); } var includesString = includes.join(','); if (includesString.length > 0) { params.include = includesString; } } if (page) { if (page.next) { params.start = page.next; } if (page.prev) { params.end = page.prev; } } return params; } function patchPayload(modules, incomingParams) { return prepareMessagePayload(modules, incomingParams); } function handleResponse(modules, membershipsResponse) { return membershipsResponse; } //# sourceMappingURL=join_spaces.js.map