mts-booking-library 2.2.0 → 2.2.3

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.
@@ -40,10 +40,10 @@ export declare abstract class Booking {
40
40
  * @param {string} access_token The new access token
41
41
  */
42
42
  renewAccessToken(access_token: string): void;
43
- callGetApi(url: string, options?: ApiCallOptions): Promise<ErrorResponse | any>;
43
+ callGetApi(url: string, options?: ApiCallOptions): Promise<any>;
44
44
  callPostApi(url: string, body: any, options?: ApiCallOptions): Promise<any>;
45
45
  callPutApi(url: string, body: any, options?: ApiCallOptions): Promise<any>;
46
- callDeleteApi(url: string, options?: ApiCallOptions): Promise<ErrorResponse | any>;
46
+ callDeleteApi(url: string, options?: ApiCallOptions): Promise<any>;
47
47
  getBookingStepsToStatus(): processedStepsToStatus;
48
48
  changeCurrency(currency: Booking.Currencies): void;
49
49
  changeLanguage(language: string): void;
@@ -185,9 +185,8 @@ var Booking = /** @class */ (function () {
185
185
  return [2 /*return*/, true];
186
186
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/bookingSteps");
187
187
  return [2 /*return*/, this.callPostApi(url, { bookingStep: bookingStep, cartGuid: this.cartGuid }, options).then(function (response) {
188
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
188
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
189
189
  return response;
190
- }
191
190
  // Update the booking process status
192
191
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(response.stepsToStatus);
193
192
  return true;
@@ -220,9 +219,8 @@ var Booking = /** @class */ (function () {
220
219
  url = "".concat(this.config.API_ENDPOINT, "/v3_customers/persons?").concat(searchParams);
221
220
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
222
221
  // Check for errors
223
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
222
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
224
223
  return response;
225
- }
226
224
  // Return the person details
227
225
  var person = __assign(__assign({}, response.persons[0]), { socialSecurityNumber: response.persons[0].personDetails.socialSecurityNumber });
228
226
  return person;
@@ -341,9 +339,8 @@ var Booking = /** @class */ (function () {
341
339
  paymentMethodToSet = Payment_1.PaymentMethods.CASH;
342
340
  return true;
343
341
  }
344
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
342
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
345
343
  return response;
346
- }
347
344
  })];
348
345
  case 1:
349
346
  _c.sent();
@@ -384,9 +381,7 @@ var Booking = /** @class */ (function () {
384
381
  paymentMethod: paymentMethodToSet === Payment_1.PaymentMethods.PAY_LATER ? null : paymentMethodToSet
385
382
  };
386
383
  return [2 /*return*/, this.callPostApi(url, body, options).then(function (response) {
387
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
388
- ? response
389
- : response;
384
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response;
390
385
  })];
391
386
  }
392
387
  });
@@ -440,9 +435,8 @@ var Booking = /** @class */ (function () {
440
435
  return [4 /*yield*/, this.callPutApi(url, body, options)];
441
436
  case 1:
442
437
  res = _a.sent();
443
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(res)) {
438
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(res))
444
439
  return [2 /*return*/, res];
445
- }
446
440
  return [4 /*yield*/, this.fetchAndSetCart(cartGuid)];
447
441
  case 2:
448
442
  _a.sent();
@@ -132,27 +132,31 @@ var JourneyBooking = /** @class */ (function (_super) {
132
132
  };
133
133
  JourneyBooking.prototype.fetchAndSetCart = function (cartGuid, options) {
134
134
  return __awaiter(this, void 0, void 0, function () {
135
- var _this = this;
135
+ var cart, cartDueDate;
136
136
  return __generator(this, function (_a) {
137
- return [2 /*return*/, this.fetchCart(cartGuid, options).then(function (cart) {
137
+ switch (_a.label) {
138
+ case 0: return [4 /*yield*/, this.fetchCart(cartGuid, options)];
139
+ case 1:
140
+ cart = _a.sent();
138
141
  if (cart) {
139
- var cartDueDate = new Date();
142
+ cartDueDate = new Date();
140
143
  cartDueDate.setSeconds(cartDueDate.getSeconds() + cart.bookingDueDateRemainingSeconds);
141
144
  if (cartDueDate > new Date() && !cart.hasIssuedTickets) {
142
- _this.cart = cart;
143
- _this.cartGuid = cart.guid;
144
- _this.bookingDueDate = cartDueDate; // See Booking class
145
+ this.cart = cart;
146
+ this.cartGuid = cart.guid;
147
+ this.bookingDueDate = cartDueDate; // See Booking class
145
148
  // Update the sellerId. This is particularly important in Linkavel
146
- _this.updateSellerId(cart.sellerId);
149
+ this.updateSellerId(cart.sellerId);
147
150
  // Fill the booking process status
148
- _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(cart.stepsToStatus);
151
+ this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(cart.stepsToStatus);
149
152
  }
150
153
  else {
151
154
  // This should never happen, but just in case
152
- _this.resetBooking();
155
+ this.resetBooking();
153
156
  }
154
157
  }
155
- })];
158
+ return [2 /*return*/];
159
+ }
156
160
  });
157
161
  });
158
162
  };
@@ -194,7 +198,7 @@ var JourneyBooking = /** @class */ (function (_super) {
194
198
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
195
199
  // Clear all data
196
200
  _this.resetBooking();
197
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response;
201
+ return response;
198
202
  })];
199
203
  });
200
204
  });
@@ -209,9 +213,7 @@ var JourneyBooking = /** @class */ (function (_super) {
209
213
  return __generator(this, function (_a) {
210
214
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/journeys/departures?");
211
215
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
212
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
213
- ? response
214
- : response.stops;
216
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.stops;
215
217
  })];
216
218
  });
217
219
  });
@@ -228,9 +230,7 @@ var JourneyBooking = /** @class */ (function (_super) {
228
230
  searchParams = new URLSearchParams({ departureStopName: departureStopName });
229
231
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/journeys/destinations?").concat(searchParams);
230
232
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
231
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
232
- ? response
233
- : response.stops;
233
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.stops;
234
234
  })];
235
235
  });
236
236
  });
@@ -301,7 +301,7 @@ var JourneyBooking = /** @class */ (function (_super) {
301
301
  throw new Error("Could not fetch cart");
302
302
  }
303
303
  // Update storage
304
- this.getStorage().getState().updateCartGuid(response.cart.guid);
304
+ this.getStorage().getState().updateCartGuid(response.cartGuid);
305
305
  return [2 /*return*/, this.cart];
306
306
  }
