@zorionapp/gg-core 4.21.0 → 4.72.1

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.
Files changed (33) hide show
  1. package/package.json +5 -3
  2. package/src/gg-cache/gg-cache.module.js +4 -1
  3. package/src/gg-cache/gg-cache.module.js.map +1 -1
  4. package/src/gg-database/config/mikroorm.config.d.ts +1 -0
  5. package/src/gg-database/config/mikroorm.config.js +6 -0
  6. package/src/gg-database/config/mikroorm.config.js.map +1 -1
  7. package/src/gg-database/modules/mikroorm.module.js +5 -1
  8. package/src/gg-database/modules/mikroorm.module.js.map +1 -1
  9. package/src/gg-healthchecks/gg-healthchecks.controller.js +2 -0
  10. package/src/gg-healthchecks/gg-healthchecks.controller.js.map +1 -1
  11. package/src/gg-metrics/gg-metrics.controller.js +2 -0
  12. package/src/gg-metrics/gg-metrics.controller.js.map +1 -1
  13. package/src/gg-micro/micro.client.d.ts +3 -1
  14. package/src/gg-micro/micro.client.js +10 -4
  15. package/src/gg-micro/micro.client.js.map +1 -1
  16. package/src/gg-redlock/index.d.ts +2 -0
  17. package/src/gg-redlock/index.js +6 -0
  18. package/src/gg-redlock/index.js.map +1 -0
  19. package/src/gg-redlock/redlock.config.d.ts +5 -0
  20. package/src/gg-redlock/redlock.config.js +22 -0
  21. package/src/gg-redlock/redlock.config.js.map +1 -0
  22. package/src/gg-redlock/redlock.module.d.ts +3 -0
  23. package/src/gg-redlock/redlock.module.js +17 -0
  24. package/src/gg-redlock/redlock.module.js.map +1 -0
  25. package/src/gg-redlock/redlock.options.d.ts +8 -0
  26. package/src/gg-redlock/redlock.options.js +13 -0
  27. package/src/gg-redlock/redlock.options.js.map +1 -0
  28. package/src/gg-redlock/redlock.service.d.ts +20 -0
  29. package/src/gg-redlock/redlock.service.js +103 -0
  30. package/src/gg-redlock/redlock.service.js.map +1 -0
  31. package/src/index.d.ts +1 -0
  32. package/src/index.js +1 -0
  33. package/src/index.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zorionapp/gg-core",
3
- "version": "4.21.0",
3
+ "version": "4.72.1",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
6
  "cache-manager": "5.2.4",
@@ -33,7 +33,7 @@
33
33
  "@nestjs/platform-express": "^8.0.0 || ^9.0.0 || ^10.0.0",
34
34
  "@nestjs/swagger": "^6.0.0 || ^7.0.0",
35
35
  "@nestjs/terminus": "^8.0.0 || ^9.0.0 || ^10.0.0",
36
- "@nestjs/throttler": "^3.0.0 || ^4.0.0",
36
+ "@nestjs/throttler": "^6.0.0",
37
37
  "@willsoto/nestjs-prometheus": "^5.5.1",
38
38
  "axios": "^1.0.0",
39
39
  "class-transformer": "^0.5.1",
@@ -52,7 +52,9 @@
52
52
  "ts-enum-util": "^4.0.2",
53
53
  "uuid": "^9.0.0",
54
54
  "yaml": "^2.3.1",
55
- "kutt": "^3.0.2"
55
+ "kutt": "^3.0.2",
56
+ "redis-semaphore": "^5.6.1",
57
+ "ioredis": "^5.4.2"
56
58
  },
57
59
  "main": "./src/index.js"
58
60
  }
@@ -11,6 +11,7 @@ const luxon_1 = require("luxon");
11
11
  const redis_1 = require("redis");
12
12
  const gg_cache_service_1 = require("./gg-cache.service");
13
13
  const redis_config_1 = require("./redis.config");
