@arc-publishing/sdk-sales
Version:
JS Sales SDK for working with Arc Subs Sales API
72 lines • 3.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cleanPayload = exports.getOptions = exports.mergeOrders = exports.updateOrder = exports.mergeSharedSubscriptions = exports.updateSharedSubscriptions = exports.mergeSubscriptions = exports.updateSubscription = exports.getSubscription = void 0;
var tslib_1 = require("tslib");
var sales_1 = tslib_1.__importDefault(require("./sales"));
function getSubscription(id) {
var subs = sales_1.default.subscriptions;
return subs.find(function (s) { return s.subscriptionID === id; });
}
exports.getSubscription = getSubscription;
function updateSubscription(subs, sub) {
var existingSub = subs.find(function (s) { return s.subscriptionID === sub.subscriptionID; });
var others = subs.filter(function (s) { return s.subscriptionID !== sub.subscriptionID; });
var newSub = tslib_1.__assign(tslib_1.__assign({}, existingSub), sub);
return tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(others), false), [newSub], false);
}
exports.updateSubscription = updateSubscription;
function mergeSubscriptions(oldSubs, newSubs) {
return newSubs.reduce(function (a, newSub) { return updateSubscription(a, newSub); }, oldSubs);
}
exports.mergeSubscriptions = mergeSubscriptions;
function updateSharedSubscriptions(shared, newShare) {
var existing = shared.find(function (s) { return s.subscriptionID === newShare.subscriptionID; });
var others = shared.filter(function (s) { return s.subscriptionID !== newShare.subscriptionID; });
var updatedShare = tslib_1.__assign(tslib_1.__assign({}, existing), newShare);
return tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(others), false), [updatedShare], false);
}
exports.updateSharedSubscriptions = updateSharedSubscriptions;
function mergeSharedSubscriptions(oldShares, newShares) {
return newShares.reduce(function (a, newShare) { return updateSharedSubscriptions(a, newShare); }, oldShares);
}
exports.mergeSharedSubscriptions = mergeSharedSubscriptions;
function updateOrder(orders, order) {
var existing = orders.find(function (o) { return o.orderNumber === order.orderNumber; });
var others = orders.filter(function (o) { return o.orderNumber !== order.orderNumber; });
var updatedOrder = tslib_1.__assign(tslib_1.__assign({}, existing), order);
return tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(others), false), [updatedOrder], false);
}
exports.updateOrder = updateOrder;
function mergeOrders(oldOrders, newOrders) {
return newOrders.reduce(function (o, newOrder) { return updateOrder(o, newOrder); }, oldOrders);
}
exports.mergeOrders = mergeOrders;
function getOptions(options) {
if (options === void 0) { options = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var isLoggedIn, reqOptions;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, sales_1.default._Identity.isLoggedIn()];
case 1:
isLoggedIn = _a.sent();
reqOptions = tslib_1.__assign(tslib_1.__assign({}, options), { headers: isLoggedIn
? tslib_1.__assign(tslib_1.__assign({}, options.headers), { Authorization: sales_1.default._Identity.userIdentity.accessToken }) : tslib_1.__assign({}, options.headers) });
if (!isLoggedIn) {
reqOptions = tslib_1.__assign(tslib_1.__assign({}, reqOptions), { credentials: 'include' });
}
return [2, reqOptions];
}
});
});
}
exports.getOptions = getOptions;
function cleanPayload(payload) {
var cleanedPayload = {};
Object.keys(payload).forEach(function (key) {
cleanedPayload[key] = payload[key] || undefined;
});
return cleanedPayload;
}
exports.cleanPayload = cleanPayload;
//# sourceMappingURL=utils.js.map