307
307
  });
@@ -330,9 +330,8 @@ var JourneyBooking = /** @class */ (function (_super) {
330
330
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/details?").concat(searchParams);
331
331
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
332
332
  // Check for errors
333
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
333
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
334
334
  return response;
335
- }
336
335
  // For each passenger, parse the outbound and return tariffs
337
336
  var passengers = response.passengers;
338
337
  passengers.map(function (passenger) {
@@ -392,9 +391,8 @@ var JourneyBooking = /** @class */ (function (_super) {
392
391
  });
393
392
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/details");
394
393
  return [2 /*return*/, this.callPostApi(url, request, options).then(function (response) {
395
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
394
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
396
395
  return response;
397
- }
398
396
  // Update the booking process status
399
397
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(response.stepsToStatus);
400
398
  return true;
@@ -429,9 +427,7 @@ var JourneyBooking = /** @class */ (function (_super) {
429
427
  });
430
428
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/journeys/trips/seats?").concat(searchParams);
431
429
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
432
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
433
- ? response
434
- : response.busMatrix;
430
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.busMatrix;
435
431
  })];
436
432
  });
437
433
  });
@@ -459,9 +455,7 @@ var JourneyBooking = /** @class */ (function (_super) {
459
455
  });
460
456
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/seats?").concat(searchParams);
461
457
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
462
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
463
- ? response
464
- : response.assignedSeats;
458
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.assignedSeats;
465
459
  })];
466
460
  });
467
461
  });
@@ -491,9 +485,8 @@ var JourneyBooking = /** @class */ (function (_super) {
491
485
  newSeatsIds: newSeatsIds,
492
486
  cartGuid: this.cart.guid
493
487
  }, options).then(function (response) {
494
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
488
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
495
489
  return response;
496
- }
497
490
  // Update the booking process status
498
491
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(response.stepsToStatus);
499
492
  return true;
@@ -519,9 +512,7 @@ var JourneyBooking = /** @class */ (function (_super) {
519
512
  searchParams = new URLSearchParams({ cartGuid: this.cart.guid });
520
513
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/reduction/trips?").concat(searchParams);
521
514
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
522
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
523
- ? response
524
- : response.trips;
515
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.trips;
525
516
  })];
526
517
  });
527
518
  });
@@ -571,9 +562,8 @@ var JourneyBooking = /** @class */ (function (_super) {
571
562
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/reduction");
572
563
  return [2 /*return*/, this.callPostApi(url, __assign(__assign({}, request), { cartGuid: this.cartGuid }), options).then(function (response) {
573
564
  var _a, _b;
574
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
565
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
575
566
  return response;
576
- }
577
567
  var reductionResponse = response;
578
568
  // Update the booking process status
579
569
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -611,9 +601,8 @@ var JourneyBooking = /** @class */ (function (_super) {
611
601
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/reduction?").concat(queryParams);
612
602
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
613
603
  var _a, _b, _c;
614
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
604
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
615
605
  return response;
616
- }
617
606
  var reductionResponse = response;
618
607
  // Update the booking process status
619
608
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -678,9 +667,8 @@ var JourneyBooking = /** @class */ (function (_super) {
678
667
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/wallet");
679
668
  return [2 /*return*/, this.callPostApi(url, { cartGuid: this.cartGuid }, options).then(function (response) {
680
669
  var _a, _b;
681
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
670
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
682
671
  return response;
683
- }
684
672
  var reductionResponse = response;
685
673
  // Update the booking process status
686
674
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -710,9 +698,8 @@ var JourneyBooking = /** @class */ (function (_super) {
710
698
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/wallet?").concat(queryParams);
711
699
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
712
700
  var _a, _b, _c;
713
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
701
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
714
702
  return response;
715
- }
716
703
  var reductionResponse = response;
717
704
  // Update the booking process status
718
705
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -770,9 +757,8 @@ var JourneyBooking = /** @class */ (function (_super) {
770
757
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/voucher");
771
758
  return [2 /*return*/, this.callPostApi(url, { voucherCode: voucherCode, cartGuid: this.cartGuid }, options).then(function (response) {
772
759
  var _a, _b;
773
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
760
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
774
761
  return response;
775
- }
776
762
  var reductionResponse = response;
777
763
  // Update the booking process status
778
764
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -132,27 +132,31 @@ var ServiceBooking = /** @class */ (function (_super) {
132
132
  };
133
133
  ServiceBooking.prototype.fetchAndSetCart = function (cartGuid, options) {
134
134
  return __awaiter(this, void 0, void 0, function () {
135
- var _this = this;
135
+ var cart, cartDueDate;
136
136
  return __generator(this, function (_a) {
137
- return [2 /*return*/, this.fetchCart(cartGuid, options).then(function (cart) {
137
+ switch (_a.label) {
138
+ case 0: return [4 /*yield*/, this.fetchCart(cartGuid, options)];
139
+ case 1:
140
+ cart = _a.sent();
138
141
  if (cart) {
139
- var cartDueDate = new Date();
142
+ cartDueDate = new Date();
140
143
  cartDueDate.setSeconds(cartDueDate.getSeconds() + cart.bookingDueDateRemainingSeconds);
141
144
  if (cartDueDate > new Date() && !cart.hasIssuedTickets) {
142
- _this.cart = cart;
143
- _this.cartGuid = cart.guid;
144
- _this.bookingDueDate = cartDueDate; // See Booking class
145
+ this.cart = cart;
146
+ this.cartGuid = cart.guid;
147
+ this.bookingDueDate = cartDueDate; // See Booking class
145
148
  // Update the sellerId. This is particularly important in Linkavel
146
- _this.updateSellerId(cart.sellerId);
149
+ this.updateSellerId(cart.sellerId);
147
150
  // Fill the booking process status
148
- _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(cart.stepsToStatus);
151
+ this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(cart.stepsToStatus);
149
152
  }
150
153
  else {
151
154
  // This should never happen, but just in case
152
- _this.resetBooking();
155
+ this.resetBooking();
153
156
  }
154
157
  }
155
- })];
158
+ return [2 /*return*/];
159
+ }
156
160
  });
157
161
  });
158
162
  };
@@ -194,7 +198,7 @@ var ServiceBooking = /** @class */ (function (_super) {
194
198
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
195
199
  // Clear all data
196
200
  _this.resetBooking();
197
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response;
201
+ return response;
198
202
  })];
199
203
  });
200
204
  });
@@ -210,9 +214,7 @@ var ServiceBooking = /** @class */ (function (_super) {
210
214
  return __generator(this, function (_a) {
211
215
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/services/cities?");
212
216
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
213
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
214
- ? response
215
- : response.cities;
217
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.cities;
216
218
  })];
217
219
  });
218
220
  });
@@ -231,9 +233,7 @@ var ServiceBooking = /** @class */ (function (_super) {
231
233
  searchParams = new URLSearchParams(__assign(__assign({}, (cityName && { cityName: cityName })), { currency: currency }));
232
234
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/services?").concat(searchParams);
233
235
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
234
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
235
- ? response
236
- : response.services;
236
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.services;
237
237
  })];
238
238
  });
239
239
  });
@@ -253,9 +253,7 @@ var ServiceBooking = /** @class */ (function (_super) {
253
253
  searchParams = new URLSearchParams({ serviceId: serviceId.toString(), date: date });
254
254
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/services/trips?").concat(searchParams);
255
255
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
256
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
257
- ? response
258
- : response;
256
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response;
259
257
  })];
260
258
  });
