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