mts-booking-library 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/config.d.ts +10 -17
- package/lib/config.js +32 -19
- package/lib/index.d.ts +8 -1
- package/lib/index.js +10 -2
- package/lib/utils/apiCall.js +13 -8
- package/package.json +1 -1
package/lib/config.d.ts
CHANGED
@@ -1,20 +1,13 @@
|
|
1
|
-
export declare
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
API_ENDPOINT: string;
|
9
|
-
OCP_SUBSCRIPTION_KEY: string;
|
10
|
-
};
|
11
|
-
export declare const getConfig: () => {
|
12
|
-
API_ENDPOINT: string;
|
13
|
-
OCP_SUBSCRIPTION_KEY: string;
|
14
|
-
} | {
|
15
|
-
API_ENDPOINT: string;
|
16
|
-
OCP_SUBSCRIPTION_KEY: string;
|
17
|
-
} | {
|
1
|
+
export declare enum MTSEnvs {
|
2
|
+
DEV = "DEV",
|
3
|
+
STAGING = "STAGING",
|
4
|
+
PROD = "PROD"
|
5
|
+
}
|
6
|
+
export type MTSConfig = {
|
7
|
+
ENV: MTSEnvs;
|
18
8
|
API_ENDPOINT: string;
|
19
9
|
OCP_SUBSCRIPTION_KEY: string;
|
10
|
+
ACCESS_TOKEN: string | undefined;
|
20
11
|
};
|
12
|
+
export declare const setConfig: (env: MTSEnvs, sub_key: string, access_token?: string) => MTSConfig;
|
13
|
+
export declare const getConfig: () => MTSConfig;
|
package/lib/config.js
CHANGED
@@ -1,28 +1,41 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getConfig = exports.setConfig = void 0;
|
3
|
+
exports.getConfig = exports.setConfig = exports.MTSEnvs = void 0;
|
4
|
+
var MTSEnvs;
|
5
|
+
(function (MTSEnvs) {
|
6
|
+
MTSEnvs["DEV"] = "DEV";
|
7
|
+
MTSEnvs["STAGING"] = "STAGING";
|
8
|
+
MTSEnvs["PROD"] = "PROD";
|
9
|
+
})(MTSEnvs || (exports.MTSEnvs = MTSEnvs = {}));
|
4
10
|
var config = {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
stag: {
|
10
|
-
API_ENDPOINT: "https://myticketsolutionapim.azure-api.net/api/stag",
|
11
|
-
OCP_SUBSCRIPTION_KEY: ""
|
12
|
-
},
|
13
|
-
prod: {
|
14
|
-
API_ENDPOINT: "https://myticketsolutionapim.azure-api.net/api/",
|
15
|
-
OCP_SUBSCRIPTION_KEY: ""
|
16
|
-
}
|
11
|
+
ENV: MTSEnvs.PROD,
|
12
|
+
API_ENDPOINT: "https://myticketsolutionapim.azure-api.net/api",
|
13
|
+
OCP_SUBSCRIPTION_KEY: "",
|
14
|
+
ACCESS_TOKEN: undefined
|
17
15
|
};
|
18
|
-
var
|
19
|
-
|
20
|
-
|
21
|
-
config
|
22
|
-
|
16
|
+
var setConfig = function (env, sub_key, access_token) {
|
17
|
+
// First, set the environment
|
18
|
+
config.ENV = env;
|
19
|
+
switch (config.ENV) {
|
20
|
+
case MTSEnvs.DEV:
|
21
|
+
config.API_ENDPOINT = "https://myticketsolutionapim.azure-api.net/api/dev";
|
22
|
+
break;
|
23
|
+
case MTSEnvs.STAGING:
|
24
|
+
config.API_ENDPOINT = "https://myticketsolutionapim.azure-api.net/api/stag";
|
25
|
+
break;
|
26
|
+
case MTSEnvs.PROD:
|
27
|
+
config.API_ENDPOINT = "https://myticketsolutionapim.azure-api.net/api";
|
28
|
+
break;
|
29
|
+
default:
|
30
|
+
throw new Error("Invalid environment");
|
31
|
+
}
|
32
|
+
// Set OCT and access token
|
33
|
+
config.OCP_SUBSCRIPTION_KEY = sub_key;
|
34
|
+
config.ACCESS_TOKEN = access_token;
|
35
|
+
return config;
|
23
36
|
};
|
24
37
|
exports.setConfig = setConfig;
|
25
38
|
var getConfig = function () {
|
26
|
-
return config
|
39
|
+
return config;
|
27
40
|
};
|
28
41
|
exports.getConfig = getConfig;
|
package/lib/index.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { MTSEnvs } from "./config";
|
1
2
|
import { Cart, TourCart, JourneyCart } from "./types/Cart";
|
2
3
|
import { Details } from "./types/Details";
|
3
4
|
import { Tour, TourTrip } from "./types/Tours/Tour";
|
@@ -16,9 +17,15 @@ export declare class Booking {
|
|
16
17
|
* @param {string} env The environment in which the app is running. Can be "dev", "stag" or "prod"
|
17
18
|
* @param {string} sub_key The subscription key for using the APIs
|
18
19
|
* @param {() => void} onCartExpiration A callback function that will be called when the cart expires
|
20
|
+
* @param {string} [access_token=undefined] The access token for calling MTS APIs
|
19
21
|
* @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
|
20
22
|
*/
|
21
|
-
constructor(env:
|
23
|
+
constructor(env: MTSEnvs, sub_key: string, onCartExpiration: () => void, access_token?: string, sellerId?: number);
|
24
|
+
/**
|
25
|
+
* This method allows to renew the access token for calling MTS APIs
|
26
|
+
* @param {string} access_token The new access token
|
27
|
+
*/
|
28
|
+
renewAccessToken(access_token: string): void;
|
22
29
|
getCartStatus(): Booking.CartStatus;
|
23
30
|
getCart(): Cart | undefined;
|
24
31
|
private fetchAndSetCart;
|
package/lib/index.js
CHANGED
@@ -60,18 +60,26 @@ var Booking = /** @class */ (function () {
|
|
60
60
|
* @param {string} env The environment in which the app is running. Can be "dev", "stag" or "prod"
|
61
61
|
* @param {string} sub_key The subscription key for using the APIs
|
62
62
|
* @param {() => void} onCartExpiration A callback function that will be called when the cart expires
|
63
|
+
* @param {string} [access_token=undefined] The access token for calling MTS APIs
|
63
64
|
* @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
|
64
65
|
*/
|
65
|
-
function Booking(env, sub_key, onCartExpiration, sellerId) {
|
66
|
+
function Booking(env, sub_key, onCartExpiration, access_token, sellerId) {
|
66
67
|
this.cartStatus = Booking.CartStatus.EMPTY;
|
67
68
|
this.sellerId = sellerId || undefined;
|
68
|
-
this.config = (0, config_1.setConfig)(env, sub_key);
|
69
|
+
this.config = (0, config_1.setConfig)(env, sub_key, access_token);
|
69
70
|
this.onCartExpiration = onCartExpiration;
|
70
71
|
var cartId = localStorage.getItem("cartId");
|
71
72
|
if (cartId) {
|
72
73
|
this.fetchAndSetCart(parseInt(cartId));
|
73
74
|
}
|
74
75
|
}
|
76
|
+
/**
|
77
|
+
* This method allows to renew the access token for calling MTS APIs
|
78
|
+
* @param {string} access_token The new access token
|
79
|
+
*/
|
80
|
+
Booking.prototype.renewAccessToken = function (access_token) {
|
81
|
+
(0, config_1.setConfig)(this.config.ENV, this.config.OCP_SUBSCRIPTION_KEY, access_token);
|
82
|
+
};
|
75
83
|
Booking.prototype.getCartStatus = function () {
|
76
84
|
return this.cartStatus;
|
77
85
|
};
|
package/lib/utils/apiCall.js
CHANGED
@@ -1,4 +1,15 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -49,10 +60,7 @@ var makeGet = function (url) { return __awaiter(void 0, void 0, void 0, function
|
|
49
60
|
case 0:
|
50
61
|
_a.trys.push([0, 2, , 3]);
|
51
62
|
return [4 /*yield*/, axios_1.default.get(url, {
|
52
|
-
headers: {
|
53
|
-
"Content-Type": "application/json",
|
54
|
-
"Ocp-Apim-Subscription-Key": (0, config_1.getConfig)().OCP_SUBSCRIPTION_KEY,
|
55
|
-
},
|
63
|
+
headers: __assign({ "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": (0, config_1.getConfig)().OCP_SUBSCRIPTION_KEY }, ((0, config_1.getConfig)().ACCESS_TOKEN && { "Authorization": "Bearer ".concat((0, config_1.getConfig)().ACCESS_TOKEN) })),
|
56
64
|
})];
|
57
65
|
case 1:
|
58
66
|
response = _a.sent();
|
@@ -80,10 +88,7 @@ var makePost = function (url, data) { return __awaiter(void 0, void 0, void 0, f
|
|
80
88
|
case 0:
|
81
89
|
_a.trys.push([0, 2, , 3]);
|
82
90
|
return [4 /*yield*/, axios_1.default.post(url, data, {
|
83
|
-
headers: {
|
84
|
-
"Content-Type": "application/json",
|
85
|
-
"Ocp-Apim-Subscription-Key": (0, config_1.getConfig)().OCP_SUBSCRIPTION_KEY,
|
86
|
-
},
|
91
|
+
headers: __assign({ "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": (0, config_1.getConfig)().OCP_SUBSCRIPTION_KEY }, ((0, config_1.getConfig)().ACCESS_TOKEN && { "Authorization": "Bearer ".concat((0, config_1.getConfig)().ACCESS_TOKEN) })),
|
87
92
|
})];
|
88
93
|
case 1:
|
89
94
|
response = _a.sent();
|