14
+ const PING_INTERVAL_SECONDS = 60;
14
15
  let GgCacheModule = GgCacheModule_1 = class GgCacheModule {
15
16
  static forRoot() {
16
17
  return {
@@ -25,6 +26,7 @@ let GgCacheModule = GgCacheModule_1 = class GgCacheModule {
25
26
  useFactory: async (redisConf) => {
26
27
  const client = (0, redis_1.createClient)({
27
28
  socket: { host: redisConf.host, port: redisConf.port },
29
+ pingInterval: luxon_1.Duration.fromObject({ second: PING_INTERVAL_SECONDS }).as('milliseconds'),
28
30
  });
29
31
  client.on('error', (err) => {
30
32
  console.error('Redis Client Error', err);
@@ -34,13 +36,14 @@ let GgCacheModule = GgCacheModule_1 = class GgCacheModule {
34
36
  }
35
37
  catch (error) {
36
38
  throw new exceptions_1.RuntimeException('Error connecting to Redis');
39
+ console.error('Redis connecting Error', error);
37
40
  }
38
41
  return {
39
42
  socket: { host: redisConf.host, port: redisConf.port },
40
43
  client,
41
44
  store: cache_manager_redis_yet_1.redisStore,
42
45
  ttl: luxon_1.Duration.fromObject({ minute: 1 }).as('milliseconds'),
43
- pingInterval: luxon_1.Duration.fromObject({ second: 1 }).as('milliseconds'),
46
+ pingInterval: luxon_1.Duration.fromObject({ second: PING_INTERVAL_SECONDS }).as('milliseconds'),
44
47
  };
45
48
  },
46
49
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"gg-cache.module.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-cache/gg-cache.module.ts"],"names":[],"mappings":";;;;;AAAA,yDAAoD;AACpD,2CAAuD;AAEvD,+DAAkE;AAClE,qEAAqD;AACrD,iCAAiC;AACjC,iCAAyD;AACzD,yDAAoD;AACpD,iDAA6C;AAGtC,IAAM,aAAa,qBAAnB,MAAM,aAAa;IACjB,MAAM,CAAC,OAAO;QACnB,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC,iCAAc,CAAC;YAC3B,OAAO,EAAE,CAAC,iCAAc,CAAC;YACzB,OAAO,EAAE;gBACP,2BAAW,CAAC,aAAa,CAAqB;oBAC5C,MAAM,EAAE,CAAC,0BAAW,CAAC,GAAG,CAAC;oBACzB,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,KAAK,EAAE,SAAyC,EAAE,EAAE;wBAC9D,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC;4BAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;yBACvD,CAAC,CAAC;wBAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;4BACzB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;wBAC3C,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;wBACzB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,IAAI,6BAAgB,CAAC,2BAA2B,CAAC,CAAC;wBAC1D,CAAC;wBAED,OAAO;4BACL,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;4BACtD,MAAM;4BACN,KAAK,EAAE,oCAAU;4BACjB,GAAG,EAAE,gBAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;4BAC1D,YAAY,EAAE,gBAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;yBACpE,CAAC;oBACJ,CAAC;iBACF,CAAC;aACH;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAtCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CAsCzB"}
1
+ {"version":3,"file":"gg-cache.module.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-cache/gg-cache.module.ts"],"names":[],"mappings":";;;;;AAAA,yDAAoD;AACpD,2CAAuD;AAEvD,+DAAkE;AAClE,qEAAqD;AACrD,iCAAiC;AACjC,iCAAyD;AACzD,yDAAoD;AACpD,iDAA6C;AAE7C,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAG1B,IAAM,aAAa,qBAAnB,MAAM,aAAa;IACjB,MAAM,CAAC,OAAO;QACnB,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC,iCAAc,CAAC;YAC3B,OAAO,EAAE,CAAC,iCAAc,CAAC;YACzB,OAAO,EAAE;gBACP,2BAAW,CAAC,aAAa,CAAqB;oBAC5C,MAAM,EAAE,CAAC,0BAAW,CAAC,GAAG,CAAC;oBACzB,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,KAAK,EAAE,SAAyC,EAAE,EAAE;wBAC9D,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC;4BAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;4BACtD,YAAY,EAAE,gBAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;yBACxF,CAAC,CAAC;wBAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;4BACzB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;wBAC3C,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;wBACzB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,IAAI,6BAAgB,CAAC,2BAA2B,CAAC,CAAC;4BACxD,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;wBACjD,CAAC;wBAED,OAAO;4BACL,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;4BACtD,MAAM;4BACN,KAAK,EAAE,oCAAU;4BACjB,GAAG,EAAE,gBAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;4BAC1D,YAAY,EAAE,gBAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;yBACxF,CAAC;oBACJ,CAAC;iBACF,CAAC;aACH;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAxCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CAwCzB"}
@@ -4,6 +4,7 @@ declare class MikroOrmConfig {
4
4
  readonly password: string;
5
5
  readonly dbName: string;
6
6
  readonly schema: string;
7
+ readonly debug: boolean;
7
8
  }
8
9
  export declare const mikroOrmConfig: (() => Promise<MikroOrmConfig>) & import("@nestjs/config").ConfigFactoryKeyHost<Promise<MikroOrmConfig>>;
9
10
  export {};
@@ -12,6 +12,7 @@ class MikroOrmConfig {
12
12
  this.password = (0, lodash_1.get)(process.env, 'DB_PASSWORD', '');
13
13
  this.dbName = (0, lodash_1.get)(process.env, 'DB_DATABASE', '');
14
14
  this.schema = (0, lodash_1.get)(process.env, 'DB_SCHEMA', '');
15
+ this.debug = (0, lodash_1.get)(process.env, 'DB_DEBUG', 'true') === 'true';
15
16
  }
16
17
  }
17
18
  tslib_1.__decorate([
@@ -34,5 +35,10 @@ tslib_1.__decorate([
34
35
  (0, class_validator_1.IsNotEmpty)(),
35
36
  tslib_1.__metadata("design:type", String)
36
37
  ], MikroOrmConfig.prototype, "schema", void 0);
38
+ tslib_1.__decorate([
39
+ (0, class_validator_1.IsOptional)(),
40
+ (0, class_validator_1.IsBoolean)(),
41
+ tslib_1.__metadata("design:type", Boolean)
42
+ ], MikroOrmConfig.prototype, "debug", void 0);
37
43
  exports.mikroOrmConfig = (0, gg_config_1.registerConfig)(MikroOrmConfig);
38
44
  //# sourceMappingURL=mikroorm.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mikroorm.config.js","sourceRoot":"","sources":["../../../../../../libs/gg-core/src/gg-database/config/mikroorm.config.ts"],"names":[],"mappings":";;;;AAAA,qDAA6C;AAC7C,mCAA6B;AAE7B,+CAAiD;AAEjD,MAAM,cAAc;IAApB;QAEkB,SAAI,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAG/C,SAAI,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QAGnD,aAAQ,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QAGvD,WAAM,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QAGrD,WAAM,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;CAAA;AAbiB;IADf,IAAA,4BAAU,GAAE;;4CACkD;AAG/C;IADf,IAAA,4BAAU,GAAE;;4CACsD;AAGnD;IADf,IAAA,4BAAU,GAAE;;gDAC0D;AAGvD;IADf,IAAA,4BAAU,GAAE;;8CACwD;AAGrD;IADf,IAAA,4BAAU,GAAE;;8CACsD;AAGxD,QAAA,cAAc,GAAG,IAAA,0BAAc,EAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"mikroorm.config.js","sourceRoot":"","sources":["../../../../../../libs/gg-core/src/gg-database/config/mikroorm.config.ts"],"names":[],"mappings":";;;;AAAA,qDAAoE;AACpE,mCAA6B;AAE7B,+CAAiD;AAEjD,MAAM,cAAc;IAApB;QAEkB,SAAI,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAG/C,SAAI,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QAGnD,aAAQ,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QAGvD,WAAM,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QAGrD,WAAM,GAAW,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAInD,UAAK,GAAY,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;IACnF,CAAC;CAAA;AAjBiB;IADf,IAAA,4BAAU,GAAE;;4CACkD;AAG/C;IADf,IAAA,4BAAU,GAAE;;4CACsD;AAGnD;IADf,IAAA,4BAAU,GAAE;;gDAC0D;AAGvD;IADf,IAAA,4BAAU,GAAE;;8CACwD;AAGrD;IADf,IAAA,4BAAU,GAAE;;8CACsD;AAInD;IAFf,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;6CACqE;AAGtE,QAAA,cAAc,GAAG,IAAA,0BAAc,EAAC,cAAc,CAAC,CAAC"}
@@ -70,7 +70,7 @@ let MikroormModule = MikroormModule_1 = class MikroormModule {
70
70
  connect: true,
71
71
  ensureDatabase: true,
72
72
  extensions: [migrations_1.Migrator, seeder_1.SeedManager],
73
- pool: { min: 3, max: 10 },
73
+ pool: { min: 4, max: 32 },
74
74
  useBatchInserts: true,
75
75
  useBatchUpdates: true,
76
76
  populateAfterFlush: true,
@@ -79,6 +79,10 @@ let MikroormModule = MikroormModule_1 = class MikroormModule {
79
79
  }),
80
80
  migrations: MikroormModule_1.defineDatabaseMigrationsConfig(ormConfig, entitiesConfig),
81
81
  // seeder: MikroormModule.defineDatabaseSeederConfig(entitiesConfig),
82
+ driverOptions: {
83
+ keepAlive: true,
84
+ application_name: ormConfig.dbName,
85
+ },
82
86
  });
83
87
  }
84
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mikroorm.module.js","sourceRoot":"","sources":["../../../../../../libs/gg-core/src/gg-database/modules/mikroorm.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mikroorm.module.js","sourceRoot":"","sources":["../../../../../../libs/gg-core/src/gg-database/modules/mikroorm.module.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const swagger_1 = require("@nestjs/swagger");
7
7
  const terminus_1 = require("@nestjs/terminus");
8
+ const throttler_1 = require("@nestjs/throttler");
8
9
  let GgHealthchecksController = class GgHealthchecksController {
9
10
  constructor(health, httpCheck) {
10
11
  this.health = health;
@@ -24,6 +25,7 @@ tslib_1.__decorate([
24
25
  ], GgHealthchecksController.prototype, "check", null);
25
26
  exports.GgHealthchecksController = GgHealthchecksController = tslib_1.__decorate([
26
27
  (0, swagger_1.ApiExcludeController)(),
28
+ (0, throttler_1.SkipThrottle)({ default: true, short: true, medium: true, long: true }),
27
29
  (0, common_1.Controller)({ path: '/health', version: common_1.VERSION_NEUTRAL }),
28
30
  tslib_1.__metadata("design:paramtypes", [terminus_1.HealthCheckService,
29
31
  terminus_1.HttpHealthIndicator])
@@ -1 +1 @@
1
- {"version":3,"file":"gg-healthchecks.controller.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-healthchecks/gg-healthchecks.controller.ts"],"names":[],"mappings":";;;;AAAA,2CAAkE;AAClE,6CAAuD;AACvD,+CAA2G;AAIpG,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,YACmB,MAA0B,EAC1B,SAA8B;QAD9B,WAAM,GAAN,MAAM,CAAoB;QAC1B,cAAS,GAAT,SAAS,CAAqB;IAC9C,CAAC;IAIG,KAAK;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF,CAAA;AAXY,4DAAwB;AAQ5B;IAFN,IAAA,YAAG,GAAE;IACL,IAAA,sBAAW,GAAE;;;;qDAGb;mCAVU,wBAAwB;IAFpC,IAAA,8BAAoB,GAAE;IACtB,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAe,EAAE,CAAC;6CAG7B,6BAAkB;QACf,8BAAmB;GAHtC,wBAAwB,CAWpC"}
1
+ {"version":3,"file":"gg-healthchecks.controller.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-healthchecks/gg-healthchecks.controller.ts"],"names":[],"mappings":";;;;AAAA,2CAAkE;AAClE,6CAAuD;AACvD,+CAA2G;AAC3G,iDAAiD;AAK1C,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,YACmB,MAA0B,EAC1B,SAA8B;QAD9B,WAAM,GAAN,MAAM,CAAoB;QAC1B,cAAS,GAAT,SAAS,CAAqB;IAC9C,CAAC;IAIG,KAAK;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF,CAAA;AAXY,4DAAwB;AAQ5B;IAFN,IAAA,YAAG,GAAE;IACL,IAAA,sBAAW,GAAE;;;;qDAGb;mCAVU,wBAAwB;IAHpC,IAAA,8BAAoB,GAAE;IACtB,IAAA,wBAAY,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtE,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAe,EAAE,CAAC;6CAG7B,6BAAkB;QACf,8BAAmB;GAHtC,wBAAwB,CAWpC"}
@@ -5,11 +5,13 @@ const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const swagger_1 = require("@nestjs/swagger");
7
7
  const nestjs_prometheus_1 = require("@willsoto/nestjs-prometheus");
8
+ const throttler_1 = require("@nestjs/throttler");
8
9
  let GgMetricsController = class GgMetricsController extends nestjs_prometheus_1.PrometheusController {
9
10
  };
10
11
  exports.GgMetricsController = GgMetricsController;
11
12
  exports.GgMetricsController = GgMetricsController = tslib_1.__decorate([
12
13
  (0, swagger_1.ApiExcludeController)(),
14
+ (0, throttler_1.SkipThrottle)({ default: true, short: true, medium: true, long: true }),
13
15
  (0, common_1.Controller)({ path: '/metrics', version: common_1.VERSION_NEUTRAL })
14
16
  ], GgMetricsController);
15
17
  //# sourceMappingURL=gg-metrics.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gg-metrics.controller.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-metrics/gg-metrics.controller.ts"],"names":[],"mappings":";;;;AAAA,2CAA6D;AAC7D,6CAAuD;AACvD,mEAAmE;AAI5D,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,wCAAoB;CAAG,CAAA;AAAnD,kDAAmB;8BAAnB,mBAAmB;IAF/B,IAAA,8BAAoB,GAAE;IACtB,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,wBAAe,EAAE,CAAC;GAC9C,mBAAmB,CAAgC"}
1
+ {"version":3,"file":"gg-metrics.controller.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-metrics/gg-metrics.controller.ts"],"names":[],"mappings":";;;;AAAA,2CAA6D;AAC7D,6CAAuD;AACvD,mEAAmE;AACnE,iDAAiD;AAK1C,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,wCAAoB;CAAG,CAAA;AAAnD,kDAAmB;8BAAnB,mBAAmB;IAH/B,IAAA,8BAAoB,GAAE;IACtB,IAAA,wBAAY,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtE,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,wBAAe,EAAE,CAAC;GAC9C,mBAAmB,CAAgC"}
@@ -9,6 +9,7 @@ export type RmqServiceOptions = {
9
9
  priority?: number;
10
10
  timeout?: Duration;
11
11
  customHeaders?: Record<string, string>;
12
+ trxId?: string;
12
13
  };
13
14
  export type ServiceRes<Res> = {
14
15
  data: Res;
@@ -43,8 +44,9 @@ export declare class MicroClient {
43
44
  * @param command
44
45
  * @param priority
45
46
  * @param customHeaders
47
+ * @param trxId
46
48
  */
47
- protected toRmqRecord<T, R = Record<string, unknown>>(command: RmqCommand<T, R> | RmqEvent<T>, priority?: number, customHeaders?: Record<string, string>): RmqRecord<T>;
49
+ protected toRmqRecord<T, R = Record<string, unknown>>(command: RmqCommand<T, R> | RmqEvent<T>, priority?: number, customHeaders?: Record<string, string>, trxId?: string): RmqRecord<T>;
48
50
  /**
49
51
  * Merge default options with provided options
50
52
  *
@@ -29,7 +29,7 @@ class MicroClient {
29
29
  const pattern = this.getPattern(command);
30
30
  const $ = this.clientProxy
31
31
  .send(pattern, this.toRmqRecord(command, options.priority, options.customHeaders))
32
- .pipe((0, rxjs_1.tap)((data) => this.logger.log({ msg: 'RMQ command sent', pattern, command, data })), (0, rxjs_1.timeout)(options.timeout.as('milliseconds')), (0, rxjs_1.catchError)((e) => {
32
+ .pipe((0, rxjs_1.tap)(() => this.logger.log({ msg: 'RMQ command sent', pattern, command })), (0, rxjs_1.timeout)(options.timeout.as('milliseconds')), (0, rxjs_1.catchError)((e) => {
33
33
  this.logger.error({ msg: 'RMQ command error', pattern, payload: command, error: e });
34
34
  return (0, rxjs_1.throwError)(() => e);
35
35
  }));
@@ -57,7 +57,7 @@ class MicroClient {
57
57
  emit(event, options) {
58
58
  options = this.mergeWithDefaultOptions(options);
59
59
  const pattern = event.constructor.pattern;
60
- return this.clientProxy.emit(pattern, event.data).pipe((0, rxjs_1.tap)((data) => this.logger.log({ msg: 'RMQ event sent', pattern, event, data })), (0, rxjs_1.timeout)(options.timeout.as('milliseconds')), (0, rxjs_1.catchError)((e) => {
60
+ return this.clientProxy.emit(pattern, event.data).pipe((0, rxjs_1.tap)(() => this.logger.log({ msg: 'RMQ event sent', pattern, event })), (0, rxjs_1.timeout)(options.timeout.as('milliseconds')), (0, rxjs_1.catchError)((e) => {
61
61
  this.logger.error({ msg: 'RMQ event error', pattern, payload: event, error: e });
62
62
  return (0, rxjs_1.throwError)(() => e);
63
63
  }));
@@ -69,11 +69,17 @@ class MicroClient {
69
69
  * @param command
70
70
  * @param priority
71
71
  * @param customHeaders
72
+ * @param trxId
72
73
  */
73
- toRmqRecord(command, priority = 3, customHeaders = {}) {
74
+ toRmqRecord(command, priority = 3, customHeaders = {}, trxId) {
74
75
  return new microservices_1.RmqRecordBuilder(command.data)
75
76
  .setOptions({
76
- headers: { 'request-id': this.clsService.getId(), user: JSON.stringify(this.user?.dto), ...customHeaders },
77
+ headers: {
78
+ 'request-id': this.clsService.getId(),
79
+ user: JSON.stringify(this.user?.dto),
80
+ trxId,
81
+ ...customHeaders,
82
+ },
77
83
  priority,
78
84
  })
79
85
  .build();
@@ -1 +1 @@
1
- {"version":3,"file":"micro.client.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-micro/micro.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"micro.client.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-micro/micro.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './redlock.module';
2
+ export * from './redlock.service';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./redlock.module"), exports);
5
+ tslib_1.__exportStar(require("./redlock.service"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-redlock/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,4DAAkC"}
@@ -0,0 +1,5 @@
1
+ declare class RedlockConfig {
2
+ readonly hosts: string[];
3
+ }
4
+ export declare const redlockConfig: (() => Promise<RedlockConfig>) & import("@nestjs/config").ConfigFactoryKeyHost<Promise<RedlockConfig>>;
5
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.redlockConfig = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const class_validator_1 = require("class-validator");
6
+ const lodash_1 = require("lodash");
7
+ const process = require("node:process");
8
+ const gg_config_1 = require("../gg-config");
9
+ class RedlockConfig {
10
+ constructor() {
11
+ this.hosts = (0, lodash_1.get)(process.env, 'REDLOCK_HOSTS', '').split(';');
12
+ }
13
+ }
14
+ tslib_1.__decorate([
15
+ (0, class_validator_1.IsArray)(),
16
+ (0, class_validator_1.ArrayMinSize)(3),
17
+ (0, class_validator_1.IsString)({ each: true }),
18
+ (0, class_validator_1.IsOptional)(),
19
+ tslib_1.__metadata("design:type", Array)
20
+ ], RedlockConfig.prototype, "hosts", void 0);
21
+ exports.redlockConfig = (0, gg_config_1.registerConfig)(RedlockConfig);
22
+ //# sourceMappingURL=redlock.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redlock.config.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-redlock/redlock.config.ts"],"names":[],"mappings":";;;;AAAA,qDAA8E;AAC9E,mCAA6B;AAC7B,wCAAwC;AACxC,4CAA8C;AAE9C,MAAM,aAAa;IAAnB;QAKkB,UAAK,GAAa,IAAA,YAAG,EAAC,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;CAAA;AADiB;IAJf,IAAA,yBAAO,GAAE;IACT,IAAA,8BAAY,EAAC,CAAC,CAAC;IACf,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,4BAAU,GAAE;;4CACsE;AAGxE,QAAA,aAAa,GAAG,IAAA,0BAAc,EAAC,aAAa,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { RedlockOpts } from './redlock.options';
2
+ export declare class RedlockModule extends RedlockOpts.ConfigurableModuleClass {
3
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedlockModule = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const redlock_options_1 = require("./redlock.options");
7
+ const redlock_service_1 = require("./redlock.service");
8
+ let RedlockModule = class RedlockModule extends redlock_options_1.RedlockOpts.ConfigurableModuleClass {
9
+ };
10
+ exports.RedlockModule = RedlockModule;
11
+ exports.RedlockModule = RedlockModule = tslib_1.__decorate([
12
+ (0, common_1.Module)({
13
+ providers: [redlock_service_1.RedlockService],
14
+ exports: [redlock_service_1.RedlockService],
15
+ })
16
+ ], RedlockModule);
17
+ //# sourceMappingURL=redlock.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redlock.module.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-redlock/redlock.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAwC;AACxC,uDAAgD;AAChD,uDAAmD;AAM5C,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,6BAAW,CAAC,uBAAuB;CAAG,CAAA;AAA5D,sCAAa;wBAAb,aAAa;IAJzB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,gCAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAA+C"}
@@ -0,0 +1,8 @@
1
+ export type RedlockOptions = string[];
2
+ export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<RedlockOptions, "register", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol, OPTIONS_TYPE: RedlockOptions & Partial<{}>, ASYNC_OPTIONS_TYPE: import("@nestjs/common").ConfigurableModuleAsyncOptions<RedlockOptions, "create"> & Partial<{}>;
3
+ export declare const RedlockOpts: {
4
+ MODULE_OPTIONS_TOKEN: string | symbol;
5
+ OPTIONS_TYPE: RedlockOptions & Partial<{}>;
6
+ ASYNC_OPTIONS_TYPE: import("@nestjs/common").ConfigurableModuleAsyncOptions<RedlockOptions, "create"> & Partial<{}>;
7
+ ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<RedlockOptions, "register", "create", {}>;
8
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.RedlockOpts = exports.ASYNC_OPTIONS_TYPE = exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
5
+ const common_1 = require("@nestjs/common");
6
+ _a = new common_1.ConfigurableModuleBuilder({ moduleName: 'RedlockModule' }).setClassMethodName('register').build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN, exports.OPTIONS_TYPE = _a.OPTIONS_TYPE, exports.ASYNC_OPTIONS_TYPE = _a.ASYNC_OPTIONS_TYPE;
7
+ exports.RedlockOpts = {
8
+ MODULE_OPTIONS_TOKEN: exports.MODULE_OPTIONS_TOKEN,
9
+ OPTIONS_TYPE: exports.OPTIONS_TYPE,
10
+ ASYNC_OPTIONS_TYPE: exports.ASYNC_OPTIONS_TYPE,
11
+ ConfigurableModuleClass: exports.ConfigurableModuleClass,
12
+ };
13
+ //# sourceMappingURL=redlock.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redlock.options.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-redlock/redlock.options.ts"],"names":[],"mappings":";;;;AAAA,2CAA2D;AAI9C,KACX,IAAI,kCAAyB,CAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EADxG,+BAAuB,+BAAE,4BAAoB,4BAAE,oBAAY,oBAAE,0BAAkB,yBAC0B;AAE3G,QAAA,WAAW,GAAG;IACzB,oBAAoB,EAApB,4BAAoB;IACpB,YAAY,EAAZ,oBAAY;IACZ,kBAAkB,EAAlB,0BAAkB;IAClB,uBAAuB,EAAvB,+BAAuB;CACxB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { RedlockMutex } from 'redis-semaphore';
2
+ import { RedlockOptions } from './redlock.options';
3
+ export interface LockOptions {
4
+ ttl?: number;
5
+ retryInterval?: number;
6
+ maxAttempts?: number;
7
+ }
8
+ export declare class RedlockService {
9
+ private readonly options;
10
+ private readonly logger;
11
+ private readonly clients;
12
+ constructor(options: RedlockOptions);
13
+ getLock(resource: string, identifier?: string): RedlockMutex;
14
+ acquire(resources: RedlockMutex[]): Promise<RedlockMutex[]>;
15
+ tryAcquire(resources: RedlockMutex[]): Promise<boolean[]>;
16
+ release(resources: RedlockMutex[]): Promise<void[]>;
17
+ protected tryAcquireOne(mutex: RedlockMutex): Promise<boolean>;
18
+ protected acquireOne(mutex: RedlockMutex): Promise<RedlockMutex>;
19
+ protected releaseOne(mutex: RedlockMutex): Promise<void>;
20
+ }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var RedlockService_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.RedlockService = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const common_1 = require("@nestjs/common");
7
+ const ioredis_1 = require("ioredis");
8
+ const lodash_1 = require("lodash");
9
+ const luxon_1 = require("luxon");
10
+ const redis_semaphore_1 = require("redis-semaphore");
11
+ const redlock_options_1 = require("./redlock.options");
12
+ let RedlockService = RedlockService_1 = class RedlockService {
13
+ constructor(options) {
14
+ this.options = options;
15
+ this.logger = new common_1.Logger(RedlockService_1.name);
16
+ this.clients = this.options.map((host) => new ioredis_1.default(`redis://${host}`, {
17
+ autoResubscribe: true,
18
+ // increase retry to 1 sec
19
+ retryStrategy: (times) => Math.min(times * 50, 1000),
20
+ // reconnect on temp troubles
21
+ reconnectOnError: (err) => err.message.includes('READONLY') || err.message.includes('ECONNRESET'),
22
+ commandTimeout: 6000,
23
+ socketTimeout: 10000,
24
+ connectTimeout: 5000,
25
+ keepAlive: 1,
26
+ autoResendUnfulfilledCommands: true,
27
+ enableOfflineQueue: false,
28
+ enableReadyCheck: false,
29
+ enableAutoPipelining: false,
30
+ }));
31
+ }
32
+ getLock(resource, identifier) {
33
+ return new redis_semaphore_1.RedlockMutex(this.clients, resource, {
34
+ acquireAttemptsLimit: 2000,
35
+ retryInterval: luxon_1.Duration.fromObject({ milliseconds: 200 }).as('milliseconds'),
36
+ acquireTimeout: luxon_1.Duration.fromObject({ seconds: 100 }).as('milliseconds'),
37
+ // main parameters which indicates maximum timeout for single lock
38
+ lockTimeout: luxon_1.Duration.fromObject({ seconds: 101 }).as('milliseconds'),
39
+ ...(identifier && { identifier }),
40
+ ...(identifier && { acquiredExternally: true }),
41
+ refreshInterval: 0,
42
+ });
43
+ }
44
+ acquire(resources) {
45
+ return Promise.all(resources.map((resource) => this.acquireOne(resource)));
46
+ }
47
+ tryAcquire(resources) {
48
+ return Promise.all(resources.map((resource) => this.tryAcquireOne(resource)));
49
+ }
50
+ release(resources) {
51
+ return Promise.all(resources.map((lock) => this.releaseOne(lock)));
52
+ }
53
+ tryAcquireOne(mutex) {
54
+ return mutex.tryAcquire();
55
+ }
56
+ async acquireOne(mutex) {
57
+ try {
58
+ this.logger.log({
59
+ msg: `Acquire lock`,
60
+ resource: (0, lodash_1.get)(mutex, '_key', mutex.identifier),
61
+ identifier: mutex.identifier,
62
+ });
63
+ await mutex.acquire();
64
+ }
65
+ catch (e) {
66
+ if (!(e instanceof redis_semaphore_1.TimeoutError) || !(e instanceof redis_semaphore_1.LostLockError))
67
+ throw e;
68
+ if (e instanceof redis_semaphore_1.TimeoutError) {
69
+ this.logger.warn({
70
+ msg: `Resource busy`,
71
+ resource: (0, lodash_1.get)(mutex, '_key', mutex.identifier),
72
+ identifier: mutex.identifier,
73
+ });
74
+ throw new common_1.HttpException({ message: 'Resource locked' }, 423);
75
+ }
76
+ if (e instanceof redis_semaphore_1.LostLockError) {
77
+ try {
78
+ await mutex.acquire();
79
+ }
80
+ catch (retryError) {
81
+ this.logger.error(`Failed to reacquire lock: ${mutex.identifier}`, retryError);
82
+ throw new common_1.HttpException({ message: 'Failed to reacquire lock' }, 423);
83
+ }
84
+ }
85
+ }
86
+ return mutex;
87
+ }
88
+ releaseOne(mutex) {
89
+ this.logger.log({
90
+ msg: `Release lock`,
91
+ resource: (0, lodash_1.get)(mutex, '_key', mutex.identifier),
92
+ identifier: mutex.identifier,
93
+ });
94
+ return mutex.release();
95
+ }
96
+ };
97
+ exports.RedlockService = RedlockService;
98
+ exports.RedlockService = RedlockService = RedlockService_1 = tslib_1.__decorate([
99
+ (0, common_1.Injectable)(),
100
+ tslib_1.__param(0, (0, common_1.Inject)(redlock_options_1.RedlockOpts.MODULE_OPTIONS_TOKEN)),
101
+ tslib_1.__metadata("design:paramtypes", [Array])
102
+ ], RedlockService);
103
+ //# sourceMappingURL=redlock.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redlock.service.js","sourceRoot":"","sources":["../../../../../libs/gg-core/src/gg-redlock/redlock.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAA2E;AAC3E,qCAA2C;AAC3C,mCAA6B;AAC7B,iCAAiC;AACjC,qDAA4E;AAC5E,uDAAgE;AASzD,IAAM,cAAc,sBAApB,MAAM,cAAc;IAKzB,YAA6D,OAAwC;QAAvB,YAAO,GAAP,OAAO,CAAgB;QAJpF,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;QAKxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAC7B,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,iBAAK,CAAC,WAAW,IAAI,EAAE,EAAE;YAC3B,eAAe,EAAE,IAAI;YACrB,0BAA0B;YAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC;YACpD,6BAA6B;YAC7B,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YACjG,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;YACpB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,CAAC;YACZ,6BAA6B,EAAE,IAAI;YACnC,kBAAkB,EAAE,KAAK;YACzB,gBAAgB,EAAE,KAAK;YACvB,oBAAoB,EAAE,KAAK;SAC5B,CAAC,CACL,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,QAAgB,EAAE,UAAmB;QAClD,OAAO,IAAI,8BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE;YAC9C,oBAAoB,EAAE,IAAI;YAC1B,aAAa,EAAE,gBAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;YAC5E,cAAc,EAAE,gBAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;YACxE,kEAAkE;YAClE,WAAW,EAAE,gBAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;YACrE,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;YACjC,GAAG,CAAC,UAAU,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC/C,eAAe,EAAE,CAAC;SACnB,CAAC,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,SAAyB;QACtC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEM,UAAU,CAAC,SAAyB;QACzC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAEM,OAAO,CAAC,SAAyB;QACtC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAES,aAAa,CAAC,KAAmB;QACzC,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,KAAmB;QAC5C,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACd,GAAG,EAAE,cAAc;gBACnB,QAAQ,EAAE,IAAA,YAAG,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;gBAC9C,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,CAAC,YAAY,8BAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,+BAAa,CAAC;gBAAE,MAAM,CAAC,CAAC;YAE3E,IAAI,CAAC,YAAY,8BAAY,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,GAAG,EAAE,eAAe;oBACpB,QAAQ,EAAE,IAAA,YAAG,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;oBAC9C,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B,CAAC,CAAC;gBAEH,MAAM,IAAI,sBAAa,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,CAAC,YAAY,+BAAa,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBACxB,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,CAAC;oBAE/E,MAAM,IAAI,sBAAa,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,GAAG,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAES,UAAU,CAAC,KAAmB;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACd,GAAG,EAAE,cAAc;YACnB,QAAQ,EAAE,IAAA,YAAG,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;YAC9C,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;CACF,CAAA;AApGY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAMS,mBAAA,IAAA,eAAM,EAAC,6BAAW,CAAC,oBAAoB,CAAC,CAAA;;GALjD,cAAc,CAoG1B"}
package/src/index.d.ts CHANGED
@@ -8,3 +8,4 @@ export * from './gg-gcp';
8
8
  export * from './gg-kernel';
9
9
  export * from './gg-metrics';
10
10
  export * from './gg-micro';
11
+ export * from './gg-redlock';
package/src/index.js CHANGED
@@ -11,4 +11,5 @@ tslib_1.__exportStar(require("./gg-gcp"), exports);
11
11
  tslib_1.__exportStar(require("./gg-kernel"), exports);
12
12
  tslib_1.__exportStar(require("./gg-metrics"), exports);
13
13
  tslib_1.__exportStar(require("./gg-micro"), exports);
14
+ tslib_1.__exportStar(require("./gg-redlock"), exports);
14
15
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/gg-core/src/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,qDAA2B;AAC3B,sDAA4B;AAC5B,oDAA0B;AAC1B,wDAA8B;AAC9B,sDAA4B;AAC5B,mDAAyB;AACzB,sDAA4B;AAC5B,uDAA6B;AAC7B,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/gg-core/src/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,qDAA2B;AAC3B,sDAA4B;AAC5B,oDAA0B;AAC1B,wDAA8B;AAC9B,sDAA4B;AAC5B,mDAAyB;AACzB,sDAA4B;AAC5B,uDAA6B;AAC7B,qDAA2B;AAC3B,uDAA6B"}