@trunkrs/common 1.6.16 → 1.6.20
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 -2
- package/services/client/MachineClient.js +27 -23
- package/services/client/MachineClient.js.map +1 -1
- package/services/queue/QueueClient/models.d.ts +1 -0
- package/services/queue/SQSQueueClient.d.ts +2 -2
- package/services/queue/SQSQueueClient.js +6 -4
- package/services/queue/SQSQueueClient.js.map +1 -1
- package/services/redis/RedisClient.d.ts +2 -0
- package/services/redis/RedisClient.js +14 -2
- package/services/redis/RedisClient.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,7 +8,7 @@ declare class MachineClient {
|
|
|
8
8
|
protected readonly cache: Cache;
|
|
9
9
|
protected readonly secretCacheKey: string;
|
|
10
10
|
protected readonly baseUrl: string;
|
|
11
|
-
protected
|
|
11
|
+
protected bearerTokenPromise?: Promise<string>;
|
|
12
12
|
constructor(machineTokenClient: MachineTokenClient, httpClient: HttpClient, cache: Cache, secretCacheKey: string, baseUrl: string);
|
|
13
13
|
protected createUrl(resource: string): string;
|
|
14
14
|
protected get axiosClient(): import("axios").AxiosInstance;
|
|
@@ -17,6 +17,5 @@ declare class MachineClient {
|
|
|
17
17
|
put<TRequest = any, TResponse = unknown>(resource: string, body: TRequest, headers?: Record<string, any>): Promise<TResponse>;
|
|
18
18
|
delete(resource: string, headers?: Record<string, any>): Promise<void>;
|
|
19
19
|
protected getBearerToken(): Promise<string>;
|
|
20
|
-
protected checkBearerToken(): Promise<void>;
|
|
21
20
|
}
|
|
22
21
|
export default MachineClient;
|
|
@@ -18,58 +18,62 @@ 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) {
|
|
64
|
-
this.axiosClient.interceptors.request.eject(this.bearerTokenInterceptorId);
|
|
68
|
+
if (this.bearerTokenPromise) {
|
|
69
|
+
return this.bearerTokenPromise;
|
|
65
70
|
}
|
|
66
|
-
this.
|
|
67
|
-
|
|
68
|
-
...config.headers,
|
|
69
|
-
Authorization: `Bearer ${token}`,
|
|
70
|
-
};
|
|
71
|
-
return Object.assign(config, { headers: modifiedHeaders });
|
|
71
|
+
this.bearerTokenPromise = this.cache.getOrAdd(this.secretCacheKey, () => {
|
|
72
|
+
return this.machineTokenClient.getMachineToken();
|
|
72
73
|
});
|
|
74
|
+
const bearerToken = await this.bearerTokenPromise;
|
|
75
|
+
this.bearerTokenPromise = undefined;
|
|
76
|
+
return bearerToken;
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
exports.default = MachineClient;
|
|
@@ -1 +1 @@
|
|
|
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,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"MachineClient.js","sourceRoot":"","sources":["../../../services/client/MachineClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Serializer from '../../utils/serialization/Serializer';
|
|
2
2
|
import { QueueClient, QueueBatchMessageRequest, QueueMessageRequest, SQSMessageOptions } from './QueueClient';
|
|
3
|
-
declare class
|
|
3
|
+
declare class SQSQueueClient implements QueueClient {
|
|
4
4
|
private readonly queueUrl;
|
|
5
5
|
private readonly serializer;
|
|
6
6
|
private readonly client;
|
|
@@ -8,4 +8,4 @@ declare class SNSQueueClient implements QueueClient {
|
|
|
8
8
|
sendMessage<TMessage>(request: QueueMessageRequest<TMessage, SQSMessageOptions>): Promise<void>;
|
|
9
9
|
sendBatchMessage<TMessage>(request: QueueBatchMessageRequest<TMessage, SQSMessageOptions>): Promise<void>;
|
|
10
10
|
}
|
|
11
|
-
export default
|
|
11
|
+
export default SQSQueueClient;
|
|
@@ -6,20 +6,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const aws_xray_sdk_1 = __importDefault(require("aws-xray-sdk"));
|
|
7
7
|
const aws_sdk_1 = __importDefault(require("aws-sdk"));
|
|
8
8
|
const { SQS } = aws_xray_sdk_1.default.captureAWS(aws_sdk_1.default);
|
|
9
|
-
class
|
|
9
|
+
class SQSQueueClient {
|
|
10
10
|
constructor(queueUrl, serializer) {
|
|
11
11
|
this.queueUrl = queueUrl;
|
|
12
12
|
this.serializer = serializer;
|
|
13
13
|
this.client = new SQS();
|
|
14
14
|
}
|
|
15
15
|
async sendMessage(request) {
|
|
16
|
-
var _a, _b;
|
|
16
|
+
var _a, _b, _c;
|
|
17
17
|
await this.client
|
|
18
18
|
.sendMessage({
|
|
19
19
|
QueueUrl: this.queueUrl,
|
|
20
20
|
MessageBody: this.serializer.serialize(request.message, 'string'),
|
|
21
21
|
MessageGroupId: (_a = request.options) === null || _a === void 0 ? void 0 : _a.messageGroupId,
|
|
22
22
|
MessageDeduplicationId: (_b = request.options) === null || _b === void 0 ? void 0 : _b.messageGroupId,
|
|
23
|
+
DelaySeconds: (_c = request.options) === null || _c === void 0 ? void 0 : _c.delaySeconds,
|
|
23
24
|
})
|
|
24
25
|
.promise();
|
|
25
26
|
}
|
|
@@ -27,16 +28,17 @@ class SNSQueueClient {
|
|
|
27
28
|
await this.client.sendMessageBatch({
|
|
28
29
|
QueueUrl: this.queueUrl,
|
|
29
30
|
Entries: request.messages.map((message, index) => {
|
|
30
|
-
var _a, _b;
|
|
31
|
+
var _a, _b, _c;
|
|
31
32
|
return ({
|
|
32
33
|
Id: String(index),
|
|
33
34
|
MessageBody: this.serializer.serialize(message, 'string'),
|
|
34
35
|
MessageGroupId: (_a = request.options) === null || _a === void 0 ? void 0 : _a.messageGroupId,
|
|
35
36
|
MessageDeduplicationId: (_b = request.options) === null || _b === void 0 ? void 0 : _b.messageGroupId,
|
|
37
|
+
DelaySeconds: (_c = request.options) === null || _c === void 0 ? void 0 : _c.delaySeconds,
|
|
36
38
|
});
|
|
37
39
|
}),
|
|
38
40
|
});
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
|
-
exports.default =
|
|
43
|
+
exports.default = SQSQueueClient;
|
|
42
44
|
//# sourceMappingURL=SQSQueueClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQSQueueClient.js","sourceRoot":"","sources":["../../../services/queue/SQSQueueClient.ts"],"names":[],"mappings":";;;;;AAAA,gEAA+B;AAC/B,sDAAyB;AAWzB,MAAM,EAAE,GAAG,EAAE,GAAG,sBAAI,CAAC,UAAU,CAAC,iBAAG,CAAC,CAAA;AAEpC,MAAM,cAAc;IAGlB,YAImB,QAAgB,EAIhB,UAAsB;QAJtB,aAAQ,GAAR,QAAQ,CAAQ;QAIhB,eAAU,GAAV,UAAU,CAAY;QAVxB,WAAM,GAAG,IAAI,GAAG,EAAE,CAAA;IAWhC,CAAC;IAEG,KAAK,CAAC,WAAW,CACtB,OAAyD;;QAEzD,MAAM,IAAI,CAAC,MAAM;aACd,WAAW,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;YACjE,cAAc,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;YAC/C,sBAAsB,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"SQSQueueClient.js","sourceRoot":"","sources":["../../../services/queue/SQSQueueClient.ts"],"names":[],"mappings":";;;;;AAAA,gEAA+B;AAC/B,sDAAyB;AAWzB,MAAM,EAAE,GAAG,EAAE,GAAG,sBAAI,CAAC,UAAU,CAAC,iBAAG,CAAC,CAAA;AAEpC,MAAM,cAAc;IAGlB,YAImB,QAAgB,EAIhB,UAAsB;QAJtB,aAAQ,GAAR,QAAQ,CAAQ;QAIhB,eAAU,GAAV,UAAU,CAAY;QAVxB,WAAM,GAAG,IAAI,GAAG,EAAE,CAAA;IAWhC,CAAC;IAEG,KAAK,CAAC,WAAW,CACtB,OAAyD;;QAEzD,MAAM,IAAI,CAAC,MAAM;aACd,WAAW,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;YACjE,cAAc,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;YAC/C,sBAAsB,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;YACvD,YAAY,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,YAAY;SAC5C,CAAC;aACD,OAAO,EAAE,CAAA;IACd,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,OAA8D;QAE9D,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBACjD,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC;oBACjB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;oBACzD,cAAc,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;oBAC/C,sBAAsB,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;oBACvD,YAAY,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,YAAY;iBAC5C,CAAC,CAAA;aAAA,CAAC;SACJ,CAAC,CAAA;IACJ,CAAC;CACF;AAED,kBAAe,cAAc,CAAA"}
|
|
@@ -3,6 +3,8 @@ import SetOptions from './types/SetOptions';
|
|
|
3
3
|
declare class RedisClient {
|
|
4
4
|
private readonly client;
|
|
5
5
|
private needsConnectionCounter;
|
|
6
|
+
private connectionPromise?;
|
|
7
|
+
private disconnectionPromise?;
|
|
6
8
|
private connect;
|
|
7
9
|
private disconnect;
|
|
8
10
|
constructor(client: RedisClientType);
|
|
@@ -8,13 +8,25 @@ class RedisClient {
|
|
|
8
8
|
async connect() {
|
|
9
9
|
this.needsConnectionCounter += 1;
|
|
10
10
|
if (this.needsConnectionCounter === 1) {
|
|
11
|
-
|
|
11
|
+
if (this.connectionPromise) {
|
|
12
|
+
await this.disconnectionPromise;
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
this.connectionPromise = this.client.connect();
|
|
16
|
+
await this.connectionPromise;
|
|
17
|
+
this.connectionPromise = undefined;
|
|
12
18
|
}
|
|
13
19
|
}
|
|
14
20
|
async disconnect() {
|
|
15
21
|
this.needsConnectionCounter -= 1;
|
|
16
22
|
if (!this.needsConnectionCounter) {
|
|
17
|
-
|
|
23
|
+
if (this.disconnectionPromise) {
|
|
24
|
+
await this.disconnectionPromise;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.disconnectionPromise = this.client.disconnect();
|
|
28
|
+
await this.disconnectionPromise;
|
|
29
|
+
this.disconnectionPromise = undefined;
|
|
18
30
|
}
|
|
19
31
|
}
|
|
20
32
|
async set(key, value, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedisClient.js","sourceRoot":"","sources":["../../../services/redis/RedisClient.ts"],"names":[],"mappings":";;AAIA,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"RedisClient.js","sourceRoot":"","sources":["../../../services/redis/RedisClient.ts"],"names":[],"mappings":"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"}
|