pubnub
Version:
Publish & Subscribe Real-time Messaging with PubNub
149 lines (122 loc) • 5.07 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _operations = _interopRequireDefault(require("../../../constants/operations"));
var _utils = _interopRequireDefault(require("../../../utils"));
var endpoint = {
getOperation: function getOperation() {
return _operations["default"].PNSetMembershipsOperation;
},
validateParams: function validateParams(_, params) {
if (!(params === null || params === void 0 ? void 0 : params.channels) || (params === null || params === void 0 ? void 0 : params.channels.length) === 0) {
return 'Channels cannot be empty';
}
},
usePatch: function usePatch() {
return true;
},
patchURL: function patchURL(_ref, params) {
var _params$uuid;
var config = _ref.config;
return "/v2/objects/".concat(config.subscribeKey, "/uuids/").concat(_utils["default"].encodeString((_params$uuid = params.uuid) !== null && _params$uuid !== void 0 ? _params$uuid : config.getUUID()), "/channels");
},
patchPayload: function patchPayload(_, params) {
return (0, _defineProperty2["default"])({
set: [],
remove: []
}, params.type, params.channels.map(function (channel) {
if (typeof channel === 'string') {
return {
channel: {
id: channel
}
};
} else {
return {
channel: {
id: channel.id
},
custom: channel.custom
};
}
}));
},
getRequestTimeout: function getRequestTimeout(_ref3) {
var config = _ref3.config;
return config.getTransactionTimeout();
},
isAuthSupported: function isAuthSupported() {
return true;
},
getAuthToken: function getAuthToken(_ref4) {
var tokenManager = _ref4.tokenManager;
return tokenManager.getToken('membership');
},
prepareParams: function prepareParams(_modules, params) {
var _params$include4, _params$page, _params$page3;
var queryParams = {};
if (params === null || params === void 0 ? void 0 : params.include) {
var _params$include, _params$include2, _params$include3;
queryParams.include = [];
if ((_params$include = params.include) === null || _params$include === void 0 ? void 0 : _params$include.customFields) {
queryParams.include.push('custom');
}
if ((_params$include2 = params.include) === null || _params$include2 === void 0 ? void 0 : _params$include2.customChannelFields) {
queryParams.include.push('channel.custom');
}
if ((_params$include3 = params.include) === null || _params$include3 === void 0 ? void 0 : _params$include3.channelFields) {
queryParams.include.push('channel');
}
queryParams.include = queryParams.include.join(',');
}
if (params === null || params === void 0 ? void 0 : (_params$include4 = params.include) === null || _params$include4 === void 0 ? void 0 : _params$include4.totalCount) {
queryParams.count = true;
}
if (params === null || params === void 0 ? void 0 : (_params$page = params.page) === null || _params$page === void 0 ? void 0 : _params$page.next) {
var _params$page2;
queryParams.start = (_params$page2 = params.page) === null || _params$page2 === void 0 ? void 0 : _params$page2.next;
}
if (params === null || params === void 0 ? void 0 : (_params$page3 = params.page) === null || _params$page3 === void 0 ? void 0 : _params$page3.prev) {
var _params$page4;
queryParams.end = (_params$page4 = params.page) === null || _params$page4 === void 0 ? void 0 : _params$page4.prev;
}
if (params === null || params === void 0 ? void 0 : params.filter) {
queryParams.filter = params.filter;
}
if (params === null || params === void 0 ? void 0 : params.limit) {
queryParams.limit = params.limit;
}
if (params === null || params === void 0 ? void 0 : params.sort) {
var _params$sort;
queryParams.sort = Object.entries((_params$sort = params.sort) !== null && _params$sort !== void 0 ? _params$sort : {}).map(function (_ref5) {
var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
key = _ref6[0],
value = _ref6[1];
if (value === 'asc' || value === 'desc') {
return "".concat(key, ":").concat(value);
} else {
return key;
}
});
}
return queryParams;
},
handleResponse: function handleResponse(_, response) {
return {
status: response.status,
data: response.data,
totalCount: response.totalCount,
prev: response.prev,
next: response.next
};
}
};
var _default = endpoint;
exports["default"] = _default;
module.exports = exports.default;
//# sourceMappingURL=set.js.map