261
259
  });
@@ -302,7 +300,7 @@ var ServiceBooking = /** @class */ (function (_super) {
302
300
  throw new Error("Could not fetch cart");
303
301
  }
304
302
  // Update storage
305
- this.getStorage().getState().updateCartGuid(response.cart.guid);
303
+ this.getStorage().getState().updateCartGuid(response.cartGuid);
306
304
  return [2 /*return*/, this.cart];
307
305
  }
308
306
  });
@@ -332,9 +330,8 @@ var ServiceBooking = /** @class */ (function (_super) {
332
330
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/details?").concat(searchParams);
333
331
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
334
332
  // Check for errors
335
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
333
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
336
334
  return response;
337
- }
338
335
  return {
339
336
  buyerDataStatus: response.buyerDataStatus,
340
337
  buyer: response.buyer,
@@ -370,9 +367,8 @@ var ServiceBooking = /** @class */ (function (_super) {
370
367
  };
371
368
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/details");
372
369
  return [2 /*return*/, this.callPostApi(url, request, options).then(function (response) {
373
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
370
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
374
371
  return response;
375
- }
376
372
  // Update the booking process status
377
373
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(response.stepsToStatus);
378
374
  return true;
@@ -427,9 +423,8 @@ var ServiceBooking = /** @class */ (function (_super) {
427
423
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/reduction");
428
424
  return [2 /*return*/, this.callPostApi(url, __assign(__assign({}, request), { cartGuid: this.cartGuid }), options).then(function (response) {
429
425
  var _a, _b;
430
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
426
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
431
427
  return response;
432
- }
433
428
  var reductionResponse = response;
434
429
  // Update the booking process status
435
430
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -467,9 +462,8 @@ var ServiceBooking = /** @class */ (function (_super) {
467
462
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/reduction?").concat(queryParams);
468
463
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
469
464
  var _a, _b, _c;
470
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
465
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
471
466
  return response;
472
- }
473
467
  var reductionResponse = response;
474
468
  // Update the booking process status
475
469
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -534,9 +528,8 @@ var ServiceBooking = /** @class */ (function (_super) {
534
528
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/wallet");
535
529
  return [2 /*return*/, this.callPostApi(url, { cartGuid: this.cartGuid }, options).then(function (response) {
536
530
  var _a, _b;
537
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
531
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
538
532
  return response;
539
- }
540
533
  var reductionResponse = response;
541
534
  // Update the booking process status
542
535
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -568,9 +561,8 @@ var ServiceBooking = /** @class */ (function (_super) {
568
561
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/wallet?").concat(queryParams);
569
562
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
570
563
  var _a, _b, _c;
571
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
564
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
572
565
  return response;
573
- }
574
566
  var reductionResponse = response;
575
567
  // Update the booking process status
576
568
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -628,9 +620,8 @@ var ServiceBooking = /** @class */ (function (_super) {
628
620
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/voucher");
629
621
  return [2 /*return*/, this.callPostApi(url, { voucherCode: voucherCode, cartGuid: this.cartGuid }, options).then(function (response) {
630
622
  var _a, _b;
631
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
623
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
632
624
  return response;
633
- }
634
625
  var reductionResponse = response;
635
626
  // Update the booking process status
636
627
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -132,27 +132,31 @@ var SubscriptionBooking = /** @class */ (function (_super) {
132
132
  };
133
133
  SubscriptionBooking.prototype.fetchAndSetCart = function (cartGuid, options) {
134
134
  return __awaiter(this, void 0, void 0, function () {
135
- var _this = this;
135
+ var cart, cartDueDate;
136
136
  return __generator(this, function (_a) {
137
- return [2 /*return*/, this.fetchCart(cartGuid, options).then(function (cart) {
137
+ switch (_a.label) {
138
+ case 0: return [4 /*yield*/, this.fetchCart(cartGuid, options)];
139
+ case 1:
140
+ cart = _a.sent();
138
141
  if (cart) {
139
- var cartDueDate = new Date();
142
+ cartDueDate = new Date();
140
143
  cartDueDate.setSeconds(cartDueDate.getSeconds() + cart.bookingDueDateRemainingSeconds);
141
144
  if (cartDueDate > new Date() && !cart.hasIssuedTickets) {
142
- _this.cart = cart;
143
- _this.cartGuid = cart.guid;
144
- _this.bookingDueDate = cartDueDate; // See Booking class
145
+ this.cart = cart;
146
+ this.cartGuid = cart.guid;
147
+ this.bookingDueDate = cartDueDate; // See Booking class
145
148
  // Update the sellerId. This is particularly important in Linkavel
146
- _this.updateSellerId(cart.sellerId);
149
+ this.updateSellerId(cart.sellerId);
147
150
  // Fill the booking process status
148
- _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(cart.stepsToStatus);
151
+ this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(cart.stepsToStatus);
149
152
  }
150
153
  else {
151
154
  // This should never happen, but just in case
152
- _this.resetBooking();
155
+ this.resetBooking();
153
156
  }
154
157
  }
155
- })];
158
+ return [2 /*return*/];
159
+ }
156
160
  });
157
161
  });
158
162
  };
@@ -193,7 +197,7 @@ var SubscriptionBooking = /** @class */ (function (_super) {
193
197
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts?").concat(new URLSearchParams({ cartGuid: this.cart.guid }));
194
198
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
195
199
  _this.resetBooking();
196
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response;
200
+ return response;
197
201
  })];
198
202
  });
199
203
  });
@@ -208,9 +212,7 @@ var SubscriptionBooking = /** @class */ (function (_super) {
208
212
  return __generator(this, function (_a) {
209
213
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/subscriptions/departures?");
210
214
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
211
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
212
- ? response
213
- : response.departures;
215
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.departures;
214
216
  })];
215
217
  });
216
218
  });
@@ -227,9 +229,7 @@ var SubscriptionBooking = /** @class */ (function (_super) {
227
229
  searchParams = new URLSearchParams({ departureStopName: departureStopName });
228
230
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/subscriptions/destinations?").concat(searchParams);
229
231
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
230
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
231
- ? response
232
- : response.destinations;
232
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.destinations;
233
233
  })];
234
234
  });
235
235
  });
@@ -360,7 +360,7 @@ var SubscriptionBooking = /** @class */ (function (_super) {
360
360
  throw new Error("Could not fetch cart");
361
361
  }
362
362
  // Update storage
363
- this.getStorage().getState().updateCartGuid(response.cart.guid);
363
+ this.getStorage().getState().updateCartGuid(response.cartGuid);
364
364
  return [2 /*return*/, this.cart];
365
365
  }
366
366
  });
@@ -389,9 +389,8 @@ var SubscriptionBooking = /** @class */ (function (_super) {
389
389
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/details?").concat(searchParams);
390
390
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
391
391
  // Check for errors
392
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
392
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
393
393
  return response;
394
- }
395
394
  // For each passenger, parse the outbound and return tariffs
396
395
  var passengers = response.passengers;
397
396
  passengers.map(function (passenger) {
@@ -451,9 +450,8 @@ var SubscriptionBooking = /** @class */ (function (_super) {
451
450
  });
452
451
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/details");
453
452
  return [2 /*return*/, this.callPostApi(url, request, options).then(function (response) {
454
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
453
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
455
454
  return response;
456
- }
457
455
  // Update the booking process status
458
456
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(response.stepsToStatus);
459
457
  return true;
@@ -507,9 +505,8 @@ var SubscriptionBooking = /** @class */ (function (_super) {
507
505
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/reduction");
508
506
  return [2 /*return*/, this.callPostApi(url, __assign(__assign({}, request), { cartGuid: this.cartGuid }), options).then(function (response) {
509
507
  var _a, _b;
510
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
508
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
511
509
  return response;
512
- }
513
510
  var reductionResponse = response;
514
511
  // Update the booking process status
515
512
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -547,9 +544,8 @@ var SubscriptionBooking = /** @class */ (function (_super) {
547
544
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/reduction?").concat(queryParams);
548
545
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
549
546
  var _a, _b, _c;
550
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
547
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
551
548
  return response;
552
- }
553
549
  var reductionResponse = response;
554
550
  // Update the booking process status
555
551
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -614,9 +610,8 @@ var SubscriptionBooking = /** @class */ (function (_super) {
614
610
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/wallet");
615
611
  return [2 /*return*/, this.callPostApi(url, { cartGuid: this.cartGuid }, options).then(function (response) {
616
612
  var _a, _b;
617
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
613
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
618
614
  return response;
619
- }
620
615
  var reductionResponse = response;
621
616
  // Update the booking process status
622
617
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -648,9 +643,8 @@ var SubscriptionBooking = /** @class */ (function (_super) {
648
643
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/wallet?").concat(queryParams);
649
644
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
650
645
  var _a, _b, _c;
651
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
646
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
652
647
  return response;
653
- }
654
648
  var reductionResponse = response;
655
649
  // Update the booking process status
656
650
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -708,9 +702,8 @@ var SubscriptionBooking = /** @class */ (function (_super) {
708
702
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/voucher");
709
703
  return [2 /*return*/, this.callPostApi(url, { voucherCode: voucherCode, cartGuid: this.cartGuid }, options).then(function (response) {
710
704
  var _a, _b;
711
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
705
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
712
706
  return response;
713
- }
714
707
  var reductionResponse = response;
715
708
  // Update the booking process status
716
709
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -132,27 +132,31 @@ var TplBooking = /** @class */ (function (_super) {
132
132
  };
133
133
  TplBooking.prototype.fetchAndSetCart = function (cartGuid, options) {
134
134
  return __awaiter(this, void 0, void 0, function () {
135
- var _this = this;
135
+ var cart, cartDueDate;
136
136
  return __generator(this, function (_a) {
137
- return [2 /*return*/, this.fetchCart(cartGuid, options).then(function (cart) {
137
+ switch (_a.label) {
138
+ case 0: return [4 /*yield*/, this.fetchCart(cartGuid, options)];
139
+ case 1:
140
+ cart = _a.sent();
138
141
  if (cart) {
139
- var cartDueDate = new Date();
142
+ cartDueDate = new Date();
140
143
  cartDueDate.setSeconds(cartDueDate.getSeconds() + cart.bookingDueDateRemainingSeconds);
141
144
  if (cartDueDate > new Date() && !cart.hasIssuedTickets) {
142
- _this.cart = cart;
143
- _this.cartGuid = cart.guid;
144
- _this.bookingDueDate = cartDueDate; // See Booking class
145
+ this.cart = cart;
146
+ this.cartGuid = cart.guid;
147
+ this.bookingDueDate = cartDueDate; // See Booking class
145
148
  // Update the sellerId. This is particularly important in Linkavel
146
- _this.updateSellerId(cart.sellerId);
149
+ this.updateSellerId(cart.sellerId);
147
150
  // Fill the booking process status
148
- _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(cart.stepsToStatus);
151
+ this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(cart.stepsToStatus);
149
152
  }
150
153
  else {
151
154
  // This should never happen, but just in case
152
- _this.resetBooking();
155
+ this.resetBooking();
153
156
  }
154
157
  }
155
- })];
158
+ return [2 /*return*/];
159
+ }
156
160
  });
157
161
  });
158
162
  };
@@ -194,7 +198,7 @@ var TplBooking = /** @class */ (function (_super) {
194
198
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
195
199
  // Clear all data
196
200
  _this.resetBooking();
197
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response;
201
+ return response;
198
202
  })];
199
203
  });
200
204
  });
@@ -210,9 +214,7 @@ var TplBooking = /** @class */ (function (_super) {
210
214
  return __generator(this, function (_a) {
211
215
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/tpl/cities?");
212
216
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
213
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
214
- ? response
215
- : response.cities;
217
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.cities;
216
218
  })];
217
219
  });
218
220
  });
@@ -229,9 +231,7 @@ var TplBooking = /** @class */ (function (_super) {
229
231
  searchParams = new URLSearchParams(__assign(__assign({ includeBasicInfo: "true", includeAreaIds: "false", includeTariffIds: "false", includeRouteIds: "false" }, (request.cityId && { cityId: request.cityId.toString() })), (request.tripId && { tripId: request.tripId.toString() })));
230
232
  url = "".concat(this.config.API_ENDPOINT, "/v3_resources/superAreas?").concat(searchParams);
231
233
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
232
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
233
- ? response
234
- : response.superAreas;
234
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.superAreas;
235
235
  })];
236
236
  });
237
237
  });
@@ -263,9 +263,7 @@ var TplBooking = /** @class */ (function (_super) {
263
263
  searchParams = new URLSearchParams({ superAreaId: superAreaId.toString() });
264
264
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/tpl/tariffTypesBySuperArea?").concat(searchParams);
265
265
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
266
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
267
- ? response
268
- : response.tariffTypes;
266
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.tariffTypes;
269
267
  })];
270
268
  });
271
269
  });
@@ -288,9 +286,8 @@ var TplBooking = /** @class */ (function (_super) {
288
286
  // Call the API
289
287
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
290
288
  // Check for error
291
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
289
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
292
290
  return response;
293
- }
294
291
  // Convert the dictionary in the response and return the the correct object
295
292
  var tariffPlanToTariffs = new Map(Object.entries(response.tariffPlanToTariffs).map(function (_a) {
296
293
  var tariffPlanId = _a[0], tariffs = _a[1];
@@ -359,7 +356,7 @@ var TplBooking = /** @class */ (function (_super) {
359
356
  throw new Error("Could not fetch cart");
360
357
  }
361
358
  // Update storage
362
- this.getStorage().getState().updateCartGuid(response.cart.guid);
359
+ this.getStorage().getState().updateCartGuid(response.cartGuid);
363
360
  return [2 /*return*/, this.cart];
364
361
  }
365
362
  });
@@ -389,9 +386,8 @@ var TplBooking = /** @class */ (function (_super) {
389
386
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/details?").concat(searchParams);
390
387
  return [2 /*return*/, this.callGetApi(url, options).then(function (response) {
391
388
  // Check for errors
392
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
389
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
393
390
  return response;
394
- }
395
391
  return {
396
392
  buyerDataStatus: response.buyerDataStatus,
397
393
  buyer: response.buyer,
@@ -439,9 +435,8 @@ var TplBooking = /** @class */ (function (_super) {
439
435
  };
440
436
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/details");
441
437
  return [2 /*return*/, this.callPostApi(url, request, options).then(function (response) {
442
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
438
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
443
439
  return response;
444
- }
445
440
  // Update the booking process status
446
441
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(response.stepsToStatus);
447
442
  return true;
@@ -496,9 +491,8 @@ var TplBooking = /** @class */ (function (_super) {
496
491
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/reduction");
497
492
  return [2 /*return*/, this.callPostApi(url, __assign(__assign({}, request), { cartGuid: this.cartGuid }), options).then(function (response) {
498
493
  var _a, _b;
499
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
494
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
500
495
  return response;
501
- }
502
496
  var reductionResponse = response;
503
497
  // Update the booking process status
504
498
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -536,9 +530,8 @@ var TplBooking = /** @class */ (function (_super) {
536
530
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/reduction?").concat(queryParams);
537
531
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
538
532
  var _a, _b, _c;
539
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
533
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
540
534
  return response;
541
- }
542
535
  var reductionResponse = response;
543
536
  // Update the booking process status
544
537
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -603,9 +596,8 @@ var TplBooking = /** @class */ (function (_super) {
603
596
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/wallet");
604
597
  return [2 /*return*/, this.callPostApi(url, { cartGuid: this.cartGuid }, options).then(function (response) {
605
598
  var _a, _b;
606
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
599
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
607
600
  return response;
608
- }
609
601
  var reductionResponse = response;
610
602
  // Update the booking process status
611
603
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -637,9 +629,8 @@ var TplBooking = /** @class */ (function (_super) {
637
629
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/wallet?").concat(queryParams);
638
630
  return [2 /*return*/, this.callDeleteApi(url, options).then(function (response) {
639
631
  var _a, _b, _c;
640
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
632
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
641
633
  return response;
642
- }
643
634
  var reductionResponse = response;
644
635
  // Update the booking process status
645
636
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -697,9 +688,8 @@ var TplBooking = /** @class */ (function (_super) {
697
688
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/payment/voucher");
698
689
  return [2 /*return*/, this.callPostApi(url, { voucherCode: voucherCode, cartGuid: this.cartGuid }, options).then(function (response) {
699
690
  var _a, _b;
700
- if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
691
+ if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response))
701
692
  return response;
702
- }
703
693
  var reductionResponse = response;
704
694
  // Update the booking process status
705
695
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
@@ -1,13 +1,14 @@
1
1
  /**
2
- * @description Error response type as returned by the BackEnd
3
- *
4
- * @property {number} httpStatus - The http status code of the error (e.g. 400)
5
- * @property {number} mtsCode - The error code returned by the MTS Backend (e.g. 4001)
6
- * @property {string} message - The message of the error (e.g. "Invalid parameters")
2
+ * Error response type as returned by the BackEnd
7
3
  */
8
4
  export type ErrorResponse = {
5
+ /** The http status code of the error (e.g. 400) */
9
6
  httpStatus: number;
7
+ /** The error code returned by the MTS Backend (e.g. 4001) */
10
8
  mtsCode: number;
9
+ /** The message of the error (e.g. "Invalid parameters") */
11
10
  message: string;
11
+ /** Whether this is a 403 error generate by Azure, and should be treated like a maintenance error (so, like a 503) */
12
+ isAzureMaintenance?: boolean;
12
13
  };
13
14
  export declare const objectIsMTSErrorResponse: (error: any) => error is ErrorResponse;
@@ -6,12 +6,11 @@
6
6
  * @method makeDelete - Makes a DELETE request to the MTS API
7
7
  */
8
8
  import { GenericAbortSignal } from "axios";
9
- import { ErrorResponse } from "../types/ErrorResponse";
10
9
  export interface ApiCallOptions {
11
10
  /** An abort signal to be passed to Axios, in case you want to cancel the request */
12
11
  signal?: GenericAbortSignal;
13
12
  }
14
- export declare const makeGet: (url: string, options?: ApiCallOptions) => Promise<ErrorResponse | any>;
15
- export declare const makePost: (url: string, data: any, options?: ApiCallOptions) => Promise<ErrorResponse | any>;
16
- export declare const makePut: (url: string, data: any, options?: ApiCallOptions) => Promise<ErrorResponse | any>;
17
- export declare const makeDelete: (url: string, options?: ApiCallOptions) => Promise<ErrorResponse | any>;
13
+ export declare const makeGet: (url: string, options?: ApiCallOptions) => Promise<any>;
14
+ export declare const makePost: (url: string, data: any, options?: ApiCallOptions) => Promise<any>;
15
+ export declare const makePut: (url: string, data: any, options?: ApiCallOptions) => Promise<any>;
16
+ export declare const makeDelete: (url: string, options?: ApiCallOptions) => Promise<any>;
@@ -68,43 +68,55 @@ var removeNullError = function (resData) {
68
68
  });
69
69
  return filteredResponse;
70
70
  };
71
- var makeGet = function (url, options) { return __awaiter(void 0, void 0, void 0, function () {
72
- var debug, subKey, errorReport;
71
+ var makeRequest = function (method, url, data, options) { return __awaiter(void 0, void 0, void 0, function () {
72
+ var debug, subKey, errorReport, axiosConfig, requestFunctions;
73
73
  return __generator(this, function (_a) {
74
+ if (data && method !== "POST" && method !== "PUT")
75
+ throw new Error("MTS Library Error! makeRequest: data is not supported for ".concat(method, " calls. url: ").concat(url));
74
76
  debug = (0, config_1.getConfig)().DEBUG;
75
77
  if (debug) {
76
- console.log("GET_RequestData", url);
78
+ console.log("".concat(method, "_RequestData"), url);
77
79
  }
78
80
  subKey = (0, config_1.getConfig)().OCP_SUBSCRIPTION_KEY;
79
81
  if ((0, utils_1.isNullOrWhiteSpace)(subKey)) {
80
82
  errorReport = "Sub Key: ".concat(subKey, ", url: ").concat(url, ", access token: ").concat((0, config_1.getConfig)().ACCESS_TOKEN);
81
- throw new Error("MTS Library Error! makeGet: missing OCP SUBSCRIPTION KEY! ".concat(errorReport));
83
+ throw new Error("MTS Library Error! makeRequest: missing OCP SUBSCRIPTION KEY! ".concat(errorReport));
84
+ }
85
+ axiosConfig = {
86
+ headers: __assign(__assign({ "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": subKey }, ((0, config_1.getConfig)().ACCESS_TOKEN && { Authorization: "Bearer ".concat((0, config_1.getConfig)().ACCESS_TOKEN) })), ((0, config_1.getConfig)().SESSION_ID && { SessionId: (0, config_1.getConfig)().SESSION_ID })),
87
+ signal: options === null || options === void 0 ? void 0 : options.signal
88
+ };
89
+ requestFunctions = {
90
+ GET: function () { return axios_1.default.get(url, axiosConfig); },
91
+ DELETE: function () { return axios_1.default.delete(url, axiosConfig); },
92
+ POST: function () { return axios_1.default.post(url, data, axiosConfig); },
93
+ PUT: function () { return axios_1.default.put(url, data, axiosConfig); }
94
+ };
95
+ if (!requestFunctions[method]) {
96
+ throw new Error("MTS Library Error! makeRequest: unsupported method ".concat(method));
82
97
  }
83
98
  return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
84
- var response, filteredResponse, error_1, message, resError, resError;
85
- var _a, _b, _c, _d, _e, _f, _g, _h;
86
- return __generator(this, function (_j) {
87
- switch (_j.label) {
99
+ var response, filteredResponse, error_1, message, status_1, isAzureMaintenance, resError, resError;
100
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
101
+ return __generator(this, function (_m) {
102
+ switch (_m.label) {
88
103
  case 0:
89
- _j.trys.push([0, 2, , 3]);
90
- return [4 /*yield*/, axios_1.default.get(url, {
91
- headers: __assign(__assign({ "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": subKey }, ((0, config_1.getConfig)().ACCESS_TOKEN && { Authorization: "Bearer ".concat((0, config_1.getConfig)().ACCESS_TOKEN) })), ((0, config_1.getConfig)().SESSION_ID && { SessionId: (0, config_1.getConfig)().SESSION_ID })),
92
- signal: options === null || options === void 0 ? void 0 : options.signal
93
- })];
104
+ _m.trys.push([0, 2, , 3]);
105
+ return [4 /*yield*/, requestFunctions[method]()];
94
106
  case 1:
95
- response = _j.sent();
107
+ response = _m.sent();
96
108
  filteredResponse = removeNullError(response.data);
97
109
  if (debug) {
98
- console.log("GET_ResponseData", url, filteredResponse);
110
+ console.log("".concat(method, "_ResponseData"), url, filteredResponse);
99
111
  }
100
112
  resolve(filteredResponse);
101
113
  return [3 /*break*/, 3];
102
114
  case 2:
103
- error_1 = _j.sent();
115
+ error_1 = _m.sent();
104
116
  if (axios_1.default.isCancel(error_1)) {
105
117
  // Log cancellation
106
118
  if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST)
107
- console.log("GET_RequestCanceled", url);
119
+ console.log("".concat(method, "_RequestCanceled"), url);
108
120
  // Resolve with empty object
109
121
  resolve({});
110
122
  }
@@ -112,20 +124,22 @@ var makeGet = function (url, options) { return __awaiter(void 0, void 0, void 0,
112
124
  message = ((_b = (_a = error_1.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error)
113
125
  ? error_1.response.data.error.message
114
126
  : (_d = (_c = error_1.response) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.message;
115
- resError = {
116
- httpStatus: ((_e = error_1.response) === null || _e === void 0 ? void 0 : _e.status) || 0,
117
- mtsCode: ((_h = (_g = (_f = error_1.response) === null || _f === void 0 ? void 0 : _f.data) === null || _g === void 0 ? void 0 : _g.error) === null || _h === void 0 ? void 0 : _h.code) || 0,
118
- message: message || "Unknown error"
119
- };
127
+ status_1 = ((_e = error_1.response) === null || _e === void 0 ? void 0 : _e.status) || 0;
128
+ isAzureMaintenance = status_1 === 403
129
+ ? !((_f = error_1.response) === null || _f === void 0 ? void 0 : _f.data.error) &&
130
+ !!(((_g = error_1.response) === null || _g === void 0 ? void 0 : _g.data.includes("Web App - Unavailable")) ||
131
+ ((_h = error_1.response) === null || _h === void 0 ? void 0 : _h.data.includes("Site Disabled")))
132
+ : undefined;
133
+ resError = __assign({ httpStatus: status_1, mtsCode: ((_l = (_k = (_j = error_1.response) === null || _j === void 0 ? void 0 : _j.data) === null || _k === void 0 ? void 0 : _k.error) === null || _l === void 0 ? void 0 : _l.code) || 0, message: message || "Unknown error" }, (isAzureMaintenance !== undefined && { isAzureMaintenance: isAzureMaintenance }));
120
134
  if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST) {
121
- console.log("GET_ResponseAxiosError", url, resError);
135
+ console.log("".concat(method, "_ResponseAxiosError"), url, resError);
122
136
  }
123
137
  reject(resError);
124
138
  }
125
139
  else {
126
140
  resError = __assign(__assign({}, error_1), { httpStatus: 0, mtsCode: 0, message: "Unknown error" });
127
141
  if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST) {
128
- console.log("GET_ResponseError", url, resError);
142
+ console.log("".concat(method, "_ResponseError"), url, resError);
129
143
  }
130
144
  reject(resError);
131
145
  }
@@ -136,211 +150,19 @@ var makeGet = function (url, options) { return __awaiter(void 0, void 0, void 0,
136
150
  }); })];
137
151
  });
138
152
  }); };
153
+ var makeGet = function (url, options) {
154
+ return makeRequest("GET", url, undefined, options);
155
+ };
139
156
  exports.makeGet = makeGet;
140
- var makePost = function (url, data, options) { return __awaiter(void 0, void 0, void 0, function () {
141
- var debug, subKey, errorReport;
142
- return __generator(this, function (_a) {
143
- debug = (0, config_1.getConfig)().DEBUG;
144
- if (debug) {
145
- console.log("POST_RequestData", url, data);
146
- }
147
- subKey = (0, config_1.getConfig)().OCP_SUBSCRIPTION_KEY;
148
- if ((0, utils_1.isNullOrWhiteSpace)(subKey)) {
149
- errorReport = "Sub Key: ".concat(subKey, ", url: ").concat(url, ", access token: ").concat((0, config_1.getConfig)().ACCESS_TOKEN);
150
- throw new Error("MTS Library Error! makePost: missing OCP SUBSCRIPTION KEY! ".concat(errorReport));
151
- }
152
- return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
153
- var response, filteredResponse, error_2, message, resError, resError;
154
- var _a, _b, _c, _d, _e, _f, _g, _h;
155
- return __generator(this, function (_j) {
156
- switch (_j.label) {
157
- case 0:
158
- _j.trys.push([0, 2, , 3]);
159
- return [4 /*yield*/, axios_1.default.post(url, data, {
160
- headers: __assign(__assign({ "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": subKey }, ((0, config_1.getConfig)().ACCESS_TOKEN && { Authorization: "Bearer ".concat((0, config_1.getConfig)().ACCESS_TOKEN) })), ((0, config_1.getConfig)().SESSION_ID && { SessionId: (0, config_1.getConfig)().SESSION_ID })),
161
- signal: options === null || options === void 0 ? void 0 : options.signal
162
- })];
163
- case 1:
164
- response = _j.sent();
165
- filteredResponse = removeNullError(response.data);
166
- if (debug) {
167
- console.log("POST_ResponseData", url, filteredResponse);
168
- }
169
- resolve(filteredResponse);
170
- return [3 /*break*/, 3];
171
- case 2:
172
- error_2 = _j.sent();
173
- if (axios_1.default.isCancel(error_2)) {
174
- // Log cancellation
175
- if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST)
176
- console.log("POST_RequestCanceled", url);
177
- // Resolve with empty object
178
- resolve({});
179
- }
180
- else if (axios_1.default.isAxiosError(error_2)) {
181
- message = ((_b = (_a = error_2.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error)
182
- ? error_2.response.data.error.message
183
- : (_d = (_c = error_2.response) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.message;
184
- resError = {
185
- httpStatus: ((_e = error_2.response) === null || _e === void 0 ? void 0 : _e.status) || 0,
186
- mtsCode: ((_h = (_g = (_f = error_2.response) === null || _f === void 0 ? void 0 : _f.data) === null || _g === void 0 ? void 0 : _g.error) === null || _h === void 0 ? void 0 : _h.code) || 0,
187
- message: message || "Unknown error"
188
- };
189
- if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST) {
190
- console.log("POST_ResponseAxiosError", url, resError);
191
- }
192
- reject(resError);
193
- }
194
- else {
195
- resError = __assign(__assign({}, error_2), { httpStatus: 0, mtsCode: 0, message: "Unknown error" });
196
- if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST) {
197
- console.log("POST_ResponseError", url, resError);
198
- }
199
- reject(resError);
200
- }
201
- return [3 /*break*/, 3];
202
- case 3: return [2 /*return*/];
203
- }
204
- });
205
- }); })];
206
- });
207
- }); };
157
+ var makePost = function (url, data, options) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
158
+ return [2 /*return*/, makeRequest("POST", url, data, options)];
159
+ }); }); };
208
160
  exports.makePost = makePost;
209
- var makePut = function (url, data, options) { return __awaiter(void 0, void 0, void 0, function () {
210
- var debug, subKey, errorReport;
211
- return __generator(this, function (_a) {
212
- debug = (0, config_1.getConfig)().DEBUG;
213
- if (debug) {
214
- console.log("PUT_RequestData", url, data);
215
- }
216
- subKey = (0, config_1.getConfig)().OCP_SUBSCRIPTION_KEY;
217
- if ((0, utils_1.isNullOrWhiteSpace)(subKey)) {
218
- errorReport = "Sub Key: ".concat(subKey, ", url: ").concat(url, ", access token: ").concat((0, config_1.getConfig)().ACCESS_TOKEN);
219
- throw new Error("MTS Library Error! makePut: missing OCP SUBSCRIPTION KEY! ".concat(errorReport));
220
- }
221
- return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
222
- var response, filteredResponse, error_3, message, resError, resError;
223
- var _a, _b, _c, _d, _e, _f, _g, _h;
224
- return __generator(this, function (_j) {
225
- switch (_j.label) {
226
- case 0:
227
- _j.trys.push([0, 2, , 3]);
228
- return [4 /*yield*/, axios_1.default.put(url, data, {
229
- headers: __assign(__assign({ "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": subKey }, ((0, config_1.getConfig)().ACCESS_TOKEN && { Authorization: "Bearer ".concat((0, config_1.getConfig)().ACCESS_TOKEN) })), ((0, config_1.getConfig)().SESSION_ID && { SessionId: (0, config_1.getConfig)().SESSION_ID })),
230
- signal: options === null || options === void 0 ? void 0 : options.signal
231
- })];
232
- case 1:
233
- response = _j.sent();
234
- filteredResponse = removeNullError(response.data);
235
- if (debug) {
236
- console.log("PUT_ResponseData", url, filteredResponse);
237
- }
238
- resolve(filteredResponse);
239
- return [3 /*break*/, 3];
240
- case 2:
241
- error_3 = _j.sent();
242
- if (axios_1.default.isCancel(error_3)) {
243
- // Log cancellation
244
- if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST)
245
- console.log("PUT_RequestCanceled", url);
246
- // Resolve with empty object
247
- resolve({});
248
- }
249
- else if (axios_1.default.isAxiosError(error_3)) {
250
- message = ((_b = (_a = error_3.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error)
251
- ? error_3.response.data.error.message
252
- : (_d = (_c = error_3.response) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.message;
253
- resError = {
254
- httpStatus: ((_e = error_3.response) === null || _e === void 0 ? void 0 : _e.status) || 0,
255
- mtsCode: ((_h = (_g = (_f = error_3.response) === null || _f === void 0 ? void 0 : _f.data) === null || _g === void 0 ? void 0 : _g.error) === null || _h === void 0 ? void 0 : _h.code) || 0,
256
- message: message || "Unknown error"
257
- };
258
- if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST) {
259
- console.log("PUT_ResponseAxiosError", url, resError);
260
- }
261
- reject(resError);
262
- }
263
- else {
264
- resError = __assign(__assign({}, error_3), { httpStatus: 0, mtsCode: 0, message: "Unknown error" });
265
- if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST) {
266
- console.log("PUT_ResponseError", url, resError);
267
- }
268
- reject(resError);
269
- }
270
- return [3 /*break*/, 3];
271
- case 3: return [2 /*return*/];
272
- }
273
- });
274
- }); })];
275
- });
276
- }); };
161
+ var makePut = function (url, data, options) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
162
+ return [2 /*return*/, makeRequest("PUT", url, data, options)];
163
+ }); }); };
277
164
  exports.makePut = makePut;
278
- var makeDelete = function (url, options) { return __awaiter(void 0, void 0, void 0, function () {
279
- var debug, subKey, errorReport;
280
- return __generator(this, function (_a) {
281
- debug = (0, config_1.getConfig)().DEBUG;
282
- if (debug) {
283
- console.log("DELETE_RequestData", url);
284
- }
285
- subKey = (0, config_1.getConfig)().OCP_SUBSCRIPTION_KEY;
286
- if ((0, utils_1.isNullOrWhiteSpace)(subKey)) {
287
- errorReport = "Sub Key: ".concat(subKey, ", url: ").concat(url, ", access token: ").concat((0, config_1.getConfig)().ACCESS_TOKEN);
288
- throw new Error("MTS Library Error! makeDelete: missing OCP SUBSCRIPTION KEY! ".concat(errorReport));
289
- }
290
- return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
291
- var response, filteredResponse, error_4, message, resError, resError;
292
- var _a, _b, _c, _d, _e, _f, _g, _h;
293
- return __generator(this, function (_j) {
294
- switch (_j.label) {
295
- case 0:
296
- _j.trys.push([0, 2, , 3]);
297
- return [4 /*yield*/, axios_1.default.delete(url, {
298
- headers: __assign(__assign({ "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": subKey }, ((0, config_1.getConfig)().ACCESS_TOKEN && { Authorization: "Bearer ".concat((0, config_1.getConfig)().ACCESS_TOKEN) })), ((0, config_1.getConfig)().SESSION_ID && { SessionId: (0, config_1.getConfig)().SESSION_ID })),
299
- signal: options === null || options === void 0 ? void 0 : options.signal
300
- })];
301
- case 1:
302
- response = _j.sent();
303
- filteredResponse = removeNullError(response.data);
304
- if (debug) {
305
- console.log("DELETE_ResponseData", url, filteredResponse);
306
- }
307
- resolve(filteredResponse);
308
- return [3 /*break*/, 3];
309
- case 2:
310
- error_4 = _j.sent();
311
- if (axios_1.default.isCancel(error_4)) {
312
- // Log cancellation
313
- if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST)
314
- console.log("DELETE_RequestCanceled", url);
315
- // Resolve with empty object
316
- resolve({});
317
- }
318
- else if (axios_1.default.isAxiosError(error_4)) {
319
- message = ((_b = (_a = error_4.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error)
320
- ? error_4.response.data.error.message
321
- : (_d = (_c = error_4.response) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.message;
322
- resError = {
323
- httpStatus: ((_e = error_4.response) === null || _e === void 0 ? void 0 : _e.status) || 0,
324
- mtsCode: ((_h = (_g = (_f = error_4.response) === null || _f === void 0 ? void 0 : _f.data) === null || _g === void 0 ? void 0 : _g.error) === null || _h === void 0 ? void 0 : _h.code) || 0,
325
- message: message || "Unknown error"
326
- };
327
- if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST) {
328
- console.log("DELETE_ResponseAxiosError", url, resError);
329
- }
330
- reject(resError);
331
- }
332
- else {
333
- resError = __assign(__assign({}, error_4), { httpStatus: 0, mtsCode: 0, message: "Unknown error" });
334
- if (debug || (0, config_1.getConfig)().ENV === config_1.MTSEnvs.TEST) {
335
- console.log("DELETE_ResponseError", url, resError);
336
- }
337
- reject(resError);
338
- }
339
- return [3 /*break*/, 3];
340
- case 3: return [2 /*return*/];
341
- }
342
- });
343
- }); })];
344
- });
345
- }); };
165
+ var makeDelete = function (url, options) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
166
+ return [2 /*return*/, makeRequest("DELETE", url, undefined, options)];
167
+ }); }); };
346
168
  exports.makeDelete = makeDelete;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mts-booking-library",
3
- "version": "2.2.0",
3
+ "version": "2.2.3",
4
4
  "description": "Library for using MyTicketSolution Booking API",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",