@golemio/core 1.2.12-dev.553077741 → 1.2.13-dev.556508296

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.
@@ -1,8 +1,9 @@
1
1
  import { HttpInstrumentation } from "@opentelemetry/instrumentation-http";
2
2
  import { IORedisInstrumentation } from "@opentelemetry/instrumentation-ioredis";
3
+ import { RedisInstrumentation } from "@opentelemetry/instrumentation-redis";
3
4
  import { ExpressInstrumentation } from "@opentelemetry/instrumentation-express";
4
5
  import { SequelizeInstrumentation } from "opentelemetry-instrumentation-sequelize";
5
6
  import { MongooseInstrumentation } from "opentelemetry-instrumentation-mongoose";
6
7
  import { AmqplibInstrumentation } from "@opentelemetry/instrumentation-amqplib";
7
8
  import { AwsInstrumentation } from "@opentelemetry/instrumentation-aws-sdk";
8
- export declare const getInstrumentation: () => (ExpressInstrumentation | HttpInstrumentation | SequelizeInstrumentation | MongooseInstrumentation | AmqplibInstrumentation | IORedisInstrumentation | AwsInstrumentation)[];
9
+ export declare const getInstrumentation: () => (ExpressInstrumentation | HttpInstrumentation | SequelizeInstrumentation | MongooseInstrumentation | AmqplibInstrumentation | IORedisInstrumentation | RedisInstrumentation | AwsInstrumentation)[];
@@ -4,6 +4,7 @@ exports.getInstrumentation = void 0;
4
4
  // Instrumentation
5
5
  const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
6
6
  const instrumentation_ioredis_1 = require("@opentelemetry/instrumentation-ioredis");
7
+ const instrumentation_redis_1 = require("@opentelemetry/instrumentation-redis");
7
8
  const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
8
9
  const opentelemetry_instrumentation_sequelize_1 = require("opentelemetry-instrumentation-sequelize");
9
10
  const opentelemetry_instrumentation_mongoose_1 = require("opentelemetry-instrumentation-mongoose");
@@ -19,6 +20,7 @@ const getInstrumentation = () => {
19
20
  new opentelemetry_instrumentation_mongoose_1.MongooseInstrumentation(configs_1.mongooseConfig),
20
21
  new instrumentation_amqplib_1.AmqplibInstrumentation(configs_1.amqplibConfig),
21
22
  new instrumentation_ioredis_1.IORedisInstrumentation(),
23
+ new instrumentation_redis_1.RedisInstrumentation(),
22
24
  new instrumentation_aws_sdk_1.AwsInstrumentation(configs_1.awsSdkConfig),
23
25
  ];
24
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/monitoring/opentelemetry/instrumentation/index.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AAClB,8EAA0E;AAC1E,oFAAgF;AAChF,oFAAgF;AAChF,qGAAmF;AACnF,mGAAiF;AACjF,oFAAgF;AAChF,oFAA4E;AAE5E,UAAU;AACV,uCAAqG;AAE9F,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACnC,OAAO;QACH,IAAI,gDAAsB,EAAE;QAC5B,IAAI,0CAAmB,CAAC,oBAAU,CAAC;QACnC,IAAI,kEAAwB,CAAC,yBAAe,CAAC;QAC7C,IAAI,gEAAuB,CAAC,wBAAc,CAAC;QAC3C,IAAI,gDAAsB,CAAC,uBAAa,CAAC;QACzC,IAAI,gDAAsB,EAAE;QAC5B,IAAI,4CAAkB,CAAC,sBAAY,CAAC;KACvC,CAAC;AACN,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/monitoring/opentelemetry/instrumentation/index.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AAClB,8EAA0E;AAC1E,oFAAgF;AAChF,gFAA4E;AAC5E,oFAAgF;AAChF,qGAAmF;AACnF,mGAAiF;AACjF,oFAAgF;AAChF,oFAA4E;AAE5E,UAAU;AACV,uCAAqG;AAE9F,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACnC,OAAO;QACH,IAAI,gDAAsB,EAAE;QAC5B,IAAI,0CAAmB,CAAC,oBAAU,CAAC;QACnC,IAAI,kEAAwB,CAAC,yBAAe,CAAC;QAC7C,IAAI,gEAAuB,CAAC,wBAAc,CAAC;QAC3C,IAAI,gDAAsB,CAAC,uBAAa,CAAC;QACzC,IAAI,gDAAsB,EAAE;QAC5B,IAAI,4CAAoB,EAAE;QAC1B,IAAI,4CAAkB,CAAC,sBAAY,CAAC;KACvC,CAAC;AACN,CAAC,CAAC;AAXW,QAAA,kBAAkB,sBAW7B"}
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.useCacheMiddleware = exports.CacheMiddleware = void 0;
7
- const apicache_plus_1 = __importDefault(require("apicache-plus"));
7
+ const apicache_1 = __importDefault(require("apicache"));
8
8
  const config_1 = require("../config");
