@crystaldesign/basket-handler 26.6.0 → 26.7.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/index.js +88 -422
- package/build/esm/index.js +88 -422
- package/build/types/basket-handler/src/index.d.ts +0 -13
- package/build/types/basket-handler/src/index.d.ts.map +1 -1
- package/build/types/basket-handler/src/types.d.ts +1 -43
- package/build/types/basket-handler/src/types.d.ts.map +1 -1
- package/package.json +2 -2
package/build/cjs/index.js
CHANGED
|
@@ -34,9 +34,6 @@ var DivaUtils__default = /*#__PURE__*/_interopDefaultLegacy(DivaUtils);
|
|
|
34
34
|
|
|
35
35
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
36
36
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
37
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
38
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
39
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
40
37
|
var BASKET_SAVE_ERROR = /*#__PURE__*/function (BASKET_SAVE_ERROR) {
|
|
41
38
|
BASKET_SAVE_ERROR["ERROR_NO_BASKET_SAVED"] = "ERROR_NO_BASKET_SAVED";
|
|
42
39
|
BASKET_SAVE_ERROR["ERROR_BASKET_AFTER_SAVE"] = "ERROR_BASKET_AFTER_SAVE";
|
|
@@ -63,418 +60,87 @@ var BasketHandler = /*#__PURE__*/function () {
|
|
|
63
60
|
return this._api2Url;
|
|
64
61
|
}
|
|
65
62
|
}, {
|
|
66
|
-
key: "
|
|
67
|
-
value: function getAuthHeader(jwt, apiKey) {
|
|
68
|
-
if (jwt) return {
|
|
69
|
-
Authorization: 'Bearer ' + jwt
|
|
70
|
-
};
|
|
71
|
-
if (apiKey) return {
|
|
72
|
-
'X-API-KEY': apiKey
|
|
73
|
-
};
|
|
74
|
-
return undefined;
|
|
75
|
-
}
|
|
76
|
-
}, {
|
|
77
|
-
key: "getUploadTupleKey",
|
|
78
|
-
value: function getUploadTupleKey(upload) {
|
|
79
|
-
var _upload$setImagesId, _upload$variantId;
|
|
80
|
-
return "".concat(upload.slot, "|").concat(upload.setId, "|").concat((_upload$setImagesId = upload.setImagesId) !== null && _upload$setImagesId !== void 0 ? _upload$setImagesId : '', "|").concat((_upload$variantId = upload.variantId) !== null && _upload$variantId !== void 0 ? _upload$variantId : '');
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Mirror the CDN URLs the backend wrote into the saved basket back onto the
|
|
85
|
-
* in-memory basket the UI still holds. Without this, after save the local
|
|
86
|
-
* Set2DImage / SetImages[].URL stay empty (they were sent empty) and the
|
|
87
|
-
* transient preview URLs get cleared, so 2D/AI images disappear from the
|
|
88
|
-
* checkout. Mirrors the backend resolveUploadTarget routing, incl. variants.
|
|
89
|
-
*/
|
|
90
|
-
}, {
|
|
91
|
-
key: "syncUploadedUrlsToLocalBasket",
|
|
92
|
-
value: function syncUploadedUrlsToLocalBasket(localBasket, savedBasketJson, uploadRefs) {
|
|
93
|
-
var _savedBasketJson$Orde;
|
|
94
|
-
if (!(savedBasketJson !== null && savedBasketJson !== void 0 && (_savedBasketJson$Orde = savedBasketJson.OrderSets) !== null && _savedBasketJson$Orde !== void 0 && _savedBasketJson$Orde.length) || !uploadRefs.length) return;
|
|
95
|
-
var _iterator = _createForOfIteratorHelper(uploadRefs),
|
|
96
|
-
_step;
|
|
97
|
-
try {
|
|
98
|
-
var _loop = function _loop() {
|
|
99
|
-
var _localBasket$OrderSet, _savedBasketJson$Orde2, _localSet$SetImages, _savedSet$SetImages;
|
|
100
|
-
var uploadRef = _step.value;
|
|
101
|
-
var localSet = (_localBasket$OrderSet = localBasket.OrderSets) === null || _localBasket$OrderSet === void 0 ? void 0 : _localBasket$OrderSet.find(function (orderSet) {
|
|
102
|
-
return orderSet.SetID === uploadRef.setId;
|
|
103
|
-
});
|
|
104
|
-
var savedSet = (_savedBasketJson$Orde2 = savedBasketJson.OrderSets) === null || _savedBasketJson$Orde2 === void 0 ? void 0 : _savedBasketJson$Orde2.find(function (orderSet) {
|
|
105
|
-
return orderSet.SetID === uploadRef.setId;
|
|
106
|
-
});
|
|
107
|
-
if (!localSet || !savedSet) return 0; // continue
|
|
108
|
-
if (uploadRef.slot === 'planning2D') {
|
|
109
|
-
if (uploadRef.variantId !== undefined) {
|
|
110
|
-
var _localSet$ConfigVaria, _savedSet$ConfigVaria;
|
|
111
|
-
var localVariant = (_localSet$ConfigVaria = localSet.ConfigVariants) === null || _localSet$ConfigVaria === void 0 ? void 0 : _localSet$ConfigVaria.find(function (variant) {
|
|
112
|
-
return variant.VariantID === uploadRef.variantId;
|
|
113
|
-
});
|
|
114
|
-
var savedVariant = (_savedSet$ConfigVaria = savedSet.ConfigVariants) === null || _savedSet$ConfigVaria === void 0 ? void 0 : _savedSet$ConfigVaria.find(function (variant) {
|
|
115
|
-
return variant.VariantID === uploadRef.variantId;
|
|
116
|
-
});
|
|
117
|
-
if (localVariant && savedVariant !== null && savedVariant !== void 0 && savedVariant.Set2DImage) {
|
|
118
|
-
localVariant.Set2DImage = savedVariant.Set2DImage;
|
|
119
|
-
}
|
|
120
|
-
return 0; // continue
|
|
121
|
-
}
|
|
122
|
-
if (savedSet.Set2DImage) {
|
|
123
|
-
localSet.Set2DImage = savedSet.Set2DImage;
|
|
124
|
-
}
|
|
125
|
-
return 0; // continue
|
|
126
|
-
}
|
|
127
|
-
var localImage = (_localSet$SetImages = localSet.SetImages) === null || _localSet$SetImages === void 0 ? void 0 : _localSet$SetImages.find(function (setImage) {
|
|
128
|
-
return setImage.Id === uploadRef.setImagesId;
|
|
129
|
-
});
|
|
130
|
-
var savedImage = (_savedSet$SetImages = savedSet.SetImages) === null || _savedSet$SetImages === void 0 ? void 0 : _savedSet$SetImages.find(function (setImage) {
|
|
131
|
-
return setImage.Id === uploadRef.setImagesId;
|
|
132
|
-
});
|
|
133
|
-
if (localImage && savedImage !== null && savedImage !== void 0 && savedImage.URL) {
|
|
134
|
-
localImage.URL = savedImage.URL;
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
_ret;
|
|
138
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
139
|
-
_ret = _loop();
|
|
140
|
-
if (_ret === 0) continue;
|
|
141
|
-
}
|
|
142
|
-
} catch (err) {
|
|
143
|
-
_iterator.e(err);
|
|
144
|
-
} finally {
|
|
145
|
-
_iterator.f();
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}, {
|
|
149
|
-
key: "validateAndFilterPendingUploads",
|
|
150
|
-
value: function validateAndFilterPendingUploads(basket) {
|
|
151
|
-
var _basket$OrderSets, _basket$OrderSets2;
|
|
152
|
-
var pendingUploads = basket.listPendingUploads();
|
|
153
|
-
var knownSetIds = new Set(((_basket$OrderSets = basket.OrderSets) !== null && _basket$OrderSets !== void 0 ? _basket$OrderSets : []).map(function (orderSet) {
|
|
154
|
-
return orderSet.SetID;
|
|
155
|
-
}));
|
|
156
|
-
var validSetImagesIdsBySet = new Map();
|
|
157
|
-
var validVariantIdsBySet = new Map();
|
|
158
|
-
var _iterator2 = _createForOfIteratorHelper((_basket$OrderSets2 = basket.OrderSets) !== null && _basket$OrderSets2 !== void 0 ? _basket$OrderSets2 : []),
|
|
159
|
-
_step2;
|
|
160
|
-
try {
|
|
161
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
162
|
-
var _orderSet$SetImages, _orderSet$ConfigVaria;
|
|
163
|
-
var orderSet = _step2.value;
|
|
164
|
-
validSetImagesIdsBySet.set(orderSet.SetID, new Set(((_orderSet$SetImages = orderSet.SetImages) !== null && _orderSet$SetImages !== void 0 ? _orderSet$SetImages : []).map(function (setImage) {
|
|
165
|
-
return setImage === null || setImage === void 0 ? void 0 : setImage.Id;
|
|
166
|
-
}).filter(function (id) {
|
|
167
|
-
return !!id;
|
|
168
|
-
})));
|
|
169
|
-
validVariantIdsBySet.set(orderSet.SetID, new Set(((_orderSet$ConfigVaria = orderSet.ConfigVariants) !== null && _orderSet$ConfigVaria !== void 0 ? _orderSet$ConfigVaria : []).map(function (variant) {
|
|
170
|
-
return variant === null || variant === void 0 ? void 0 : variant.VariantID;
|
|
171
|
-
}).filter(function (id) {
|
|
172
|
-
return id !== undefined && id !== null;
|
|
173
|
-
})));
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
// planning2D is unique per (setId, variantId): the main configuration and
|
|
177
|
-
// each ConfigVariant of a set may carry its own 2D image.
|
|
178
|
-
} catch (err) {
|
|
179
|
-
_iterator2.e(err);
|
|
180
|
-
} finally {
|
|
181
|
-
_iterator2.f();
|
|
182
|
-
}
|
|
183
|
-
var planning2DTargets = new Set();
|
|
184
|
-
var seenTuples = new Set();
|
|
185
|
-
var filteredUploads = [];
|
|
186
|
-
var _iterator3 = _createForOfIteratorHelper(pendingUploads),
|
|
187
|
-
_step3;
|
|
188
|
-
try {
|
|
189
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
190
|
-
var pendingUpload = _step3.value;
|
|
191
|
-
if (pendingUpload.slot === 'planning2D') {
|
|
192
|
-
var _validVariantIdsBySet, _pendingUpload$varian;
|
|
193
|
-
if (!knownSetIds.has(pendingUpload.setId)) {
|
|
194
|
-
throw new Error('planning2D pending upload setId does not exist in basket OrderSets');
|
|
195
|
-
}
|
|
196
|
-
if (pendingUpload.variantId !== undefined && !((_validVariantIdsBySet = validVariantIdsBySet.get(pendingUpload.setId)) !== null && _validVariantIdsBySet !== void 0 && _validVariantIdsBySet.has(pendingUpload.variantId))) {
|
|
197
|
-
throw new Error('planning2D pending upload variantId does not exist in matching OrderSet.ConfigVariants');
|
|
198
|
-
}
|
|
199
|
-
var planning2DTargetKey = "".concat(pendingUpload.setId, "|").concat((_pendingUpload$varian = pendingUpload.variantId) !== null && _pendingUpload$varian !== void 0 ? _pendingUpload$varian : '');
|
|
200
|
-
if (planning2DTargets.has(planning2DTargetKey)) {
|
|
201
|
-
throw new Error('Only one planning2D pending upload is allowed per setId/variantId');
|
|
202
|
-
}
|
|
203
|
-
planning2DTargets.add(planning2DTargetKey);
|
|
204
|
-
}
|
|
205
|
-
if (pendingUpload.slot === 'aiImage') {
|
|
206
|
-
if (!pendingUpload.setImagesId) {
|
|
207
|
-
var _this$LOG;
|
|
208
|
-
(_this$LOG = this.LOG) === null || _this$LOG === void 0 || _this$LOG.warn('Skipping aiImage pending upload without setImagesId');
|
|
209
|
-
continue;
|
|
210
|
-
}
|
|
211
|
-
var setImagesIds = validSetImagesIdsBySet.get(pendingUpload.setId);
|
|
212
|
-
if (!(setImagesIds !== null && setImagesIds !== void 0 && setImagesIds.has(pendingUpload.setImagesId))) {
|
|
213
|
-
throw new Error('aiImage pending upload setImagesId does not exist in matching OrderSet.SetImages');
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
var tupleKey = this.getUploadTupleKey(pendingUpload);
|
|
217
|
-
if (seenTuples.has(tupleKey)) {
|
|
218
|
-
throw new Error('Duplicate pending upload tuple detected');
|
|
219
|
-
}
|
|
220
|
-
seenTuples.add(tupleKey);
|
|
221
|
-
filteredUploads.push(pendingUpload);
|
|
222
|
-
}
|
|
223
|
-
} catch (err) {
|
|
224
|
-
_iterator3.e(err);
|
|
225
|
-
} finally {
|
|
226
|
-
_iterator3.f();
|
|
227
|
-
}
|
|
228
|
-
return filteredUploads;
|
|
229
|
-
}
|
|
230
|
-
}, {
|
|
231
|
-
key: "initUploads",
|
|
63
|
+
key: "saveBasket",
|
|
232
64
|
value: function () {
|
|
233
|
-
var
|
|
234
|
-
var _DivaUtils$Configurat,
|
|
235
|
-
var jwt, apiKey, basket, pendingUploads, authHeader, initUrl, initItems, initResponse;
|
|
65
|
+
var _saveBasket = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(_ref) {
|
|
66
|
+
var jwt, basket, awaitPDF, utmCampaign, saveToApi2, sessionGuid, apiKey, _this$LOG, fullUrl, response, _DivaUtils$Configurat, _api2Result, authHeader, resultBasket, api2Result, _e$response, _e$response2, _this$LOG4, _this$LOG2, _this$LOG3;
|
|
236
67
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
237
68
|
while (1) switch (_context.prev = _context.next) {
|
|
238
69
|
case 0:
|
|
239
|
-
jwt = _ref.jwt,
|
|
240
|
-
authHeader = this.getAuthHeader(jwt, apiKey);
|
|
241
|
-
initUrl = this.basketService + '/v1/baskets/save/uploads/init';
|
|
242
|
-
initItems = pendingUploads.map(function (pendingUpload) {
|
|
243
|
-
return {
|
|
244
|
-
slot: pendingUpload.slot,
|
|
245
|
-
setId: pendingUpload.setId,
|
|
246
|
-
setImagesId: pendingUpload.setImagesId,
|
|
247
|
-
variantId: pendingUpload.variantId,
|
|
248
|
-
fileName: pendingUpload.fileName,
|
|
249
|
-
mimeType: pendingUpload.mimeType,
|
|
250
|
-
size: pendingUpload.size
|
|
251
|
-
};
|
|
252
|
-
});
|
|
253
|
-
_context.next = 6;
|
|
254
|
-
return axios__default["default"].post(initUrl, JSON.stringify({
|
|
255
|
-
organizationId: basket.OrganizationId,
|
|
256
|
-
uploads: initItems
|
|
257
|
-
}), {
|
|
258
|
-
headers: _objectSpread(_objectSpread({}, authHeader), {}, {
|
|
259
|
-
'Content-Type': 'application/json',
|
|
260
|
-
'X-Session-Id': DivaUtils__default["default"].SessionId,
|
|
261
|
-
'X-Configurator-Id': (_DivaUtils$Configurat = DivaUtils__default["default"].ConfigurationId) !== null && _DivaUtils$Configurat !== void 0 ? _DivaUtils$Configurat : ''
|
|
262
|
-
})
|
|
263
|
-
});
|
|
264
|
-
case 6:
|
|
265
|
-
initResponse = _context.sent;
|
|
266
|
-
return _context.abrupt("return", (_initResponse$data$ti = (_initResponse$data = initResponse.data) === null || _initResponse$data === void 0 ? void 0 : _initResponse$data.tickets) !== null && _initResponse$data$ti !== void 0 ? _initResponse$data$ti : []);
|
|
267
|
-
case 8:
|
|
268
|
-
case "end":
|
|
269
|
-
return _context.stop();
|
|
270
|
-
}
|
|
271
|
-
}, _callee, this);
|
|
272
|
-
}));
|
|
273
|
-
function initUploads(_x) {
|
|
274
|
-
return _initUploads.apply(this, arguments);
|
|
275
|
-
}
|
|
276
|
-
return initUploads;
|
|
277
|
-
}()
|
|
278
|
-
}, {
|
|
279
|
-
key: "uploadPendingFiles",
|
|
280
|
-
value: function () {
|
|
281
|
-
var _uploadPendingFiles = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(pendingUploads, tickets) {
|
|
282
|
-
var uploadTicketsByTuple, _iterator4, _step4, ticket, uploadRefs, _iterator5, _step5, _ticket$simpleUpload, _ticket$simpleUpload2, _ticket$simpleUpload$, pendingUpload, _ticket, uploadResponse;
|
|
283
|
-
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
284
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
285
|
-
case 0:
|
|
286
|
-
uploadTicketsByTuple = new Map();
|
|
287
|
-
_iterator4 = _createForOfIteratorHelper(tickets);
|
|
288
|
-
try {
|
|
289
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
290
|
-
ticket = _step4.value;
|
|
291
|
-
uploadTicketsByTuple.set(this.getUploadTupleKey(ticket), ticket);
|
|
292
|
-
}
|
|
293
|
-
} catch (err) {
|
|
294
|
-
_iterator4.e(err);
|
|
295
|
-
} finally {
|
|
296
|
-
_iterator4.f();
|
|
297
|
-
}
|
|
298
|
-
uploadRefs = [];
|
|
299
|
-
_iterator5 = _createForOfIteratorHelper(pendingUploads);
|
|
300
|
-
_context2.prev = 5;
|
|
301
|
-
_iterator5.s();
|
|
302
|
-
case 7:
|
|
303
|
-
if ((_step5 = _iterator5.n()).done) {
|
|
304
|
-
_context2.next = 20;
|
|
305
|
-
break;
|
|
306
|
-
}
|
|
307
|
-
pendingUpload = _step5.value;
|
|
308
|
-
_ticket = uploadTicketsByTuple.get(this.getUploadTupleKey(pendingUpload));
|
|
309
|
-
if (!(!(_ticket !== null && _ticket !== void 0 && _ticket.uploadId) || !((_ticket$simpleUpload = _ticket.simpleUpload) !== null && _ticket$simpleUpload !== void 0 && _ticket$simpleUpload.url) || !((_ticket$simpleUpload2 = _ticket.simpleUpload) !== null && _ticket$simpleUpload2 !== void 0 && _ticket$simpleUpload2.method))) {
|
|
310
|
-
_context2.next = 12;
|
|
311
|
-
break;
|
|
312
|
-
}
|
|
313
|
-
throw new Error('Missing upload ticket for pending basket upload');
|
|
314
|
-
case 12:
|
|
315
|
-
_context2.next = 14;
|
|
316
|
-
return fetch(_ticket.simpleUpload.url, {
|
|
317
|
-
method: _ticket.simpleUpload.method,
|
|
318
|
-
headers: (_ticket$simpleUpload$ = _ticket.simpleUpload.headers) !== null && _ticket$simpleUpload$ !== void 0 ? _ticket$simpleUpload$ : {},
|
|
319
|
-
body: pendingUpload.blob
|
|
320
|
-
});
|
|
321
|
-
case 14:
|
|
322
|
-
uploadResponse = _context2.sent;
|
|
323
|
-
if (uploadResponse.ok) {
|
|
324
|
-
_context2.next = 17;
|
|
325
|
-
break;
|
|
326
|
-
}
|
|
327
|
-
throw new Error('Direct storage upload failed');
|
|
328
|
-
case 17:
|
|
329
|
-
uploadRefs.push({
|
|
330
|
-
slot: pendingUpload.slot,
|
|
331
|
-
setId: pendingUpload.setId,
|
|
332
|
-
setImagesId: pendingUpload.setImagesId,
|
|
333
|
-
variantId: pendingUpload.variantId,
|
|
334
|
-
fileName: pendingUpload.fileName,
|
|
335
|
-
uploadId: _ticket.uploadId
|
|
336
|
-
});
|
|
337
|
-
case 18:
|
|
338
|
-
_context2.next = 7;
|
|
339
|
-
break;
|
|
340
|
-
case 20:
|
|
341
|
-
_context2.next = 25;
|
|
342
|
-
break;
|
|
343
|
-
case 22:
|
|
344
|
-
_context2.prev = 22;
|
|
345
|
-
_context2.t0 = _context2["catch"](5);
|
|
346
|
-
_iterator5.e(_context2.t0);
|
|
347
|
-
case 25:
|
|
348
|
-
_context2.prev = 25;
|
|
349
|
-
_iterator5.f();
|
|
350
|
-
return _context2.finish(25);
|
|
351
|
-
case 28:
|
|
352
|
-
return _context2.abrupt("return", uploadRefs);
|
|
353
|
-
case 29:
|
|
354
|
-
case "end":
|
|
355
|
-
return _context2.stop();
|
|
356
|
-
}
|
|
357
|
-
}, _callee2, this, [[5, 22, 25, 28]]);
|
|
358
|
-
}));
|
|
359
|
-
function uploadPendingFiles(_x2, _x3) {
|
|
360
|
-
return _uploadPendingFiles.apply(this, arguments);
|
|
361
|
-
}
|
|
362
|
-
return uploadPendingFiles;
|
|
363
|
-
}()
|
|
364
|
-
}, {
|
|
365
|
-
key: "saveBasket",
|
|
366
|
-
value: function () {
|
|
367
|
-
var _saveBasket = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee3(_ref2) {
|
|
368
|
-
var jwt, basket, awaitPDF, utmCampaign, saveToApi2, sessionGuid, apiKey, _this$LOG2, fullUrl, response, _DivaUtils$Configurat2, authHeader, pendingUploads, uploadRefs, uploadTickets, saveRequestBody, resultBasket, api2Result, _e$response, _e$response2, _this$LOG5, _this$LOG3, _this$LOG4;
|
|
369
|
-
return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
|
|
370
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
371
|
-
case 0:
|
|
372
|
-
jwt = _ref2.jwt, basket = _ref2.basket, awaitPDF = _ref2.awaitPDF, utmCampaign = _ref2.utmCampaign, saveToApi2 = _ref2.saveToApi2, sessionGuid = _ref2.sessionGuid, apiKey = _ref2.apiKey;
|
|
70
|
+
jwt = _ref.jwt, basket = _ref.basket, awaitPDF = _ref.awaitPDF, utmCampaign = _ref.utmCampaign, saveToApi2 = _ref.saveToApi2, sessionGuid = _ref.sessionGuid, apiKey = _ref.apiKey;
|
|
373
71
|
if (basket.DivaNr) {
|
|
374
|
-
|
|
72
|
+
_context.next = 4;
|
|
375
73
|
break;
|
|
376
74
|
}
|
|
377
|
-
(_this$
|
|
378
|
-
return
|
|
75
|
+
(_this$LOG = this.LOG) === null || _this$LOG === void 0 || _this$LOG.error('Saving Basket Failed. Error: DivaNr is empty', 'SELLER_0003');
|
|
76
|
+
return _context.abrupt("return", BASKET_SAVE_ERROR.ERROR_NO_BASKET_SAVED);
|
|
379
77
|
case 4:
|
|
380
|
-
fullUrl = new URL(this.basketService + '/
|
|
78
|
+
fullUrl = new URL(this.basketService + '/baskets');
|
|
381
79
|
if (awaitPDF != undefined) fullUrl.searchParams.append('awaitPDF', awaitPDF.toString());
|
|
382
80
|
if (utmCampaign) fullUrl.searchParams.append('utmCampaign', utmCampaign);
|
|
383
|
-
|
|
384
|
-
authHeader =
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
_context3.next = 18;
|
|
389
|
-
break;
|
|
390
|
-
}
|
|
391
|
-
_context3.next = 14;
|
|
392
|
-
return this.initUploads({
|
|
393
|
-
jwt: jwt,
|
|
394
|
-
apiKey: apiKey,
|
|
395
|
-
basket: basket,
|
|
396
|
-
pendingUploads: pendingUploads
|
|
397
|
-
});
|
|
398
|
-
case 14:
|
|
399
|
-
uploadTickets = _context3.sent;
|
|
400
|
-
_context3.next = 17;
|
|
401
|
-
return this.uploadPendingFiles(pendingUploads, uploadTickets);
|
|
402
|
-
case 17:
|
|
403
|
-
uploadRefs = _context3.sent;
|
|
404
|
-
case 18:
|
|
405
|
-
saveRequestBody = {
|
|
406
|
-
basket: basket.getAsJson()
|
|
81
|
+
_context.prev = 7;
|
|
82
|
+
if (jwt) authHeader = {
|
|
83
|
+
Authorization: 'Bearer ' + jwt
|
|
84
|
+
};else if (apiKey) authHeader = {
|
|
85
|
+
'X-API-KEY': apiKey
|
|
407
86
|
};
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
}
|
|
411
|
-
_context3.next = 22;
|
|
412
|
-
return axios__default["default"].post(fullUrl.toString(), JSON.stringify(saveRequestBody), {
|
|
87
|
+
_context.next = 11;
|
|
88
|
+
return axios__default["default"].post(fullUrl.toString(), JSON.stringify(basket.getAsJson()), {
|
|
413
89
|
headers: _objectSpread(_objectSpread({}, authHeader), {}, {
|
|
414
90
|
'Content-Type': 'application/json',
|
|
415
91
|
'X-Session-Id': DivaUtils__default["default"].SessionId,
|
|
416
|
-
'X-Configurator-Id': (_DivaUtils$
|
|
92
|
+
'X-Configurator-Id': (_DivaUtils$Configurat = DivaUtils__default["default"].ConfigurationId) !== null && _DivaUtils$Configurat !== void 0 ? _DivaUtils$Configurat : ''
|
|
417
93
|
})
|
|
418
94
|
});
|
|
419
|
-
case
|
|
420
|
-
response =
|
|
421
|
-
|
|
95
|
+
case 11:
|
|
96
|
+
response = _context.sent;
|
|
97
|
+
_context.next = 14;
|
|
422
98
|
return response.data;
|
|
423
|
-
case
|
|
424
|
-
resultBasket =
|
|
425
|
-
if (uploadRefs.length > 0) {
|
|
426
|
-
this.syncUploadedUrlsToLocalBasket(basket, resultBasket, uploadRefs);
|
|
427
|
-
}
|
|
99
|
+
case 14:
|
|
100
|
+
resultBasket = _context.sent;
|
|
428
101
|
if (!saveToApi2) {
|
|
429
|
-
|
|
102
|
+
_context.next = 19;
|
|
430
103
|
break;
|
|
431
104
|
}
|
|
432
|
-
|
|
105
|
+
_context.next = 18;
|
|
433
106
|
return this.api2SaveBasket({
|
|
434
|
-
basket:
|
|
107
|
+
basket: basket,
|
|
435
108
|
sessionGuid: sessionGuid,
|
|
436
109
|
awaitPDF: awaitPDF,
|
|
437
110
|
jwt: jwt,
|
|
438
111
|
saveToApi2: saveToApi2,
|
|
439
112
|
_id: resultBasket._id
|
|
440
113
|
});
|
|
441
|
-
case
|
|
442
|
-
api2Result =
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
basket.clearPendingUploads();
|
|
451
|
-
return _context3.abrupt("return", resultBasket);
|
|
452
|
-
case 38:
|
|
453
|
-
_context3.prev = 38;
|
|
454
|
-
_context3.t0 = _context3["catch"](7);
|
|
455
|
-
if (!(((_e$response = _context3.t0.response) === null || _e$response === void 0 ? void 0 : _e$response.status) === 409)) {
|
|
456
|
-
_context3.next = 45;
|
|
114
|
+
case 18:
|
|
115
|
+
api2Result = _context.sent;
|
|
116
|
+
case 19:
|
|
117
|
+
return _context.abrupt("return", (_api2Result = api2Result) !== null && _api2Result !== void 0 ? _api2Result : resultBasket);
|
|
118
|
+
case 22:
|
|
119
|
+
_context.prev = 22;
|
|
120
|
+
_context.t0 = _context["catch"](7);
|
|
121
|
+
if (!(((_e$response = _context.t0.response) === null || _e$response === void 0 ? void 0 : _e$response.status) === 409)) {
|
|
122
|
+
_context.next = 29;
|
|
457
123
|
break;
|
|
458
124
|
}
|
|
459
|
-
(_this$
|
|
460
|
-
return
|
|
461
|
-
case
|
|
462
|
-
if (!(((_e$response2 =
|
|
463
|
-
|
|
125
|
+
(_this$LOG2 = this.LOG) === null || _this$LOG2 === void 0 || _this$LOG2.error('Saving Basket failed - Entity already exists.');
|
|
126
|
+
return _context.abrupt("return", BASKET_SAVE_ERROR.ERROR_NO_BASKET_SAVED_ENTITY_EXISTS);
|
|
127
|
+
case 29:
|
|
128
|
+
if (!(((_e$response2 = _context.t0.response) === null || _e$response2 === void 0 ? void 0 : _e$response2.status) !== 201)) {
|
|
129
|
+
_context.next = 32;
|
|
464
130
|
break;
|
|
465
131
|
}
|
|
466
|
-
(_this$
|
|
467
|
-
return
|
|
468
|
-
case
|
|
469
|
-
(_this$
|
|
470
|
-
return
|
|
471
|
-
case
|
|
132
|
+
(_this$LOG3 = this.LOG) === null || _this$LOG3 === void 0 || _this$LOG3.error('Saving Basket failed.');
|
|
133
|
+
return _context.abrupt("return", BASKET_SAVE_ERROR.ERROR_NO_BASKET_SAVED);
|
|
134
|
+
case 32:
|
|
135
|
+
(_this$LOG4 = this.LOG) === null || _this$LOG4 === void 0 || _this$LOG4.error('Saving Basket Failed. serverError ' + _context.t0.message, 'SELLER_0003');
|
|
136
|
+
return _context.abrupt("return", BASKET_SAVE_ERROR.ERROR_NO_BASKET_SAVED);
|
|
137
|
+
case 34:
|
|
472
138
|
case "end":
|
|
473
|
-
return
|
|
139
|
+
return _context.stop();
|
|
474
140
|
}
|
|
475
|
-
},
|
|
141
|
+
}, _callee, this, [[7, 22]]);
|
|
476
142
|
}));
|
|
477
|
-
function saveBasket(
|
|
143
|
+
function saveBasket(_x) {
|
|
478
144
|
return _saveBasket.apply(this, arguments);
|
|
479
145
|
}
|
|
480
146
|
return saveBasket;
|
|
@@ -482,29 +148,29 @@ var BasketHandler = /*#__PURE__*/function () {
|
|
|
482
148
|
}, {
|
|
483
149
|
key: "api2SaveBasket",
|
|
484
150
|
value: function () {
|
|
485
|
-
var _api2SaveBasket = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function
|
|
486
|
-
var basket, sessionGuid, awaitPDF, _id, _this$
|
|
487
|
-
return _regeneratorRuntime__default["default"].wrap(function
|
|
488
|
-
while (1) switch (
|
|
151
|
+
var _api2SaveBasket = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(_ref2) {
|
|
152
|
+
var basket, sessionGuid, awaitPDF, _id, _this$LOG5, _this$LOG6, fullUrl, response, _DivaUtils$Configurat2, _response$Result, _this$LOG7, _this$LOG8;
|
|
153
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
154
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
489
155
|
case 0:
|
|
490
|
-
basket =
|
|
156
|
+
basket = _ref2.basket, sessionGuid = _ref2.sessionGuid, awaitPDF = _ref2.awaitPDF, _id = _ref2._id;
|
|
491
157
|
if (basket.getAsJson().DivaNr) {
|
|
492
|
-
|
|
158
|
+
_context2.next = 4;
|
|
493
159
|
break;
|
|
494
160
|
}
|
|
495
|
-
(_this$
|
|
496
|
-
return
|
|
161
|
+
(_this$LOG5 = this.LOG) === null || _this$LOG5 === void 0 || _this$LOG5.error('Saving Basket Failed. Error: DivaNr is empty', 'SELLER_0003');
|
|
162
|
+
return _context2.abrupt("return", BASKET_SAVE_ERROR.ERROR_BASKET_AFTER_SAVE);
|
|
497
163
|
case 4:
|
|
498
164
|
if (sessionGuid) {
|
|
499
|
-
|
|
165
|
+
_context2.next = 7;
|
|
500
166
|
break;
|
|
501
167
|
}
|
|
502
|
-
(_this$
|
|
503
|
-
return
|
|
168
|
+
(_this$LOG6 = this.LOG) === null || _this$LOG6 === void 0 || _this$LOG6.error('Cant create api2 Basket without sessionguid');
|
|
169
|
+
return _context2.abrupt("return", BASKET_SAVE_ERROR.ERROR_BASKET_AFTER_SAVE);
|
|
504
170
|
case 7:
|
|
505
171
|
fullUrl = this.api2Url + '?function=SetJsonBasketData3' + '&callHeadlessBrowserAsync=' + (!awaitPDF ? '1' : '0');
|
|
506
|
-
|
|
507
|
-
|
|
172
|
+
_context2.prev = 8;
|
|
173
|
+
_context2.next = 11;
|
|
508
174
|
return axios__default["default"].post(fullUrl, JSON.stringify(_objectSpread(_objectSpread({}, basket), {}, {
|
|
509
175
|
_id: _id
|
|
510
176
|
})), {
|
|
@@ -512,7 +178,7 @@ var BasketHandler = /*#__PURE__*/function () {
|
|
|
512
178
|
sessionGuid: sessionGuid,
|
|
513
179
|
'Content-Type': 'application/json',
|
|
514
180
|
'X-Session-Id': DivaUtils__default["default"].SessionId,
|
|
515
|
-
'X-Configurator-Id': (_DivaUtils$
|
|
181
|
+
'X-Configurator-Id': (_DivaUtils$Configurat2 = DivaUtils__default["default"].ConfigurationId) !== null && _DivaUtils$Configurat2 !== void 0 ? _DivaUtils$Configurat2 : ''
|
|
516
182
|
}
|
|
517
183
|
}).then(function (res) {
|
|
518
184
|
if (res.status !== 200) {
|
|
@@ -521,30 +187,30 @@ var BasketHandler = /*#__PURE__*/function () {
|
|
|
521
187
|
return res.data;
|
|
522
188
|
});
|
|
523
189
|
case 11:
|
|
524
|
-
response =
|
|
190
|
+
response = _context2.sent;
|
|
525
191
|
if (!(response.Error || (_response$Result = response.Result) !== null && _response$Result !== void 0 && _response$Result.startsWith('Error'))) {
|
|
526
|
-
|
|
192
|
+
_context2.next = 15;
|
|
527
193
|
break;
|
|
528
194
|
}
|
|
529
|
-
(_this$
|
|
530
|
-
return
|
|
195
|
+
(_this$LOG7 = this.LOG) === null || _this$LOG7 === void 0 || _this$LOG7.error('Saving Basket Failed. serverError: ' + response.Error, 'SELLER_0003');
|
|
196
|
+
return _context2.abrupt("return", BASKET_SAVE_ERROR.ERROR_BASKET_AFTER_SAVE);
|
|
531
197
|
case 15:
|
|
532
|
-
|
|
198
|
+
_context2.next = 21;
|
|
533
199
|
break;
|
|
534
200
|
case 17:
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
(_this$
|
|
538
|
-
return
|
|
201
|
+
_context2.prev = 17;
|
|
202
|
+
_context2.t0 = _context2["catch"](8);
|
|
203
|
+
(_this$LOG8 = this.LOG) === null || _this$LOG8 === void 0 || _this$LOG8.error('Saving Basket Failed. serverError ' + _context2.t0.message, 'SELLER_0003');
|
|
204
|
+
return _context2.abrupt("return", BASKET_SAVE_ERROR.ERROR_BASKET_AFTER_SAVE);
|
|
539
205
|
case 21:
|
|
540
|
-
return
|
|
206
|
+
return _context2.abrupt("return", undefined);
|
|
541
207
|
case 22:
|
|
542
208
|
case "end":
|
|
543
|
-
return
|
|
209
|
+
return _context2.stop();
|
|
544
210
|
}
|
|
545
|
-
},
|
|
211
|
+
}, _callee2, this, [[8, 17]]);
|
|
546
212
|
}));
|
|
547
|
-
function api2SaveBasket(
|
|
213
|
+
function api2SaveBasket(_x2) {
|
|
548
214
|
return _api2SaveBasket.apply(this, arguments);
|
|
549
215
|
}
|
|
550
216
|
return api2SaveBasket;
|
|
@@ -552,18 +218,18 @@ var BasketHandler = /*#__PURE__*/function () {
|
|
|
552
218
|
}, {
|
|
553
219
|
key: "setOrdered",
|
|
554
220
|
value: function () {
|
|
555
|
-
var _setOrdered = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function
|
|
556
|
-
var serviceUrl, organizationId, jwt, divaNr, documentVersion, body, _this$
|
|
557
|
-
return _regeneratorRuntime__default["default"].wrap(function
|
|
558
|
-
while (1) switch (
|
|
221
|
+
var _setOrdered = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee3(_ref3) {
|
|
222
|
+
var serviceUrl, organizationId, jwt, divaNr, documentVersion, body, _this$LOG9;
|
|
223
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
|
|
224
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
559
225
|
case 0:
|
|
560
|
-
serviceUrl =
|
|
561
|
-
|
|
226
|
+
serviceUrl = _ref3.serviceUrl, organizationId = _ref3.organizationId, jwt = _ref3.jwt, divaNr = _ref3.divaNr, documentVersion = _ref3.documentVersion;
|
|
227
|
+
_context3.prev = 1;
|
|
562
228
|
body = {
|
|
563
229
|
divaNr: divaNr,
|
|
564
230
|
version: documentVersion
|
|
565
231
|
};
|
|
566
|
-
|
|
232
|
+
_context3.next = 5;
|
|
567
233
|
return fetch("".concat(serviceUrl, "/orders?organizationId=").concat(organizationId), {
|
|
568
234
|
method: 'POST',
|
|
569
235
|
headers: {
|
|
@@ -575,20 +241,20 @@ var BasketHandler = /*#__PURE__*/function () {
|
|
|
575
241
|
return r.json();
|
|
576
242
|
});
|
|
577
243
|
case 5:
|
|
578
|
-
|
|
244
|
+
_context3.next = 11;
|
|
579
245
|
break;
|
|
580
246
|
case 7:
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
(_this$
|
|
247
|
+
_context3.prev = 7;
|
|
248
|
+
_context3.t0 = _context3["catch"](1);
|
|
249
|
+
(_this$LOG9 = this.LOG) === null || _this$LOG9 === void 0 || _this$LOG9.error('Could not set OrderStatus: ' + _context3.t0.message);
|
|
584
250
|
throw new Error('DivaNr not found');
|
|
585
251
|
case 11:
|
|
586
252
|
case "end":
|
|
587
|
-
return
|
|
253
|
+
return _context3.stop();
|
|
588
254
|
}
|
|
589
|
-
},
|
|
255
|
+
}, _callee3, this, [[1, 7]]);
|
|
590
256
|
}));
|
|
591
|
-
function setOrdered(
|
|
257
|
+
function setOrdered(_x3) {
|
|
592
258
|
return _setOrdered.apply(this, arguments);
|
|
593
259
|
}
|
|
594
260
|
return setOrdered;
|