@trunkrs/common 1.6.14 → 1.6.17
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/package.json +1 -1
- package/services/client/CoreServicesMachineClient.js +4 -1
- package/services/client/CoreServicesMachineClient.js.map +1 -1
- package/services/client/MachineClient.d.ts +1 -4
- package/services/client/MachineClient.js +27 -42
- package/services/client/MachineClient.js.map +1 -1
- package/utils/caching/RedisCache.js +3 -0
- package/utils/caching/RedisCache.js.map +1 -1
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@ const MachineClient_1 = __importDefault(require("./MachineClient"));
|
|
|
7
7
|
const errors_1 = require("../../models/errors");
|
|
8
8
|
class CoreServicesMachineClient extends MachineClient_1.default {
|
|
9
9
|
async runQuery(service, query, params) {
|
|
10
|
-
await this.
|
|
10
|
+
const bearerToken = await this.getBearerToken();
|
|
11
11
|
const response = await this.httpClient.put({
|
|
12
12
|
url: this.createUrl(`/${service}/private/query`),
|
|
13
13
|
params: {
|
|
@@ -15,6 +15,9 @@ class CoreServicesMachineClient extends MachineClient_1.default {
|
|
|
15
15
|
params,
|
|
16
16
|
},
|
|
17
17
|
timeout: 30000,
|
|
18
|
+
headers: {
|
|
19
|
+
Authorization: `bearer ${bearerToken}`,
|
|
20
|
+
},
|
|
18
21
|
});
|
|
19
22
|
if (!response.result) {
|
|
20
23
|
throw new errors_1.CoreServicesRequestFailedError(response.stackTrace ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreServicesMachineClient.js","sourceRoot":"","sources":["../../../services/client/CoreServicesMachineClient.ts"],"names":[],"mappings":";;;;;AACA,oEAA2C;AAC3C,gDAAoE;AAapE,MAAM,yBAA0B,SAAQ,uBAAa;IAS5C,KAAK,CAAC,QAAQ,CACnB,OAAyB,EACzB,KAAa,EACb,MAA+B;QAE/B,MAAM,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"CoreServicesMachineClient.js","sourceRoot":"","sources":["../../../services/client/CoreServicesMachineClient.ts"],"names":[],"mappings":";;;;;AACA,oEAA2C;AAC3C,gDAAoE;AAapE,MAAM,yBAA0B,SAAQ,uBAAa;IAS5C,KAAK,CAAC,QAAQ,CACnB,OAAyB,EACzB,KAAa,EACb,MAA+B;QAE/B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAGxC;YACA,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,gBAAgB,CAAC;YAChD,MAAM,EAAE;gBACN,KAAK;gBACL,MAAM;aACP;YACD,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,MAAM,IAAI,uCAA8B,CACtC,QAAQ,CAAC,UAAU;gBACjB,0DAA0D,EAC5D,QAAQ,CAAC,OAAO;gBACd,uDAAuD,CAC1D,CAAA;SACF;QAED,OAAO,QAAQ,CAAC,MAAM,CAAA;IACxB,CAAC;CACF;AAED,kBAAe,yBAAyB,CAAA"}
|
|
@@ -8,9 +8,7 @@ declare class MachineClient {
|
|
|
8
8
|
protected readonly cache: Cache;
|
|
9
9
|
protected readonly secretCacheKey: string;
|
|
10
10
|
protected readonly baseUrl: string;
|
|
11
|
-
|
|
12
|
-
protected bearerTokenInterceptorId?: number;
|
|
13
|
-
private tokenResponseInterceptorId?;
|
|
11
|
+
protected bearerTokenPromise?: Promise<string>;
|
|
14
12
|
constructor(machineTokenClient: MachineTokenClient, httpClient: HttpClient, cache: Cache, secretCacheKey: string, baseUrl: string);
|
|
15
13
|
protected createUrl(resource: string): string;
|
|
16
14
|
protected get axiosClient(): import("axios").AxiosInstance;
|
|
@@ -19,6 +17,5 @@ declare class MachineClient {
|
|
|
19
17
|
put<TRequest = any, TResponse = unknown>(resource: string, body: TRequest, headers?: Record<string, any>): Promise<TResponse>;
|
|
20
18
|
delete(resource: string, headers?: Record<string, any>): Promise<void>;
|
|
21
19
|
protected getBearerToken(): Promise<string>;
|
|
22
|
-
protected checkBearerToken(): Promise<void>;
|
|
23
20
|
}
|
|
24
21
|
export default MachineClient;
|
|
@@ -18,78 +18,63 @@ class MachineClient {
|
|
|
18
18
|
return client === null || client === void 0 ? void 0 : client.axiosClient;
|
|
19
19
|
}
|
|
20
20
|
async get(resource, parameters, headers, responseType) {
|
|
21
|
-
await this.
|
|
21
|
+
const bearerToken = await this.getBearerToken();
|
|
22
22
|
const data = await this.httpClient.get({
|
|
23
23
|
url: this.createUrl(resource),
|
|
24
|
-
headers
|
|
24
|
+
headers: {
|
|
25
|
+
...headers,
|
|
26
|
+
Authorization: `Bearer ${bearerToken}`,
|
|
27
|
+
},
|
|
25
28
|
params: parameters,
|
|
26
29
|
responseType,
|
|
27
30
|
});
|
|
28
31
|
return data;
|
|
29
32
|
}
|
|
30
33
|
async post(resource, body, headers) {
|
|
31
|
-
await this.
|
|
34
|
+
const bearerToken = await this.getBearerToken();
|
|
32
35
|
const data = await this.httpClient.post({
|
|
33
36
|
url: this.createUrl(resource),
|
|
34
37
|
params: body,
|
|
35
|
-
headers
|
|
38
|
+
headers: {
|
|
39
|
+
...headers,
|
|
40
|
+
Authorization: `Bearer ${bearerToken}`,
|
|
41
|
+
},
|
|
36
42
|
});
|
|
37
43
|
return data;
|
|
38
44
|
}
|
|
39
45
|
async put(resource, body, headers) {
|
|
40
|
-
await this.
|
|
46
|
+
const bearerToken = await this.getBearerToken();
|
|
41
47
|
const data = await this.httpClient.put({
|
|
42
48
|
url: this.createUrl(resource),
|
|
43
49
|
params: body,
|
|
44
|
-
headers
|
|
50
|
+
headers: {
|
|
51
|
+
...headers,
|
|
52
|
+
Authorization: `Bearer ${bearerToken}`,
|
|
53
|
+
},
|
|
45
54
|
});
|
|
46
55
|
return data;
|
|
47
56
|
}
|
|
48
57
|
async delete(resource, headers) {
|
|
49
|
-
await this.
|
|
58
|
+
const bearerToken = await this.getBearerToken();
|
|
50
59
|
await this.httpClient.delete({
|
|
51
60
|
url: this.createUrl(resource),
|
|
52
|
-
headers
|
|
61
|
+
headers: {
|
|
62
|
+
...headers,
|
|
63
|
+
Authorization: `Bearer ${bearerToken}`,
|
|
64
|
+
},
|
|
53
65
|
});
|
|
54
66
|
}
|
|
55
67
|
async getBearerToken() {
|
|
56
|
-
|
|
57
|
-
return this.
|
|
58
|
-
});
|
|
59
|
-
return token;
|
|
60
|
-
}
|
|
61
|
-
async checkBearerToken() {
|
|
62
|
-
const token = await this.getBearerToken();
|
|
63
|
-
if (this.bearerTokenInterceptorId && this.tokenResponseInterceptorId) {
|
|
64
|
-
this.axiosClient.interceptors.request.eject(this.bearerTokenInterceptorId);
|
|
65
|
-
this.axiosClient.interceptors.response.eject(this.tokenResponseInterceptorId);
|
|
68
|
+
if (this.bearerTokenPromise) {
|
|
69
|
+
return this.bearerTokenPromise;
|
|
66
70
|
}
|
|
67
|
-
this.
|
|
68
|
-
|
|
69
|
-
...config.headers,
|
|
70
|
-
Authorization: `Bearer ${token}`,
|
|
71
|
-
};
|
|
72
|
-
return Object.assign(config, { headers: modifiedHeaders });
|
|
71
|
+
this.bearerTokenPromise = this.cache.getOrAdd(this.secretCacheKey, () => {
|
|
72
|
+
return this.machineTokenClient.getMachineToken();
|
|
73
73
|
});
|
|
74
|
-
this.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (((_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.status) !== 401) {
|
|
78
|
-
throw axiosError;
|
|
79
|
-
}
|
|
80
|
-
const retryDepth = (_b = axiosError.config.retryDepth) !== null && _b !== void 0 ? _b : 0;
|
|
81
|
-
if (retryDepth >= MachineClient.maxRetryDepth) {
|
|
82
|
-
return Promise.reject(axiosError);
|
|
83
|
-
}
|
|
84
|
-
Object.assign(axiosError.config, {
|
|
85
|
-
retryDepth: retryDepth + 1,
|
|
86
|
-
});
|
|
87
|
-
await this.cache.remove(this.secretCacheKey);
|
|
88
|
-
await this.checkBearerToken();
|
|
89
|
-
return this.axiosClient.request(axiosError.config);
|
|
90
|
-
});
|
|
74
|
+
const bearerToken = await this.bearerTokenPromise;
|
|
75
|
+
this.bearerTokenPromise = undefined;
|
|
76
|
+
return bearerToken;
|
|
91
77
|
}
|
|
92
78
|
}
|
|
93
|
-
MachineClient.maxRetryDepth = 2;
|
|
94
79
|
exports.default = MachineClient;
|
|
95
80
|
//# sourceMappingURL=MachineClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MachineClient.js","sourceRoot":"","sources":["../../../services/client/MachineClient.ts"],"names":[],"mappings":";;AAQA,MAAM,aAAa;
|
|
1
|
+
{"version":3,"file":"MachineClient.js","sourceRoot":"","sources":["../../../services/client/MachineClient.ts"],"names":[],"mappings":";;AAQA,MAAM,aAAa;IAGjB,YACqB,kBAAsC,EACtC,UAAsB,EACtB,KAAY,EACZ,cAAsB,EACtB,OAAe;QAJf,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,eAAU,GAAV,UAAU,CAAY;QACtB,UAAK,GAAL,KAAK,CAAO;QACZ,mBAAc,GAAd,cAAc,CAAQ;QACtB,YAAO,GAAP,OAAO,CAAQ;IACjC,CAAC;IAEM,SAAS,CAAC,QAAgB;QAClC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;YAC7B,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE;YAC9B,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAA;IACnC,CAAC;IAED,IAAc,WAAW;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAyB,CAAA;QAC7C,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,GAAG,CACd,QAAgB,EAChB,UAAqB,EACrB,OAA6B,EAC7B,YAA2B;QAE3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAY;YAChD,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;YACD,MAAM,EAAE,UAAU;YAClB,YAAY;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,QAAgB,EAChB,IAAc,EACd,OAA6B;QAE7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAsB;YAC3D,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,GAAG,CACd,QAAgB,EAChB,IAAc,EACd,OAA6B;QAE7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAsB;YAC1D,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,QAAgB,EAChB,OAA6B;QAE7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE/C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC3B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;IACJ,CAAC;IAES,KAAK,CAAC,cAAc;QAC5B,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAA;SAC/B;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;YACtE,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAA;QAEjD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;QAEnC,OAAO,WAAW,CAAA;IACpB,CAAC;CACF;AAED,kBAAe,aAAa,CAAA"}
|
|
@@ -27,12 +27,15 @@ class RedisCache extends Cache_1.default {
|
|
|
27
27
|
return deserializedItem.value;
|
|
28
28
|
}
|
|
29
29
|
async getOrAdd(key, factory) {
|
|
30
|
+
console.info('[REDIS-CACHE]: attempting to get item');
|
|
30
31
|
const item = await this.client.get(key);
|
|
31
32
|
if (!item) {
|
|
32
33
|
const newValue = await factory();
|
|
34
|
+
console.info('[REDIS-CACHE]: item not found, running factory method');
|
|
33
35
|
await this.add(key, newValue);
|
|
34
36
|
return newValue;
|
|
35
37
|
}
|
|
38
|
+
console.info('[REDIS-CACHE]: item found, returning value');
|
|
36
39
|
const deserializedItem = this.serializer.deserialize(item);
|
|
37
40
|
return deserializedItem.value;
|
|
38
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedisCache.js","sourceRoot":"","sources":["../../../utils/caching/RedisCache.ts"],"names":[],"mappings":";;;;;AAAA,oDAA0C;AAI1C,MAAM,UAAW,SAAQ,eAAK;IAC5B,YACE,gBAAwB,EACP,MAAmB,EACnB,UAAsB;QAEvC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAHN,WAAM,GAAN,MAAM,CAAa;QACnB,eAAU,GAAV,UAAU,CAAY;IAGzC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAS,GAAW,EAAE,KAAa;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACnC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAEhE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAC5E,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAS,GAAW;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,gBAAgB,GAAc,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACrE,OAAO,gBAAgB,CAAC,KAAe,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,GAAW,EACX,OAA8B;QAE9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"RedisCache.js","sourceRoot":"","sources":["../../../utils/caching/RedisCache.ts"],"names":[],"mappings":";;;;;AAAA,oDAA0C;AAI1C,MAAM,UAAW,SAAQ,eAAK;IAC5B,YACE,gBAAwB,EACP,MAAmB,EACnB,UAAsB;QAEvC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAHN,WAAM,GAAN,MAAM,CAAa;QACnB,eAAU,GAAV,UAAU,CAAY;IAGzC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAS,GAAW,EAAE,KAAa;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACnC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAEhE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAC5E,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAS,GAAW;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,gBAAgB,GAAc,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACrE,OAAO,gBAAgB,CAAC,KAAe,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,GAAW,EACX,OAA8B;QAE9B,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAA;YAEhC,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;YAErE,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAE7B,OAAO,QAAQ,CAAA;SAChB;QAED,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAC1D,MAAM,gBAAgB,GAAc,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACrE,OAAO,gBAAgB,CAAC,KAAe,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,OAAO,CAAC,CAAC,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW;QAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;CACF;AAED,kBAAe,UAAU,CAAA"}
|