9
9
  const Logger_1 = require("../Logger");
10
10
  const _1 = require("./");
@@ -12,7 +12,7 @@ class MyCacheMiddleware {
12
12
  constructor() {
13
13
  this.defaultCacheTtl = parseInt(config_1.config.redis_ttl || "60000", 10);
14
14
  // as default is used memory-cache
15
- this.cacheWithRedisMiddleware = apicache_plus_1.default.options({
15
+ this.cacheWithRedisMiddleware = apicache_1.default.options({
16
16
  defaultDuration: this.defaultCacheTtl.toString(),
17
17
  }).middleware;
18
18
  this.isNoCacheHeader = (req, res) => {
@@ -35,7 +35,7 @@ class MyCacheMiddleware {
35
35
  if (config_1.config.redis_enable) {
36
36
  this.redisClient = _1.RedisConnector.getConnection();
37
37
  // sets redis to apicache
38
- this.cacheWithRedisMiddleware = apicache_plus_1.default.options({
38
+ this.cacheWithRedisMiddleware = apicache_1.default.options({
39
39
  defaultDuration: this.defaultCacheTtl.toString(),
40
40
  redisClient: this.redisClient,
41
41
  }).middleware;
@@ -1 +1 @@
1
- {"version":3,"file":"CacheMiddleware.js","sourceRoot":"","sources":["../../../src/output-gateway/redis/CacheMiddleware.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAqC;AAGrC,sCAAoC;AACpC,sCAAiC;AACjC,yBAAoC;AAEpC,MAAM,iBAAiB;IAAvB;QACY,oBAAe,GAAW,QAAQ,CAAC,eAAM,CAAC,SAAS,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;QAI5E,kCAAkC;QAC1B,6BAAwB,GAAG,uBAAQ,CAAC,OAAO,CAAC;YAChD,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;SACnD,CAAC,CAAC,UAAU,CAAC;QAoBP,oBAAe,GAAG,CAAC,GAAY,EAAE,GAAa,EAAW,EAAE;YAC9D,MAAM,WAAW,GAAuB,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACrE,OAAO,WAAW,KAAK,UAAU,CAAC;QACtC,CAAC,CAAC;QAMM,eAAU,GAAG,CAAC,MAAwB,EAAE,EAAE;YAC9C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;oBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;oBACjF,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC9B;qBAAM;oBACH,IAAI,EAAE,CAAC;iBACV;YACL,CAAC,CAAC;QACN,CAAC,CAAC;IACN,CAAC;IArCU,IAAI;QACP,IAAI,eAAM,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,iBAAc,CAAC,aAAa,EAAE,CAAC;YAElD,yBAAyB;YACzB,IAAI,CAAC,wBAAwB,GAAG,uBAAQ,CAAC,OAAO,CAAC;gBAC7C,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;gBAChD,WAAW,EAAE,IAAI,CAAC,WAAW;aAChC,CAAC,CAAC,UAAU,CAAC;SACjB;aAAM;YACH,YAAG,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;SAC1E;IACL,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAOM,aAAa,CAAC,MAAwB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CAYJ;AAED,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAGvC,0CAAe;AAFxB,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAErE,gDAAkB"}
1
+ {"version":3,"file":"CacheMiddleware.js","sourceRoot":"","sources":["../../../src/output-gateway/redis/CacheMiddleware.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAGhC,sCAAoC;AACpC,sCAAiC;AACjC,yBAAoC;AAEpC,MAAM,iBAAiB;IAAvB;QACY,oBAAe,GAAW,QAAQ,CAAC,eAAM,CAAC,SAAS,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;QAI5E,kCAAkC;QAC1B,6BAAwB,GAAG,kBAAQ,CAAC,OAAO,CAAC;YAChD,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;SACnD,CAAC,CAAC,UAAU,CAAC;QAoBP,oBAAe,GAAG,CAAC,GAAY,EAAE,GAAa,EAAW,EAAE;YAC9D,MAAM,WAAW,GAAuB,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACrE,OAAO,WAAW,KAAK,UAAU,CAAC;QACtC,CAAC,CAAC;QAMM,eAAU,GAAG,CAAC,MAAwB,EAAE,EAAE;YAC9C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;oBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;oBACjF,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC9B;qBAAM;oBACH,IAAI,EAAE,CAAC;iBACV;YACL,CAAC,CAAC;QACN,CAAC,CAAC;IACN,CAAC;IArCU,IAAI;QACP,IAAI,eAAM,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,iBAAc,CAAC,aAAa,EAAE,CAAC;YAElD,yBAAyB;YACzB,IAAI,CAAC,wBAAwB,GAAG,kBAAQ,CAAC,OAAO,CAAC;gBAC7C,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;gBAChD,WAAW,EAAE,IAAI,CAAC,WAAW;aAChC,CAAC,CAAC,UAAU,CAAC;SACjB;aAAM;YACH,YAAG,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;SAC1E;IACL,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAOM,aAAa,CAAC,MAAwB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CAYJ;AAED,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAGvC,0CAAe;AAFxB,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAErE,gDAAkB"}
@@ -1,10 +1,11 @@
1
- import { Redis as RedisInstance } from "ioredis";
1
+ import { RedisClient } from "redis";
2
2
  declare class MyRedis {
3
3
  private connection?;
4
- connect: () => Promise<RedisInstance>;
5
- getConnection(): RedisInstance;
4
+ connect: () => Promise<RedisClient>;
5
+ getConnection(): RedisClient;
6
6
  isConnected(): boolean;
7
7
  disconnect(): Promise<void>;
8
+ private checkOnConnect;
8
9
  }
9
10
  declare const RedisConnector: MyRedis;
10
11
  export { RedisConnector };
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.RedisConnector = void 0;
16
16
  const errors_1 = require("@golemio/errors");
17
- const ioredis_1 = __importDefault(require("ioredis"));
17
+ const redis_1 = __importDefault(require("redis"));
18
18
  const config_1 = require("../config");
19
19
  const Logger_1 = require("../Logger");
20
20
  class MyRedis {
@@ -27,22 +27,32 @@ class MyRedis {
27
27
  if (!config_1.config.redis_connection) {
28
28
  throw new errors_1.CustomError("The ENV variable REDIS_CONN cannot be undefined.", true, this.constructor.name);
29
29
  }
30
- this.connection = new ioredis_1.default(config_1.config.redis_connection);
31
- this.connection.on("message", (message) => {
32
- Logger_1.log.verbose(message);
33
- });
34
- this.connection.on("error", (err) => {
35
- Logger_1.log.error("Redis connection error", err);
36
- });
37
- this.connection.on("connect", () => {
38
- Logger_1.log.info("Connected to Redis!");
39
- });
30
+ this.connection = redis_1.default
31
+ .createClient(config_1.config.redis_connection || "")
32
+ .on("message", (message) => Logger_1.log.info(message))
33
+ .on("error", (error) => Logger_1.log.warn(error))
34
+ .on("connect", () => Logger_1.log.info("Connected to Redis!"));
35
+ // waiting to redis connection is completed
36
+ const delay = 500; // millis
37
+ const attemps = 4;
38
+ yield new Promise((resolve, reject) => this.checkOnConnect(attemps, attemps, delay)(resolve, reject));
40
39
  return this.connection;
41
40
  }
42
41
  catch (err) {
43
42
  throw new errors_1.CustomError("Error while connecting to Redis.", false, this.constructor.name, 1001, err);
44
43
  }
45
44
  });
45
+ this.checkOnConnect = (retry, attemps, delay) => (resolve, reject) => {
46
+ if (this.isConnected()) {
47
+ return resolve();
48
+ }
49
+ else if (retry <= 0) {
50
+ reject(`Failed to connect to Redis after ${attemps * delay} millis.`);
51
+ }
52
+ else {
53
+ setTimeout(() => this.checkOnConnect(retry - 1, attemps, delay)(resolve, reject), delay);
54
+ }
55
+ };
46
56
  }
47
57
  getConnection() {
48
58
  if (!this.connection) {
@@ -51,7 +61,7 @@ class MyRedis {
51
61
  return this.connection;
52
62
  }
53
63
  isConnected() {
54
- return !!this.connection && this.connection.status === "ready";
64
+ return !!this.connection && this.connection.connected;
55
65
  }
56
66
  disconnect() {
57
67
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"RedisConnector.js","sourceRoot":"","sources":["../../../src/output-gateway/redis/RedisConnector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA8C;AAC9C,sDAAwD;AACxD,sCAAoC;AACpC,sCAAiC;AAEjC,MAAM,OAAO;IAAb;QAGW,YAAO,GAAG,GAAiC,EAAE;YAChD,IAAI;gBACA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,OAAO,IAAI,CAAC,UAAU,CAAC;iBAC1B;gBAED,IAAI,CAAC,eAAM,CAAC,gBAAgB,EAAE;oBAC1B,MAAM,IAAI,oBAAW,CAAC,kDAAkD,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBAC1G;gBAED,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAK,CAAC,eAAM,CAAC,gBAAgB,CAAC,CAAC;gBACrD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;oBACtC,YAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBAChC,YAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;oBAC/B,YAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,oBAAW,CAAC,kCAAkC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACtG;QACL,CAAC,CAAA,CAAC;IAwBN,CAAC;IAtBU,aAAa;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,MAAM,IAAI,oBAAW,CACjB,gEAAgE,EAChE,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CACP,CAAC;SACL;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,WAAW;QACd,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC;IACnE,CAAC;IAEY,UAAU;;YACnB,YAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aAChC;QACL,CAAC;KAAA;CACJ;AAED,MAAM,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;AAE5B,wCAAc"}
1
+ {"version":3,"file":"RedisConnector.js","sourceRoot":"","sources":["../../../src/output-gateway/redis/RedisConnector.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,19 @@ class GeoJsonRouter extends BaseRouter_1.BaseRouter {
34
34
  (0, check_1.query)("updatedSince").optional().isISO8601(),
35
35
  (0, check_1.query)("districts").optional(),
36
36
  (0, check_1.query)("districts.*").isString(),
37
- (0, check_1.query)("ids").optional(),
37
+ (0, check_1.query)("ids")
38
+ .optional()
39
+ .custom((value) => {
40
+ if (Array.isArray(value)) {
41
+ if (!value.every((el) => Number.isInteger(+el))) {
42
+ throw new Error("Array contains a non-numeric id");
43
+ }
44
+ }
45
+ else if (!Number.isInteger(+value)) {
46
+ throw new Error("Non-numeric id");
47
+ }
48
+ return true;
49
+ }),
38
50
  (0, check_1.query)("latlng").optional().isString(),
39
51
  (0, check_1.query)("range").optional().isNumeric(),
40
52
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"GeoJsonRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/routes/GeoJsonRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoJsonRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/routes/GeoJsonRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAA2C;AAC3C,sCAAiC;AAEjC,oCAA+C;AAC/C,6CAAmD;AACnD,8CAAoF;AACpF,qCAAkE;AAClE,mDAAwE;AACxE,mCAAkC;AAGlC;;;;;;GAMG;AACH,MAAa,aAAc,SAAQ,uBAAU;IA2BzC,YAAmB,OAAsB;QACrC,KAAK,EAAE,CAAC;QA3BZ,iDAAiD;QAC1C,WAAM,GAAW,IAAA,gBAAM,GAAE,CAAC;QAIvB,mBAAc,GAAG;YACvB,IAAA,aAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;YAC5C,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;YAC7B,IAAA,aAAK,EAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;YAC/B,IAAA,aAAK,EAAC,KAAK,CAAC;iBACP,QAAQ,EAAE;iBACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACtB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;wBAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;qBACtD;iBACJ;qBAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE;oBAClC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;iBACrC;gBAED,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC;YACN,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YACrC,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;SACxC,CAAC;QAOF;;;WAGG;QACI,eAAU,GAAG,CAAO,MAAwB,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH,IAAA,0BAAkB,EAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,cAAc,EACnB,uBAAU,EACV,IAAA,sCAAyB,EAAC,eAAe,CAAC,EAC1C,wBAAW,EACX,IAAI,CAAC,MAAM,CACd,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,MAAM,EACN,IAAA,0BAAkB,EAAC,MAAM,CAAC,EAC1B;gBACI,2EAA2E;gBAC3E,OAAO;aACV,EACD,wBAAW,EACX,IAAI,CAAC,MAAM,CACd,CAAC;QACN,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACtE,qBAAqB;YACrB,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAe,CAAC;YACpC,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAqB,CAAC;YAEhD,IAAI,SAAS,EAAE;gBACX,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;aAC9C;YACD,IAAI,GAAG,EAAE;gBACL,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;aAClC;YACD,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAgB,EAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,EAAE,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;gBAC7F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBACjC,SAAS;oBACT,GAAG,EAAE,GAAY;oBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,KAAK,EAAE,IAAA,iBAAQ,EAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;oBAChC,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,MAAM,EAAE,IAAA,iBAAQ,EAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;oBAClC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,YAAsB;iBAClB,CAAC,CAAC;gBAElC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAChE,MAAM,EAAE,GAAW,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAEjC,IAAI,CAAC,KAAK;iBACL,MAAM,CAAC,EAAE,CAAC;iBACV,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACX,CAAC,CAAC;QAEQ,mCAA8B,GAAG,GAAmC,EAAE;YAC5E,IAAI,OAAwB,CAAC;YAE7B,wDAAwD;YACxD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,OAAO,GAAW,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,WAAW,GAAG,KAAK,GAAG,YAAY,CAAC;YACnG,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAEpE,IAAI,iBAAiB,EAAE;gBACnB,OAAO,IAAI,SAAS,CAAC;gBACrB,2DAA2D;gBAC3D,OAAO,GAAG,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;aAC9C;iBAAM;gBACH,OAAO,IAAI,SAAS,CAAC;gBACrB,2DAA2D;gBAC3D,OAAO,GAAG,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;aAC7C;YACD,YAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,OAAO,CAAC;QACnB,CAAC,CAAA,CAAC;QA5FE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACzB,CAAC;CA4FJ;AA1HD,sCA0HC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/core",
3
- "version": "1.2.12-dev.553077741",
3
+ "version": "1.2.13-dev.556508296",
4
4
  "description": "Golemio Core Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -32,6 +32,7 @@
32
32
  "@golemio/eslint-config": "^1.1.0",
33
33
  "@ovos-media/ts-transform-paths": "^1.7.18-1",
34
34
  "@types/amqplib": "^0.5.17",
35
+ "@types/apicache": "^1.6.1",
35
36
  "@types/chai": "4.2.3",
36
37
  "@types/chai-as-promised": "7.1.2",
37
38
  "@types/content-type": "^1.1.3",
@@ -77,6 +78,7 @@
77
78
  "@opentelemetry/instrumentation-http": "^0.27.0",
78
79
  "@opentelemetry/instrumentation-ioredis": "^0.28.0",
79
80
  "@opentelemetry/instrumentation-pg": "^0.28.0",
81
+ "@opentelemetry/instrumentation-redis": "^0.29.0",
80
82
  "@opentelemetry/resources": "^1.2.0",
81
83
  "@opentelemetry/sdk-trace-base": "^1.2.0",
82
84
  "@opentelemetry/sdk-trace-node": "^1.2.0",
@@ -87,7 +89,7 @@
87
89
  "@types/request-promise": "^4.1.45",
88
90
  "ajv": "^8.10.0",
89
91
  "amqplib": "^0.7.1",
90
- "apicache-plus": "^2.3.1",
92
+ "apicache": "^1.6.3",
91
93
  "aws-sdk": "^2.823.0",
92
94
  "axios": "^0.24.0",
93
95
  "basic-ftp": "^4.6.6",
@@ -113,6 +115,7 @@
113
115
  "path-to-regexp": "^6.2.0",
114
116
  "pg": "^8.6.0",
115
117
  "prom-client": "^14.0.0",
118
+ "redis": "^3.1.1",
116
119
  "request": "2.88.0",
117
120
  "request-promise": "^4.2.5",
118
121
  "sequelize": "^6.6.5",