@trunkrs/common 1.6.12 → 1.6.15

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trunkrs/common",
3
- "version": "1.6.12",
3
+ "version": "1.6.15",
4
4
  "description": "Common standards library for development in Trunkrs",
5
5
  "types": "./index.d.ts",
6
6
  "repository": "https://github.com/Trunkrs/common.git",
@@ -1,7 +1,7 @@
1
+ import { ResponseType } from 'axios';
1
2
  import Cache from '../../utils/caching/Cache';
2
- import { HttpClient, HttpRequestParams } from './HttpClient';
3
+ import { HttpClient } from './HttpClient';
3
4
  import MachineTokenClient from './MachineTokenClient';
4
- declare type ResponseType = HttpRequestParams['responseType'];
5
5
  declare class MachineClient {
6
6
  protected readonly machineTokenClient: MachineTokenClient;
7
7
  protected readonly httpClient: HttpClient;
@@ -9,7 +9,6 @@ declare class MachineClient {
9
9
  protected readonly secretCacheKey: string;
10
10
  protected readonly baseUrl: string;
11
11
  protected bearerTokenInterceptorId?: number;
12
- private tokenResponseInterceptorId?;
13
12
  constructor(machineTokenClient: MachineTokenClient, httpClient: HttpClient, cache: Cache, secretCacheKey: string, baseUrl: string);
14
13
  protected createUrl(resource: string): string;
15
14
  protected get axiosClient(): import("axios").AxiosInstance;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tokens_1 = require("../../utils/tokens");
4
3
  class MachineClient {
5
4
  constructor(machineTokenClient, httpClient, cache, secretCacheKey, baseUrl) {
6
5
  this.machineTokenClient = machineTokenClient;
@@ -60,14 +59,9 @@ class MachineClient {
60
59
  return token;
61
60
  }
62
61
  async checkBearerToken() {
63
- let token = await this.getBearerToken();
64
- if ((0, tokens_1.isExpired)(token)) {
65
- await this.cache.remove(this.secretCacheKey);
66
- token = await this.getBearerToken();
67
- }
68
- if (this.bearerTokenInterceptorId && this.tokenResponseInterceptorId) {
62
+ const token = await this.getBearerToken();
63
+ if (this.bearerTokenInterceptorId) {
69
64
  this.axiosClient.interceptors.request.eject(this.bearerTokenInterceptorId);
70
- this.axiosClient.interceptors.response.eject(this.tokenResponseInterceptorId);
71
65
  }
72
66
  this.bearerTokenInterceptorId = this.axiosClient.interceptors.request.use((config) => {
73
67
  const modifiedHeaders = {
@@ -76,15 +70,6 @@ class MachineClient {
76
70
  };
77
71
  return Object.assign(config, { headers: modifiedHeaders });
78
72
  });
79
- this.tokenResponseInterceptorId =
80
- this.axiosClient.interceptors.response.use(async (response) => {
81
- if (response.status !== 401) {
82
- return response;
83
- }
84
- await this.cache.remove(this.secretCacheKey);
85
- await this.checkBearerToken();
86
- return this.axiosClient.request(response.config);
87
- });
88
73
  }
89
74
  }
90
75
  exports.default = MachineClient;
@@ -1 +1 @@
1
- {"version":3,"file":"MachineClient.js","sourceRoot":"","sources":["../../../services/client/MachineClient.ts"],"names":[],"mappings":";;AAOA,+CAA8C;AAI9C,MAAM,aAAa;IAKjB,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,gBAAgB,EAAE,CAAA;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAY;YAChD,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC7B,OAAO;YACP,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,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,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;SACR,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,GAAG,CACd,QAAgB,EAChB,IAAc,EACd,OAA6B;QAE7B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,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;SACR,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,QAAgB,EAChB,OAA6B;QAE7B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC3B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC7B,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAES,KAAK,CAAC,cAAc;QAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;YAChE,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,OAAO,KAAK,CAAA;IACd,CAAC;IAES,KAAK,CAAC,gBAAgB;QAC9B,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QACvC,IAAI,IAAA,kBAAS,EAAC,KAAK,CAAC,EAAE;YACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC5C,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;SACpC;QAED,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACpE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;YAC1E,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAC1C,IAAI,CAAC,0BAA0B,CAChC,CAAA;SACF;QAED,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CACvE,CAAC,MAAM,EAAE,EAAE;YACT,MAAM,eAAe,GAAG;gBACtB,GAAG,MAAM,CAAC,OAAO;gBACjB,aAAa,EAAE,UAAU,KAAK,EAAE;aACjC,CAAA;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;QAC5D,CAAC,CACF,CAAA;QACD,IAAI,CAAC,0BAA0B;YAC7B,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACxC,KAAK,EAAE,QAAQ,EAA0B,EAAE;gBACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;oBAC3B,OAAO,QAAQ,CAAA;iBAChB;gBAED,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBAC5C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBAE7B,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClD,CAAC,CACF,CAAA;IACL,CAAC;CACF;AAED,kBAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"MachineClient.js","sourceRoot":"","sources":["../../../services/client/MachineClient.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { Segment, Subsegment } from 'aws-xray-sdk';
1
+ import { Subsegment, SegmentLike } from 'aws-xray-sdk';
2
2
  import { MiddlewareLayer } from './handlers/HttpHandlerBuilder/types';
3
3
  declare class SegmentStack {
4
4
  private readonly stack;
5
- get current(): Segment | Subsegment | undefined;
5
+ get current(): SegmentLike | undefined;
6
6
  prepare(): void;
7
- addSegment(segment: Segment | Subsegment): void;
7
+ addSegment(name: string, parent?: SegmentLike): Subsegment;
8
8
  closeSegment(error?: unknown): void;
9
- tracePromise<TResult>(name: string, promise: Promise<TResult>, parent?: Segment | Subsegment): Promise<TResult>;
10
- traceAsyncFunction<TArgs extends any[], TResult = never>(methodName: string, fn: (...args: TArgs) => Promise<TResult>, parent?: Segment | Subsegment): (...args: TArgs) => Promise<TResult>;
9
+ tracePromise<TResult>(name: string, promise: Promise<TResult>, parent?: SegmentLike): Promise<TResult>;
10
+ traceAsyncFunction<TArgs extends any[], TResult = never>(methodName: string, fn: (...args: TArgs) => Promise<TResult>, parent?: SegmentLike): (...args: TArgs) => Promise<TResult>;
11
11
  middleWare: MiddlewareLayer;
12
12
  }
13
13
  declare const Tracing: SegmentStack;
package/utils/tracing.js CHANGED
@@ -28,31 +28,31 @@ class SegmentStack {
28
28
  console.warn(`[Tracing]: ${error.message}`);
29
29
  }
30
30
  }
31
- addSegment(segment) {
32
- this.stack.push(segment);
31
+ addSegment(name, parent) {
32
+ var _a;
33
+ const subSeg = (_a = (parent !== null && parent !== void 0 ? parent : this.current)) === null || _a === void 0 ? void 0 : _a.addNewSubsegment(name);
34
+ this.stack.push(subSeg);
35
+ return subSeg;
33
36
  }
34
37
  closeSegment(error) {
35
38
  const segment = this.stack.pop();
36
39
  segment === null || segment === void 0 ? void 0 : segment.close(error);
37
40
  }
38
41
  tracePromise(name, promise, parent) {
39
- return aws_xray_sdk_1.default.captureAsyncFunc(name, (segment) => {
40
- if (segment)
41
- this.addSegment(segment);
42
- return promise
43
- .then((result) => {
44
- this.closeSegment();
45
- return result;
46
- })
47
- .catch((error) => {
48
- this.closeSegment(error);
49
- throw error;
50
- });
51
- }, parent !== null && parent !== void 0 ? parent : this.current);
42
+ this.addSegment(name, parent);
43
+ return promise
44
+ .then((result) => {
45
+ this.closeSegment();
46
+ return result;
47
+ })
48
+ .catch((error) => {
49
+ this.closeSegment(error);
50
+ throw error;
51
+ });
52
52
  }
53
53
  traceAsyncFunction(methodName, fn, parent) {
54
54
  return (...args) => {
55
- return this.tracePromise(methodName, fn(...args), parent !== null && parent !== void 0 ? parent : this.current);
55
+ return this.tracePromise(methodName, fn(...args), parent);
56
56
  };
57
57
  }
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../utils/tracing.ts"],"names":[],"mappings":";;;;;AACA,gEAAwD;AAGxD,MAAM,YAAY;IAAlB;QACmB,UAAK,GAAgC,EAAE,CAAA;QAiEjD,eAAU,GAAoB,GAAG,EAAE;YACxC,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC,CAAA;IACH,CAAC;IAlEC,IAAW,OAAO;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,sBAAI,CAAC,UAAU,EAAE,CAAA;SACzB;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC1C,CAAC;IAEM,OAAO;QACZ,IAAI;YACF,sBAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAA;YAE3C,sBAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;YACxC,sBAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;YACzC,sBAAI,CAAC,cAAc,EAAE,CAAA;SACtB;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,cAAe,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;SACvD;IACH,CAAC;IAEM,UAAU,CAAC,OAA6B;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAEM,YAAY,CAAC,KAAe;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAChC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,KAA0B,CAAC,CAAA;IAC5C,CAAC;IAEM,YAAY,CACjB,IAAY,EACZ,OAAyB,EACzB,MAA6B;QAE7B,OAAO,sBAAI,CAAC,gBAAgB,CAC1B,IAAI,EACJ,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,OAAO;gBAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAErC,OAAO,OAAO;iBACX,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,YAAY,EAAE,CAAA;gBACnB,OAAO,MAAM,CAAA;YACf,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;gBACxB,MAAM,KAAK,CAAA;YACb,CAAC,CAAC,CAAA;QACN,CAAC,EACD,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,OAAO,CACvB,CAAA;IACH,CAAC;IAEM,kBAAkB,CACvB,UAAkB,EAClB,EAAwC,EACxC,MAA6B;QAE7B,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;YACxB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3E,CAAC,CAAA;IACH,CAAC;CAKF;AAED,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAA;AAElC,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../utils/tracing.ts"],"names":[],"mappings":";;;;;AACA,gEAA4D;AAG5D,MAAM,YAAY;IAAlB;QACmB,UAAK,GAAuB,EAAE,CAAA;QAgExC,eAAU,GAAoB,GAAG,EAAE;YACxC,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC,CAAA;IACH,CAAC;IAjEC,IAAW,OAAO;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,sBAAI,CAAC,UAAU,EAAE,CAAA;SACzB;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC1C,CAAC;IAEM,OAAO;QACZ,IAAI;YACF,sBAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAA;YAE3C,sBAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;YACxC,sBAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;YACzC,sBAAI,CAAC,cAAc,EAAE,CAAA;SACtB;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,cAAe,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;SACvD;IACH,CAAC;IAEM,UAAU,CAAC,IAAY,EAAE,MAAoB;;QAClD,MAAM,MAAM,GAAG,MAAA,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAK,IAAI,CAAC,OAAuB,CAAC,0CAAE,gBAAgB,CACxE,IAAI,CACL,CAAA;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvB,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,YAAY,CAAC,KAAe;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAChC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,KAA0B,CAAC,CAAA;IAC5C,CAAC;IAEM,YAAY,CACjB,IAAY,EACZ,OAAyB,EACzB,MAAoB;QAEpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAE7B,OAAO,OAAO;aACX,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,OAAO,MAAM,CAAA;QACf,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YACxB,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,kBAAkB,CACvB,UAAkB,EAClB,EAAwC,EACxC,MAAoB;QAEpB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;YACxB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;QAC3D,CAAC,CAAA;IACH,CAAC;CAKF;AAED,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAA;AAElC,kBAAe,OAAO,CAAA"}