@trunkrs/common 1.4.23 → 1.4.27

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.4.23",
3
+ "version": "1.4.27",
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",
@@ -33,7 +33,7 @@ exports.Logger = service_provider_1.default.createSymbol('Logger');
33
33
  exports.Serializer = service_provider_1.default.createSymbol('Serializer');
34
34
  exports.HttpClient = service_provider_1.default.createSymbol('HttpClient');
35
35
  const utilsProvider = new service_provider_1.default();
36
- utilsProvider.register(exports.HttpClient, service_provider_1.Lifecycle.Singleton, () => new AxiosClient_1.default());
36
+ utilsProvider.register(exports.HttpClient, service_provider_1.Lifecycle.Transient, () => new AxiosClient_1.default());
37
37
  utilsProvider.register(exports.Logger, service_provider_1.Lifecycle.Singleton, () => new logging_1.ConsoleLogger());
38
38
  utilsProvider.register(exports.Serializer, service_provider_1.Lifecycle.Singleton, () => new serialization_1.JSONSerializer());
39
39
  utilsProvider.register(caching_1.MemoryCache, service_provider_1.Lifecycle.Singleton);
@@ -7,9 +7,14 @@ 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
- const response = await this.put(`/${service}/private/query`, {
11
- query,
12
- params,
10
+ await this.checkBearerToken();
11
+ const response = await this.httpClient.put({
12
+ url: this.createUrl(`/${service}/private/query`),
13
+ params: {
14
+ query,
15
+ params,
16
+ },
17
+ timeout: 30000,
13
18
  });
14
19
  if (!response.result) {
15
20
  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,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAG7B,IAAI,OAAO,gBAAgB,EAAE;YAC7B,KAAK;YACL,MAAM;SACP,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"}
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,gBAAgB,EAAE,CAAA;QAE7B,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;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"}
@@ -10,7 +10,7 @@ declare class MachineClient {
10
10
  protected readonly baseUrl: string;
11
11
  private bearerTokenInterceptorId?;
12
12
  constructor(machineTokenClient: MachineTokenClient, httpClient: HttpClient, cache: Cache, secretCacheKey: string, baseUrl: string);
13
- private createUrl;
13
+ protected createUrl(resource: string): string;
14
14
  private get axiosClient();
15
15
  get<TResponse, TRequest = any>(resource: string, parameters?: TRequest, headers?: Record<string, any>, responseType?: ResponseType): Promise<TResponse>;
16
16
  post<TRequest = any, TResponse = unknown>(resource: string, body: TRequest, headers?: Record<string, any>): Promise<TResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"MachineClient.js","sourceRoot":"","sources":["../../../services/client/MachineClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MachineClient.js","sourceRoot":"","sources":["../../../services/client/MachineClient.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const isAfter_1 = __importDefault(require("date-fns/isAfter"));
6
+ const isBefore_1 = __importDefault(require("date-fns/isBefore"));
7
7
  const addMilliseconds_1 = __importDefault(require("date-fns/addMilliseconds"));
8
8
  class Cache {
9
9
  constructor(stalenessTimeout) {
@@ -16,7 +16,7 @@ class Cache {
16
16
  };
17
17
  }
18
18
  isValidItem(item) {
19
- return (0, isAfter_1.default)(new Date(), item.expiration);
19
+ return (0, isBefore_1.default)(new Date(), item.expiration);
20
20
  }
21
21
  }
22
22
  exports.default = Cache;
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../utils/caching/Cache.ts"],"names":[],"mappings":";;;;;AAAA,+DAAsC;AACtC,+EAAsD;AAOtD,MAAe,KAAK;IAClB,YAAyC,gBAAwB;QAAxB,qBAAgB,GAAhB,gBAAgB,CAAQ;IAAG,CAAC;IA8C3D,UAAU,CAAS,QAAgB;QAC3C,OAAO;YACL,UAAU,EAAE,IAAA,yBAAe,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC;YAC9D,KAAK,EAAE,QAAQ;SAChB,CAAA;IACH,CAAC;IAES,WAAW,CAAC,IAAe;QACnC,OAAO,IAAA,iBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC7C,CAAC;CACF;AAED,kBAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../utils/caching/Cache.ts"],"names":[],"mappings":";;;;;AAAA,iEAAwC;AACxC,+EAAsD;AAOtD,MAAe,KAAK;IAClB,YAAyC,gBAAwB;QAAxB,qBAAgB,GAAhB,gBAAgB,CAAQ;IAAG,CAAC;IA8C3D,UAAU,CAAS,QAAgB;QAC3C,OAAO;YACL,UAAU,EAAE,IAAA,yBAAe,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC;YAC9D,KAAK,EAAE,QAAQ;SAChB,CAAA;IACH,CAAC;IAES,WAAW,CAAC,IAAe;QACnC,OAAO,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;CACF;AAED,kBAAe,KAAK,CAAA"}
@@ -1,6 +1,6 @@
1
- import Cache from './Cache';
1
+ import Cache, { CacheItem } from './Cache';
2
2
  declare class MemoryCache extends Cache {
3
- private readonly cache;
3
+ protected readonly cache: Map<string, CacheItem>;
4
4
  constructor(stalenessTimeout?: number);
5
5
  hasKey(key: string): Promise<boolean>;
6
6
  add<TValue>(key: string, value: TValue): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryCache.js","sourceRoot":"","sources":["../../../utils/caching/MemoryCache.ts"],"names":[],"mappings":";;;;;AAAA,oDAA0C;AAE1C,MAAM,WAAY,SAAQ,eAAK;IAG7B,YAAmB,gBAAgB,GAAG,CAAC;QACrC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAHR,UAAK,GAA2B,IAAI,GAAG,EAAqB,CAAA;IAI7E,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAE3D,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAEM,GAAG,CAAS,GAAW,EAAE,KAAa;QAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QAE3C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAEM,GAAG,CAAS,GAAW;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAE1D,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aACjB;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SAC7B;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAA2B,CAAA;IACrE,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,GAAW,EACX,OAA8B;QAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAE1D,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,KAAK,GAAG,MAAM,OAAO,EAAE,CAAA;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;YAE3C,OAAO,KAAK,CAAA;SACb;QAED,OAAO,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAe,CAAA;IACpC,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"MemoryCache.js","sourceRoot":"","sources":["../../../utils/caching/MemoryCache.ts"],"names":[],"mappings":";;;;;AAAA,oDAA0C;AAE1C,MAAM,WAAY,SAAQ,eAAK;IAG7B,YAAmB,gBAAgB,GAAG,CAAC;QACrC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAHN,UAAK,GAA2B,IAAI,GAAG,EAAqB,CAAA;IAI/E,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAE3D,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAEM,GAAG,CAAS,GAAW,EAAE,KAAa;QAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QAE3C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAEM,GAAG,CAAS,GAAW;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAE1D,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aACjB;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SAC7B;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAA2B,CAAA;IACrE,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,GAAW,EACX,OAA8B;QAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAE1D,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,KAAK,GAAG,MAAM,OAAO,EAAE,CAAA;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;YAE3C,OAAO,KAAK,CAAA;SACb;QAED,OAAO,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAe,CAAA;IACpC,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AAED,kBAAe,WAAW,CAAA"}