@emilgroup/customer-sdk-node 1.39.1-beta.1 → 1.39.1-beta.2
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/README.md +2 -2
- package/base.ts +13 -23
- package/dist/base.d.ts +2 -4
- package/dist/base.js +28 -37
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,11 +17,11 @@ Although this package can be used in both TypeScript and JavaScript, it is inten
|
|
|
17
17
|
Navigate to the folder of your consuming project and run one of the following commands:
|
|
18
18
|
|
|
19
19
|
```
|
|
20
|
-
npm install @emilgroup/customer-sdk-node@1.39.1-beta.
|
|
20
|
+
npm install @emilgroup/customer-sdk-node@1.39.1-beta.2 --save
|
|
21
21
|
```
|
|
22
22
|
or
|
|
23
23
|
```
|
|
24
|
-
yarn add @emilgroup/customer-sdk-node@1.39.1-beta.
|
|
24
|
+
yarn add @emilgroup/customer-sdk-node@1.39.1-beta.2
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
And then you can import `CustomersApi`.
|
package/base.ts
CHANGED
|
@@ -81,7 +81,6 @@ export class BaseAPI {
|
|
|
81
81
|
private username?: string;
|
|
82
82
|
private password?: string;
|
|
83
83
|
private isCustomerToken = false;
|
|
84
|
-
private permissions?: string;
|
|
85
84
|
|
|
86
85
|
constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {
|
|
87
86
|
if (configuration) {
|
|
@@ -152,10 +151,6 @@ export class BaseAPI {
|
|
|
152
151
|
this.configuration.basePath = env;
|
|
153
152
|
}
|
|
154
153
|
|
|
155
|
-
getPermissions(): Array<string> {
|
|
156
|
-
return this.permissions.split(',');
|
|
157
|
-
}
|
|
158
|
-
|
|
159
154
|
async authorize(username: string, password: string): Promise<void> {
|
|
160
155
|
const options: AxiosRequestConfig = {
|
|
161
156
|
method: 'POST',
|
|
@@ -170,10 +165,9 @@ export class BaseAPI {
|
|
|
170
165
|
|
|
171
166
|
const response = await globalAxios.request<LoginClass>(options);
|
|
172
167
|
|
|
173
|
-
const { data: { accessToken
|
|
168
|
+
const { data: { accessToken } } = response;
|
|
174
169
|
this.configuration.username = username;
|
|
175
170
|
this.configuration.accessToken = `Bearer ${accessToken}`;
|
|
176
|
-
this.permissions = permissions;
|
|
177
171
|
|
|
178
172
|
const refreshToken = this.extractRefreshToken(response);
|
|
179
173
|
this.configuration.refreshToken = refreshToken;
|
|
@@ -240,12 +234,12 @@ export class BaseAPI {
|
|
|
240
234
|
return response;
|
|
241
235
|
}
|
|
242
236
|
|
|
243
|
-
async refreshTokenTenant(): Promise<
|
|
237
|
+
async refreshTokenTenant(): Promise<string> {
|
|
244
238
|
const { username, refreshToken } = this.configuration;
|
|
245
239
|
|
|
246
240
|
|
|
247
241
|
if (!username || !refreshToken) {
|
|
248
|
-
|
|
242
|
+
return '';
|
|
249
243
|
}
|
|
250
244
|
|
|
251
245
|
const options: AxiosRequestConfig = {
|
|
@@ -259,16 +253,16 @@ export class BaseAPI {
|
|
|
259
253
|
withCredentials: true,
|
|
260
254
|
};
|
|
261
255
|
|
|
262
|
-
const
|
|
256
|
+
const { data: { accessToken } } = await globalAxios.request<LoginClass>(options);
|
|
263
257
|
|
|
264
|
-
return
|
|
258
|
+
return accessToken;
|
|
265
259
|
}
|
|
266
260
|
|
|
267
|
-
async refreshTokenCustomer(): Promise<
|
|
261
|
+
async refreshTokenCustomer(): Promise<string> {
|
|
268
262
|
const { username, refreshToken, tenantSlug } = this.configuration;
|
|
269
263
|
|
|
270
264
|
if (!username || !refreshToken) {
|
|
271
|
-
|
|
265
|
+
return '';
|
|
272
266
|
}
|
|
273
267
|
|
|
274
268
|
const options: AxiosRequestConfig = {
|
|
@@ -282,9 +276,9 @@ export class BaseAPI {
|
|
|
282
276
|
withCredentials: true,
|
|
283
277
|
};
|
|
284
278
|
|
|
285
|
-
const
|
|
279
|
+
const { data: { accessToken } } = await globalAxios.request<LoginClass>(options);
|
|
286
280
|
|
|
287
|
-
return
|
|
281
|
+
return accessToken;
|
|
288
282
|
}
|
|
289
283
|
|
|
290
284
|
private extractRefreshToken(response: AxiosResponse): string {
|
|
@@ -310,14 +304,12 @@ export class BaseAPI {
|
|
|
310
304
|
originalConfig._retry = true;
|
|
311
305
|
try {
|
|
312
306
|
let tokenString: string;
|
|
313
|
-
let permissions: string;
|
|
314
307
|
if (this.isCustomerToken) {
|
|
315
|
-
|
|
308
|
+
tokenString = await this.refreshTokenCustomer();
|
|
316
309
|
} else {
|
|
317
|
-
|
|
310
|
+
tokenString = await this.refreshTokenTenant();
|
|
318
311
|
}
|
|
319
312
|
const accessToken = `Bearer ${tokenString}`;
|
|
320
|
-
this.permissions = permissions;
|
|
321
313
|
|
|
322
314
|
delete originalConfig.headers['Authorization']
|
|
323
315
|
|
|
@@ -344,14 +336,12 @@ export class BaseAPI {
|
|
|
344
336
|
_retry_count++;
|
|
345
337
|
try {
|
|
346
338
|
let tokenString: string;
|
|
347
|
-
let permissions: string;
|
|
348
339
|
if (this.isCustomerToken) {
|
|
349
|
-
|
|
340
|
+
tokenString = await this.refreshTokenCustomer();
|
|
350
341
|
} else {
|
|
351
|
-
|
|
342
|
+
tokenString = await this.refreshTokenTenant();
|
|
352
343
|
}
|
|
353
344
|
const accessToken = `Bearer ${tokenString}`;
|
|
354
|
-
this.permissions = permissions;
|
|
355
345
|
|
|
356
346
|
_retry = true;
|
|
357
347
|
originalConfig.headers['Authorization'] = accessToken;
|
package/dist/base.d.ts
CHANGED
|
@@ -55,19 +55,17 @@ export declare class BaseAPI {
|
|
|
55
55
|
private username?;
|
|
56
56
|
private password?;
|
|
57
57
|
private isCustomerToken;
|
|
58
|
-
private permissions?;
|
|
59
58
|
constructor(configuration?: Configuration, basePath?: string, axios?: AxiosInstance);
|
|
60
59
|
initialize(env?: Environment): Promise<void>;
|
|
61
60
|
private loadCredentials;
|
|
62
61
|
private readConfigFile;
|
|
63
62
|
private readEnvVariables;
|
|
64
63
|
selectEnvironment(env: Environment): void;
|
|
65
|
-
getPermissions(): Array<string>;
|
|
66
64
|
authorize(username: string, password: string): Promise<void>;
|
|
67
65
|
initiateAuthorization(username: string, password: string, tenantSlug: string): Promise<AxiosResponse<InitiateAuthResponseClass>>;
|
|
68
66
|
respondToAuthorizationChallenge(respondToAuthChallengeRequestDto: RespondToAuthChallengeRequestDto): Promise<AxiosResponse<RespondToAuthChallengeClass>>;
|
|
69
|
-
refreshTokenTenant(): Promise<
|
|
70
|
-
refreshTokenCustomer(): Promise<
|
|
67
|
+
refreshTokenTenant(): Promise<string>;
|
|
68
|
+
refreshTokenCustomer(): Promise<string>;
|
|
71
69
|
private extractRefreshToken;
|
|
72
70
|
private attachInterceptor;
|
|
73
71
|
}
|
package/dist/base.js
CHANGED
|
@@ -243,14 +243,11 @@ var BaseAPI = /** @class */ (function () {
|
|
|
243
243
|
BaseAPI.prototype.selectEnvironment = function (env) {
|
|
244
244
|
this.configuration.basePath = env;
|
|
245
245
|
};
|
|
246
|
-
BaseAPI.prototype.getPermissions = function () {
|
|
247
|
-
return this.permissions.split(',');
|
|
248
|
-
};
|
|
249
246
|
BaseAPI.prototype.authorize = function (username, password) {
|
|
250
247
|
return __awaiter(this, void 0, void 0, function () {
|
|
251
|
-
var options, response,
|
|
252
|
-
return __generator(this, function (
|
|
253
|
-
switch (
|
|
248
|
+
var options, response, accessToken, refreshToken;
|
|
249
|
+
return __generator(this, function (_a) {
|
|
250
|
+
switch (_a.label) {
|
|
254
251
|
case 0:
|
|
255
252
|
options = {
|
|
256
253
|
method: 'POST',
|
|
@@ -264,11 +261,10 @@ var BaseAPI = /** @class */ (function () {
|
|
|
264
261
|
};
|
|
265
262
|
return [4 /*yield*/, axios_1.default.request(options)];
|
|
266
263
|
case 1:
|
|
267
|
-
response =
|
|
268
|
-
|
|
264
|
+
response = _a.sent();
|
|
265
|
+
accessToken = response.data.accessToken;
|
|
269
266
|
this.configuration.username = username;
|
|
270
267
|
this.configuration.accessToken = "Bearer ".concat(accessToken);
|
|
271
|
-
this.permissions = permissions;
|
|
272
268
|
refreshToken = this.extractRefreshToken(response);
|
|
273
269
|
this.configuration.refreshToken = refreshToken;
|
|
274
270
|
return [2 /*return*/];
|
|
@@ -343,13 +339,13 @@ var BaseAPI = /** @class */ (function () {
|
|
|
343
339
|
};
|
|
344
340
|
BaseAPI.prototype.refreshTokenTenant = function () {
|
|
345
341
|
return __awaiter(this, void 0, void 0, function () {
|
|
346
|
-
var _a, username, refreshToken, options,
|
|
342
|
+
var _a, username, refreshToken, options, accessToken;
|
|
347
343
|
return __generator(this, function (_b) {
|
|
348
344
|
switch (_b.label) {
|
|
349
345
|
case 0:
|
|
350
346
|
_a = this.configuration, username = _a.username, refreshToken = _a.refreshToken;
|
|
351
347
|
if (!username || !refreshToken) {
|
|
352
|
-
|
|
348
|
+
return [2 /*return*/, ''];
|
|
353
349
|
}
|
|
354
350
|
options = {
|
|
355
351
|
method: 'POST',
|
|
@@ -363,21 +359,21 @@ var BaseAPI = /** @class */ (function () {
|
|
|
363
359
|
};
|
|
364
360
|
return [4 /*yield*/, axios_1.default.request(options)];
|
|
365
361
|
case 1:
|
|
366
|
-
|
|
367
|
-
return [2 /*return*/,
|
|
362
|
+
accessToken = (_b.sent()).data.accessToken;
|
|
363
|
+
return [2 /*return*/, accessToken];
|
|
368
364
|
}
|
|
369
365
|
});
|
|
370
366
|
});
|
|
371
367
|
};
|
|
372
368
|
BaseAPI.prototype.refreshTokenCustomer = function () {
|
|
373
369
|
return __awaiter(this, void 0, void 0, function () {
|
|
374
|
-
var _a, username, refreshToken, tenantSlug, options,
|
|
370
|
+
var _a, username, refreshToken, tenantSlug, options, accessToken;
|
|
375
371
|
return __generator(this, function (_b) {
|
|
376
372
|
switch (_b.label) {
|
|
377
373
|
case 0:
|
|
378
374
|
_a = this.configuration, username = _a.username, refreshToken = _a.refreshToken, tenantSlug = _a.tenantSlug;
|
|
379
375
|
if (!username || !refreshToken) {
|
|
380
|
-
|
|
376
|
+
return [2 /*return*/, ''];
|
|
381
377
|
}
|
|
382
378
|
options = {
|
|
383
379
|
method: 'POST',
|
|
@@ -391,8 +387,8 @@ var BaseAPI = /** @class */ (function () {
|
|
|
391
387
|
};
|
|
392
388
|
return [4 /*yield*/, axios_1.default.request(options)];
|
|
393
389
|
case 1:
|
|
394
|
-
|
|
395
|
-
return [2 /*return*/,
|
|
390
|
+
accessToken = (_b.sent()).data.accessToken;
|
|
391
|
+
return [2 /*return*/, accessToken];
|
|
396
392
|
}
|
|
397
393
|
});
|
|
398
394
|
});
|
|
@@ -409,38 +405,35 @@ var BaseAPI = /** @class */ (function () {
|
|
|
409
405
|
axios.interceptors.response.use(function (res) {
|
|
410
406
|
return res;
|
|
411
407
|
}, function (err) { return __awaiter(_this, void 0, void 0, function () {
|
|
412
|
-
var originalConfig, tokenString,
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
switch (_e.label) {
|
|
408
|
+
var originalConfig, tokenString, accessToken, _error_1, tokenString, accessToken, _error_2;
|
|
409
|
+
return __generator(this, function (_a) {
|
|
410
|
+
switch (_a.label) {
|
|
416
411
|
case 0:
|
|
417
412
|
originalConfig = err.config;
|
|
418
413
|
if (!err.response) return [3 /*break*/, 8];
|
|
419
414
|
if (!(err.response.status === 401 && !originalConfig._retry)) return [3 /*break*/, 7];
|
|
420
415
|
originalConfig._retry = true;
|
|
421
|
-
|
|
416
|
+
_a.label = 1;
|
|
422
417
|
case 1:
|
|
423
|
-
|
|
418
|
+
_a.trys.push([1, 6, , 7]);
|
|
424
419
|
tokenString = void 0;
|
|
425
|
-
permissions = void 0;
|
|
426
420
|
if (!this.isCustomerToken) return [3 /*break*/, 3];
|
|
427
421
|
return [4 /*yield*/, this.refreshTokenCustomer()];
|
|
428
422
|
case 2:
|
|
429
|
-
|
|
423
|
+
tokenString = _a.sent();
|
|
430
424
|
return [3 /*break*/, 5];
|
|
431
425
|
case 3: return [4 /*yield*/, this.refreshTokenTenant()];
|
|
432
426
|
case 4:
|
|
433
|
-
|
|
434
|
-
|
|
427
|
+
tokenString = _a.sent();
|
|
428
|
+
_a.label = 5;
|
|
435
429
|
case 5:
|
|
436
430
|
accessToken = "Bearer ".concat(tokenString);
|
|
437
|
-
this.permissions = permissions;
|
|
438
431
|
delete originalConfig.headers['Authorization'];
|
|
439
432
|
originalConfig.headers['Authorization'] = accessToken;
|
|
440
433
|
this.configuration.accessToken = accessToken;
|
|
441
434
|
return [2 /*return*/, axios(originalConfig)];
|
|
442
435
|
case 6:
|
|
443
|
-
_error_1 =
|
|
436
|
+
_error_1 = _a.sent();
|
|
444
437
|
if (_error_1.response && _error_1.response.data) {
|
|
445
438
|
return [2 /*return*/, Promise.reject(_error_1.response.data)];
|
|
446
439
|
}
|
|
@@ -456,29 +449,27 @@ var BaseAPI = /** @class */ (function () {
|
|
|
456
449
|
&& originalConfig.headers.hasOwnProperty('Authorization')
|
|
457
450
|
&& _retry_count < 4)) return [3 /*break*/, 15];
|
|
458
451
|
_retry_count++;
|
|
459
|
-
|
|
452
|
+
_a.label = 9;
|
|
460
453
|
case 9:
|
|
461
|
-
|
|
454
|
+
_a.trys.push([9, 14, , 15]);
|
|
462
455
|
tokenString = void 0;
|
|
463
|
-
permissions = void 0;
|
|
464
456
|
if (!this.isCustomerToken) return [3 /*break*/, 11];
|
|
465
457
|
return [4 /*yield*/, this.refreshTokenCustomer()];
|
|
466
458
|
case 10:
|
|
467
|
-
|
|
459
|
+
tokenString = _a.sent();
|
|
468
460
|
return [3 /*break*/, 13];
|
|
469
461
|
case 11: return [4 /*yield*/, this.refreshTokenTenant()];
|
|
470
462
|
case 12:
|
|
471
|
-
|
|
472
|
-
|
|
463
|
+
tokenString = _a.sent();
|
|
464
|
+
_a.label = 13;
|
|
473
465
|
case 13:
|
|
474
466
|
accessToken = "Bearer ".concat(tokenString);
|
|
475
|
-
this.permissions = permissions;
|
|
476
467
|
_retry = true;
|
|
477
468
|
originalConfig.headers['Authorization'] = accessToken;
|
|
478
469
|
this.configuration.accessToken = accessToken;
|
|
479
470
|
return [2 /*return*/, axios.request(__assign({}, originalConfig))];
|
|
480
471
|
case 14:
|
|
481
|
-
_error_2 =
|
|
472
|
+
_error_2 = _a.sent();
|
|
482
473
|
if (_error_2.response && _error_2.response.data) {
|
|
483
474
|
return [2 /*return*/, Promise.reject(_error_2.response.data)];
|
|
484
475
|
}
|