UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

186 lines (146 loc) 4.44 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 addMembers = incomingParams.addMembers, updateMembers = incomingParams.updateMembers, removeMembers = incomingParams.removeMembers, users = incomingParams.users; var payload = {}; if (addMembers && addMembers.length > 0) { payload.add = []; addMembers.forEach(function (addMember) { var currentAdd = { id: addMember.id }; if (addMember.custom) { currentAdd.custom = addMember.custom; } payload.add.push(currentAdd); }); } if (updateMembers && updateMembers.length > 0) { payload.update = []; updateMembers.forEach(function (updateMember) { var currentUpdate = { id: updateMember.id }; if (updateMember.custom) { currentUpdate.custom = updateMember.custom; } payload.update.push(currentUpdate); }); } if (users && users.length > 0) { payload.update = payload.update || []; users.forEach(function (updateMember) { var currentUpdate = { id: updateMember.id }; if (updateMember.custom) { currentUpdate.custom = updateMember.custom; } payload.update.push(currentUpdate); }); } if (removeMembers && removeMembers.length > 0) { payload.remove = []; removeMembers.forEach(function (removeMemberId) { payload.remove.push({ id: removeMemberId }); }); } return payload; } function getOperation() { return _operations["default"].PNUpdateMembersOperation; } function validateParams(modules, incomingParams) { var spaceId = incomingParams.spaceId, users = incomingParams.users; if (!spaceId) return 'Missing spaceId'; if (!users) return 'Missing users'; } function getURL(modules, incomingParams) { var config = modules.config; return "/v1/objects/".concat(config.subscribeKey, "/spaces/").concat(_utils["default"].encodeString(incomingParams.spaceId), "/users"); } function patchURL(modules, incomingParams) { var config = modules.config; return "/v1/objects/".concat(config.subscribeKey, "/spaces/").concat(_utils["default"].encodeString(incomingParams.spaceId), "/users"); } 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('space', incomingParams.spaceId) || modules.tokenManager.getToken('space'); 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, membersResponse) { return membersResponse; } //# sourceMappingURL=update_members.js.map