@edifice.io/edifice-nestjs-core 1.0.0 → 1.0.3-develop.20260513125613

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 (131) hide show
  1. package/README.md +43 -2
  2. package/dist/appregistry/appregistry.service.js +2 -2
  3. package/dist/appregistry/appregistry.service.js.map +1 -1
  4. package/dist/bin/generate-rest-clients.d.ts +2 -0
  5. package/dist/bin/generate-rest-clients.js +581 -0
  6. package/dist/bin/generate-rest-clients.js.map +1 -0
  7. package/dist/bin/generate-swagger-pdf.d.ts +1 -0
  8. package/dist/bin/generate-swagger-pdf.js +172 -0
  9. package/dist/bin/generate-swagger-pdf.js.map +1 -0
  10. package/dist/config/configuration.d.ts +23 -0
  11. package/dist/config/configuration.js +39 -0
  12. package/dist/config/configuration.js.map +1 -1
  13. package/dist/config/postgres.config.js +2 -0
  14. package/dist/config/postgres.config.js.map +1 -1
  15. package/dist/core.module.js +22 -9
  16. package/dist/core.module.js.map +1 -1
  17. package/dist/database/migration.service.js +3 -3
  18. package/dist/database/migration.service.js.map +1 -1
  19. package/dist/frontend.controller.js +6 -6
  20. package/dist/frontend.controller.js.map +1 -1
  21. package/dist/health/health.controller.js +2 -2
  22. package/dist/health/health.controller.js.map +1 -1
  23. package/dist/i18n/i18n-bootstrap.service.d.ts +13 -0
  24. package/dist/i18n/i18n-bootstrap.service.js +54 -0
  25. package/dist/i18n/i18n-bootstrap.service.js.map +1 -0
  26. package/dist/i18n/i18n-lifecycle.controller.d.ts +17 -0
  27. package/dist/i18n/i18n-lifecycle.controller.js +55 -0
  28. package/dist/i18n/i18n-lifecycle.controller.js.map +1 -0
  29. package/dist/i18n/i18n.module.js +4 -1
  30. package/dist/i18n/i18n.module.js.map +1 -1
  31. package/dist/i18n/i18n.service.d.ts +1 -0
  32. package/dist/i18n/i18n.service.js +8 -0
  33. package/dist/i18n/i18n.service.js.map +1 -1
  34. package/dist/i18n/index.d.ts +2 -3
  35. package/dist/i18n/index.js +2 -2
  36. package/dist/i18n/index.js.map +1 -1
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.js +1 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/logger/request-logger.service.js +3 -2
  41. package/dist/logger/request-logger.service.js.map +1 -1
  42. package/dist/performance/copy-metadata.utils.d.ts +1 -0
  43. package/dist/performance/copy-metadata.utils.js +9 -0
  44. package/dist/performance/copy-metadata.utils.js.map +1 -0
  45. package/dist/performance/correlation.interceptor.d.ts +5 -0
  46. package/dist/performance/correlation.interceptor.js +28 -0
  47. package/dist/performance/correlation.interceptor.js.map +1 -0
  48. package/dist/performance/index.d.ts +4 -0
  49. package/dist/performance/index.js +16 -0
  50. package/dist/performance/index.js.map +1 -0
  51. package/dist/performance/performance-stats.d.ts +26 -0
  52. package/dist/performance/performance-stats.js +57 -0
  53. package/dist/performance/performance-stats.js.map +1 -0
  54. package/dist/performance/performance.decorator.d.ts +11 -0
  55. package/dist/performance/performance.decorator.js +56 -0
  56. package/dist/performance/performance.decorator.js.map +1 -0
  57. package/dist/performance/performance.module.d.ts +5 -0
  58. package/dist/performance/performance.module.js +38 -0
  59. package/dist/performance/performance.module.js.map +1 -0
  60. package/dist/permission/admc.guard.d.ts +0 -3
  61. package/dist/permission/admc.guard.js +1 -18
  62. package/dist/permission/admc.guard.js.map +1 -1
  63. package/dist/permission/basicauth.guard.d.ts +12 -0
  64. package/dist/permission/basicauth.guard.js +54 -0
  65. package/dist/permission/basicauth.guard.js.map +1 -0
  66. package/dist/permission/decorators.d.ts +10 -0
  67. package/dist/permission/decorators.js +20 -0
  68. package/dist/permission/decorators.js.map +1 -0
  69. package/dist/permission/global.guard.d.ts +16 -0
  70. package/dist/permission/global.guard.js +68 -0
  71. package/dist/permission/global.guard.js.map +1 -0
  72. package/dist/permission/index.d.ts +4 -3
  73. package/dist/permission/index.js +4 -3
  74. package/dist/permission/index.js.map +1 -1
  75. package/dist/permission/permission.guard.d.ts +1 -1
  76. package/dist/permission/permission.guard.js +2 -18
  77. package/dist/permission/permission.guard.js.map +1 -1
  78. package/dist/permission/require-login.guard.d.ts +8 -0
  79. package/dist/permission/require-login.guard.js +49 -0
  80. package/dist/permission/require-login.guard.js.map +1 -0
  81. package/dist/redirect/redirect-lifecycle.controller.d.ts +15 -0
  82. package/dist/redirect/redirect-lifecycle.controller.js +48 -0
  83. package/dist/redirect/redirect-lifecycle.controller.js.map +1 -0
  84. package/dist/redirect/redirect.module.d.ts +2 -0
  85. package/dist/redirect/redirect.module.js +25 -0
  86. package/dist/redirect/redirect.module.js.map +1 -0
  87. package/dist/redirect/redirect.service.d.ts +28 -0
  88. package/dist/redirect/redirect.service.js +154 -0
  89. package/dist/redirect/redirect.service.js.map +1 -0
  90. package/dist/session/frontend-session.middleware.d.ts +10 -0
  91. package/dist/session/frontend-session.middleware.js +40 -0
  92. package/dist/session/frontend-session.middleware.js.map +1 -0
  93. package/dist/session/query-param-token.middleware.d.ts +11 -0
  94. package/dist/session/query-param-token.middleware.js +68 -0
  95. package/dist/session/query-param-token.middleware.js.map +1 -0
  96. package/dist/session/session-middleware.utils.d.ts +17 -0
  97. package/dist/session/session-middleware.utils.js +82 -0
  98. package/dist/session/session-middleware.utils.js.map +1 -0
  99. package/dist/session/session.middleware.d.ts +8 -8
  100. package/dist/session/session.middleware.js +29 -47
  101. package/dist/session/session.middleware.js.map +1 -1
  102. package/dist/session/session.module.js +14 -2
  103. package/dist/session/session.module.js.map +1 -1
  104. package/dist/timeline/index.d.ts +2 -3
  105. package/dist/timeline/index.js +2 -2
  106. package/dist/timeline/index.js.map +1 -1
  107. package/dist/timeline/timeline-i18n-bootstrap.service.d.ts +13 -0
  108. package/dist/timeline/timeline-i18n-bootstrap.service.js +54 -0
  109. package/dist/timeline/timeline-i18n-bootstrap.service.js.map +1 -0
  110. package/dist/timeline/timeline-lifecycle.controller.d.ts +17 -0
  111. package/dist/timeline/timeline-lifecycle.controller.js +55 -0
  112. package/dist/timeline/timeline-lifecycle.controller.js.map +1 -0
  113. package/dist/timeline/timeline.module.js +4 -1
  114. package/dist/timeline/timeline.module.js.map +1 -1
  115. package/dist/timeline/timeline.service.d.ts +11 -0
  116. package/dist/timeline/timeline.service.js +98 -13
  117. package/dist/timeline/timeline.service.js.map +1 -1
  118. package/dist/timeline/timeline.types.d.ts +8 -0
  119. package/dist/tsconfig.tsbuildinfo +1 -1
  120. package/dist/utils/static-assets.utils.js +1 -1
  121. package/dist/utils/static-assets.utils.js.map +1 -1
  122. package/package.json +19 -12
  123. package/dist/permission/admc.decorator.d.ts +0 -2
  124. package/dist/permission/admc.decorator.js +0 -11
  125. package/dist/permission/admc.decorator.js.map +0 -1
  126. package/dist/permission/permission.decorator.d.ts +0 -2
  127. package/dist/permission/permission.decorator.js +0 -8
  128. package/dist/permission/permission.decorator.js.map +0 -1
  129. package/dist/permission/public.decorator.d.ts +0 -2
  130. package/dist/permission/public.decorator.js +0 -8
  131. package/dist/permission/public.decorator.js.map +0 -1
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var I18nBootstrapService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.I18nBootstrapService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const config_1 = require("@nestjs/config");
16
+ const i18n_service_1 = require("./i18n.service");
17
+ let I18nBootstrapService = I18nBootstrapService_1 = class I18nBootstrapService {
18
+ i18nService;
19
+ configService;
20
+ logger = new common_1.Logger(I18nBootstrapService_1.name);
21
+ maxAttempts;
22
+ delayMs;
23
+ constructor(i18nService, configService) {
24
+ this.i18nService = i18nService;
25
+ this.configService = configService;
26
+ this.maxAttempts =
27
+ this.configService.get('i18n.bootstrap.maxAttempts') ?? 3;
28
+ this.delayMs =
29
+ this.configService.get('i18n.bootstrap.delayMs') ?? 5000;
30
+ }
31
+ async onApplicationBootstrap() {
32
+ void this.tryRegister(1);
33
+ }
34
+ async tryRegister(attempt) {
35
+ try {
36
+ await this.i18nService.registerI18nFiles();
37
+ }
38
+ catch (err) {
39
+ if (attempt >= this.maxAttempts) {
40
+ this.logger.warn({ err: String(err), attempt, maxAttempts: this.maxAttempts }, 'I18n initial register exhausted retries');
41
+ return;
42
+ }
43
+ this.logger.warn({ err: String(err), attempt, delayMs: this.delayMs }, 'I18n initial register failed, retrying');
44
+ setTimeout(() => void this.tryRegister(attempt + 1), this.delayMs);
45
+ }
46
+ }
47
+ };
48
+ exports.I18nBootstrapService = I18nBootstrapService;
49
+ exports.I18nBootstrapService = I18nBootstrapService = I18nBootstrapService_1 = __decorate([
50
+ (0, common_1.Injectable)(),
51
+ __metadata("design:paramtypes", [i18n_service_1.I18nService,
52
+ config_1.ConfigService])
53
+ ], I18nBootstrapService);
54
+ //# sourceMappingURL=i18n-bootstrap.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-bootstrap.service.js","sourceRoot":"","sources":["../../src/i18n/i18n-bootstrap.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4E;AAC5E,2CAA+C;AAC/C,iDAA6C;AAGtC,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAMZ;IACA;IANF,MAAM,GAAG,IAAI,eAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;IAC/C,WAAW,CAAS;IACpB,OAAO,CAAS;IAEjC,YACmB,WAAwB,EACxB,aAA4B;QAD5B,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAE7C,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO;YACV,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,wBAAwB,CAAC,IAAI,IAAI,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAe;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAC5D,yCAAyC,CAC1C,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACpD,wCAAwC,CACzC,CAAC;YACF,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF,CAAA;AArCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAOqB,0BAAW;QACT,sBAAa;GAPpC,oBAAoB,CAqChC"}
@@ -0,0 +1,17 @@
1
+ import { OnModuleInit } from '@nestjs/common';
2
+ import { NatsContext } from '@nestjs/microservices';
3
+ import { I18nService } from './i18n.service';
4
+ interface ApplicationStatusPayload {
5
+ application?: string;
6
+ version?: string;
7
+ }
8
+ export declare class I18nLifecycleController implements OnModuleInit {
9
+ private readonly i18nService;
10
+ private readonly logger;
11
+ private debounceTimer;
12
+ private static readonly DEBOUNCE_MS;
13
+ constructor(i18nService: I18nService);
14
+ onModuleInit(): void;
15
+ onPortalStarted(data: ApplicationStatusPayload, ctx: NatsContext): void;
16
+ }
17
+ export {};
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var I18nLifecycleController_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.I18nLifecycleController = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const microservices_1 = require("@nestjs/microservices");
19
+ const i18n_service_1 = require("./i18n.service");
20
+ let I18nLifecycleController = class I18nLifecycleController {
21
+ static { I18nLifecycleController_1 = this; }
22
+ i18nService;
23
+ logger = new common_1.Logger(I18nLifecycleController_1.name);
24
+ debounceTimer = null;
25
+ static DEBOUNCE_MS = 5000;
26
+ constructor(i18nService) {
27
+ this.i18nService = i18nService;
28
+ this.logger.log('I18nLifecycleController instantiated');
29
+ }
30
+ onModuleInit() {
31
+ this.logger.log('I18nLifecycleController module init');
32
+ }
33
+ onPortalStarted(data, ctx) {
34
+ this.logger.log({ subject: ctx.getSubject(), data }, 'Received application.portal.start event');
35
+ if (this.debounceTimer)
36
+ clearTimeout(this.debounceTimer);
37
+ this.debounceTimer = setTimeout(() => {
38
+ void this.i18nService.replayRegistration();
39
+ }, I18nLifecycleController_1.DEBOUNCE_MS);
40
+ }
41
+ };
42
+ exports.I18nLifecycleController = I18nLifecycleController;
43
+ __decorate([
44
+ (0, microservices_1.EventPattern)('application.portal.start'),
45
+ __param(0, (0, microservices_1.Payload)()),
46
+ __param(1, (0, microservices_1.Ctx)()),
47
+ __metadata("design:type", Function),
48
+ __metadata("design:paramtypes", [Object, microservices_1.NatsContext]),
49
+ __metadata("design:returntype", void 0)
50
+ ], I18nLifecycleController.prototype, "onPortalStarted", null);
51
+ exports.I18nLifecycleController = I18nLifecycleController = I18nLifecycleController_1 = __decorate([
52
+ (0, common_1.Controller)(),
53
+ __metadata("design:paramtypes", [i18n_service_1.I18nService])
54
+ ], I18nLifecycleController);
55
+ //# sourceMappingURL=i18n-lifecycle.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-lifecycle.controller.js","sourceRoot":"","sources":["../../src/i18n/i18n-lifecycle.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,yDAAgF;AAChF,iDAA6C;AAQtC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;;IAKL;IAJZ,MAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3D,aAAa,GAA0B,IAAI,CAAC;IAC5C,MAAM,CAAU,WAAW,GAAG,IAAI,CAAC;IAE3C,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAGD,eAAe,CACF,IAA8B,EAClC,GAAgB;QAEvB,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,EACnC,yCAAyC,CAC1C,CAAC;QACF,IAAI,IAAI,CAAC,aAAa;YAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,KAAK,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;QAC7C,CAAC,EAAE,yBAAuB,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;;AA1BU,0DAAuB;AAclC;IADC,IAAA,4BAAY,EAAC,0BAA0B,CAAC;IAEtC,WAAA,IAAA,uBAAO,GAAE,CAAA;IACT,WAAA,IAAA,mBAAG,GAAE,CAAA;;6CAAM,2BAAW;;8DAUxB;kCA1BU,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAM+B,0BAAW;GAL1C,uBAAuB,CA2BnC"}
@@ -11,13 +11,16 @@ const common_1 = require("@nestjs/common");
11
11
  const config_1 = require("@nestjs/config");
12
12
  const nats_1 = require("../nats");
13
13
  const i18n_service_1 = require("./i18n.service");
14
+ const i18n_lifecycle_controller_1 = require("./i18n-lifecycle.controller");
15
+ const i18n_bootstrap_service_1 = require("./i18n-bootstrap.service");
14
16
  let I18nModule = class I18nModule {
15
17
  };
16
18
  exports.I18nModule = I18nModule;
17
19
  exports.I18nModule = I18nModule = __decorate([
18
20
  (0, common_1.Module)({
19
21
  imports: [nats_1.NatsModule, config_1.ConfigModule],
20
- providers: [i18n_service_1.I18nService],
22
+ controllers: [i18n_lifecycle_controller_1.I18nLifecycleController],
23
+ providers: [i18n_service_1.I18nService, i18n_bootstrap_service_1.I18nBootstrapService],
21
24
  exports: [i18n_service_1.I18nService],
22
25
  })
23
26
  ], I18nModule);
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.module.js","sourceRoot":"","sources":["../../src/i18n/i18n.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,2CAA8C;AAC9C,kCAAqC;AACrC,iDAA6C;AAOtC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IALtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,EAAE,qBAAY,CAAC;QACnC,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"}
1
+ {"version":3,"file":"i18n.module.js","sourceRoot":"","sources":["../../src/i18n/i18n.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,2CAA8C;AAC9C,kCAAqC;AACrC,iDAA6C;AAC7C,2EAAsE;AACtE,qEAAgE;AAQzD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IANtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,EAAE,qBAAY,CAAC;QACnC,WAAW,EAAE,CAAC,mDAAuB,CAAC;QACtC,SAAS,EAAE,CAAC,0BAAW,EAAE,6CAAoB,CAAC;QAC9C,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"}
@@ -9,6 +9,7 @@ export declare class I18nService {
9
9
  private readonly appName;
10
10
  constructor(configService: ConfigService, entClient: EntNatsServiceClient);
11
11
  registerI18nFiles(options?: Partial<RegisterI18nOptions>): Promise<void>;
12
+ replayRegistration(): Promise<void>;
12
13
  fetchCurrentAppTranslationsForRequest(request: FastifyRequest): Promise<Record<string, string>>;
13
14
  fetchCurrentAppTranslations(headers: Record<string, string>): Promise<Record<string, string>>;
14
15
  private registerTranslations;
@@ -63,6 +63,14 @@ let I18nService = I18nService_1 = class I18nService {
63
63
  throw error;
64
64
  }
65
65
  }
66
+ async replayRegistration() {
67
+ try {
68
+ await this.registerI18nFiles();
69
+ }
70
+ catch (err) {
71
+ this.logger.error({ err: String(err) }, 'Failed to replay i18n registration');
72
+ }
73
+ }
66
74
  fetchCurrentAppTranslationsForRequest(request) {
67
75
  const headers = {};
68
76
  Object.entries(request.headers).forEach(([key, value]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.service.js","sourceRoot":"","sources":["../../src/i18n/i18n.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.service.js","sourceRoot":"","sources":["../../src/i18n/i18n.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  export * from './i18n.module';
2
2
  export * from './i18n.service';
3
3
  export * from './i18n.types';
4
- export * from './i18n.module';
5
- export * from './i18n.service';
6
- export type * from './i18n.types';
4
+ export * from './i18n-bootstrap.service';
5
+ export * from './i18n-lifecycle.controller';
@@ -17,6 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./i18n.module"), exports);
18
18
  __exportStar(require("./i18n.service"), exports);
19
19
  __exportStar(require("./i18n.types"), exports);
20
- __exportStar(require("./i18n.module"), exports);
21
- __exportStar(require("./i18n.service"), exports);
20
+ __exportStar(require("./i18n-bootstrap.service"), exports);
21
+ __exportStar(require("./i18n-lifecycle.controller"), exports);
22
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,gDAA8B;AAC9B,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,2DAAyC;AACzC,8DAA4C"}
package/dist/index.d.ts CHANGED
@@ -10,3 +10,4 @@ export * from './session';
10
10
  export * from './timeline';
11
11
  export * from './i18n';
12
12
  export * from './utils';
13
+ export * from './performance';
package/dist/index.js CHANGED
@@ -26,4 +26,5 @@ __exportStar(require("./session"), exports);
26
26
  __exportStar(require("./timeline"), exports);
27
27
  __exportStar(require("./i18n"), exports);
28
28
  __exportStar(require("./utils"), exports);
29
+ __exportStar(require("./performance"), exports);
29
30
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,6CAA2B;AAC3B,0CAAwB;AACxB,2CAAyB;AACzB,yCAAuB;AACvB,+CAA6B;AAC7B,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,6CAA2B;AAC3B,0CAAwB;AACxB,2CAAyB;AACzB,yCAAuB;AACvB,+CAA6B;AAC7B,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB;AACxB,gDAA8B"}
@@ -25,8 +25,9 @@ let RequestLogger = class RequestLogger {
25
25
  constructor(req) {
26
26
  this.req = req;
27
27
  const session = req.raw.entSession;
28
+ const baseLogger = (0, pino_1.default)().child({ engine: 'vertx' });
28
29
  if (session) {
29
- this.logger = (0, pino_1.default)().child({
30
+ this.logger = baseLogger.child({
30
31
  id: req.id,
31
32
  path: req.path,
32
33
  method: req.method,
@@ -34,7 +35,7 @@ let RequestLogger = class RequestLogger {
34
35
  });
35
36
  }
36
37
  else {
37
- this.logger = (0, pino_1.default)();
38
+ this.logger = baseLogger;
38
39
  }
39
40
  }
40
41
  info(message, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"request-logger.service.js","sourceRoot":"","sources":["../../src/logger/request-logger.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA2D;AAC3D,uCAAuC;AAEvC,gDAAgD;AAIzC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGsB;IAFtC,MAAM,CAAc;IAE5B,YAA8C,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;QAExD,MAAM,OAAO,GAAyB,GAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC;YAEZ,IAAI,CAAC,MAAM,GAAG,IAAA,cAAI,GAAE,CAAC,KAAK,CAAC;gBACzB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAA,cAAI,GAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAGD,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAiC;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAiC;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CACH,QAAuB,EACvB,OAA+C;QAG/C,OAAY,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AA3CY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;IAItB,WAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;;GAHjB,aAAa,CA2CzB"}
1
+ {"version":3,"file":"request-logger.service.js","sourceRoot":"","sources":["../../src/logger/request-logger.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA2D;AAC3D,uCAAuC;AAEvC,gDAAgD;AAIzC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGsB;IAFtC,MAAM,CAAc;IAE5B,YAA8C,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;QAExD,MAAM,OAAO,GAAyB,GAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAA,cAAI,GAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,CAAC;YAEZ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QAC3B,CAAC;IACH,CAAC;IAGD,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAiC;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAiC;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CACH,QAAuB,EACvB,OAA+C;QAG/C,OAAY,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AA5CY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;IAItB,WAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;;GAHjB,aAAa,CA4CzB"}
@@ -0,0 +1 @@
1
+ export declare function copyMetadata(source: Function, target: Function): void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.copyMetadata = copyMetadata;
4
+ function copyMetadata(source, target) {
5
+ Reflect.getMetadataKeys(source).forEach((key) => {
6
+ Reflect.defineMetadata(key, Reflect.getMetadata(key, source), target);
7
+ });
8
+ }
9
+ //# sourceMappingURL=copy-metadata.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-metadata.utils.js","sourceRoot":"","sources":["../../src/performance/copy-metadata.utils.ts"],"names":[],"mappings":";;AAQA,oCASC;AATD,SAAgB,YAAY,CAE1B,MAAgB,EAEhB,MAAgB;IAEhB,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9C,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ export declare class CorrelationInterceptor implements NestInterceptor {
4
+ intercept(context: ExecutionContext, next: CallHandler): Observable<unknown>;
5
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CorrelationInterceptor = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const crypto_1 = require("crypto");
12
+ const performance_decorator_1 = require("./performance.decorator");
13
+ let CorrelationInterceptor = class CorrelationInterceptor {
14
+ intercept(context, next) {
15
+ if ((0, performance_decorator_1.isPerfLoggingEnabled)()) {
16
+ const correlationId = (0, crypto_1.randomBytes)(8).toString('hex');
17
+ return performance_decorator_1.perfContext.run({ correlationId }, () => next.handle());
18
+ }
19
+ else {
20
+ return next.handle();
21
+ }
22
+ }
23
+ };
24
+ exports.CorrelationInterceptor = CorrelationInterceptor;
25
+ exports.CorrelationInterceptor = CorrelationInterceptor = __decorate([
26
+ (0, common_1.Injectable)()
27
+ ], CorrelationInterceptor);
28
+ //# sourceMappingURL=correlation.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correlation.interceptor.js","sourceRoot":"","sources":["../../src/performance/correlation.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAKwB;AAExB,mCAAqC;AAErC,mEAA4E;AAgBrE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAQjC,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAEpD,IAAI,IAAA,4CAAoB,GAAE,EAAE,CAAC;YAE3B,MAAM,aAAa,GAAG,IAAA,oBAAW,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAIrD,OAAO,mCAAW,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YAEN,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF,CAAA;AAtBY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;GACA,sBAAsB,CAsBlC"}
@@ -0,0 +1,4 @@
1
+ export { Performance, perfContext, setPerfLoggingEnabled, isPerfLoggingEnabled, } from './performance.decorator';
2
+ export { CorrelationInterceptor } from './correlation.interceptor';
3
+ export { PerformanceStats, globalPerfStats } from './performance-stats';
4
+ export { copyMetadata } from './copy-metadata.utils';
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.copyMetadata = exports.globalPerfStats = exports.PerformanceStats = exports.CorrelationInterceptor = exports.isPerfLoggingEnabled = exports.setPerfLoggingEnabled = exports.perfContext = exports.Performance = void 0;
4
+ var performance_decorator_1 = require("./performance.decorator");
5
+ Object.defineProperty(exports, "Performance", { enumerable: true, get: function () { return performance_decorator_1.Performance; } });
6
+ Object.defineProperty(exports, "perfContext", { enumerable: true, get: function () { return performance_decorator_1.perfContext; } });
7
+ Object.defineProperty(exports, "setPerfLoggingEnabled", { enumerable: true, get: function () { return performance_decorator_1.setPerfLoggingEnabled; } });
8
+ Object.defineProperty(exports, "isPerfLoggingEnabled", { enumerable: true, get: function () { return performance_decorator_1.isPerfLoggingEnabled; } });
9
+ var correlation_interceptor_1 = require("./correlation.interceptor");
10
+ Object.defineProperty(exports, "CorrelationInterceptor", { enumerable: true, get: function () { return correlation_interceptor_1.CorrelationInterceptor; } });
11
+ var performance_stats_1 = require("./performance-stats");
12
+ Object.defineProperty(exports, "PerformanceStats", { enumerable: true, get: function () { return performance_stats_1.PerformanceStats; } });
13
+ Object.defineProperty(exports, "globalPerfStats", { enumerable: true, get: function () { return performance_stats_1.globalPerfStats; } });
14
+ var copy_metadata_utils_1 = require("./copy-metadata.utils");
15
+ Object.defineProperty(exports, "copyMetadata", { enumerable: true, get: function () { return copy_metadata_utils_1.copyMetadata; } });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/performance/index.ts"],"names":[],"mappings":";;;AAAA,iEAKiC;AAJ/B,oHAAA,WAAW,OAAA;AACX,oHAAA,WAAW,OAAA;AACX,8HAAA,qBAAqB,OAAA;AACrB,6HAAA,oBAAoB,OAAA;AAEtB,qEAAmE;AAA1D,iIAAA,sBAAsB,OAAA;AAC/B,yDAAwE;AAA/D,qHAAA,gBAAgB,OAAA;AAAE,oHAAA,eAAe,OAAA;AAC1C,6DAAqD;AAA5C,mHAAA,YAAY,OAAA"}
@@ -0,0 +1,26 @@
1
+ type Stats = {
2
+ count: number;
3
+ totalMs: number;
4
+ min: number;
5
+ max: number;
6
+ };
7
+ export declare class PerformanceStats {
8
+ private statsMap;
9
+ private countSinceLastSummary;
10
+ private summaryEvery;
11
+ constructor(summaryEvery?: number);
12
+ setSummaryEvery(summaryEvery: number): void;
13
+ record(label: string, durationMs: number): Stats;
14
+ shouldSummarize(label: string): boolean;
15
+ resetSummaryCounter(label: string): void;
16
+ incrementSummaryCounter(label: string): void;
17
+ getStats(label: string): Stats | undefined;
18
+ toMeta(stats: Stats): {
19
+ count: number;
20
+ mean: number;
21
+ min: number;
22
+ max: number;
23
+ };
24
+ }
25
+ export declare const globalPerfStats: PerformanceStats;
26
+ export {};
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.globalPerfStats = exports.PerformanceStats = void 0;
4
+ class PerformanceStats {
5
+ statsMap = new Map();
6
+ countSinceLastSummary = new Map();
7
+ summaryEvery;
8
+ constructor(summaryEvery = 1000) {
9
+ this.summaryEvery = summaryEvery;
10
+ }
11
+ setSummaryEvery(summaryEvery) {
12
+ if (summaryEvery > 0) {
13
+ this.summaryEvery = summaryEvery;
14
+ }
15
+ }
16
+ record(label, durationMs) {
17
+ if (!this.statsMap.has(label)) {
18
+ this.statsMap.set(label, {
19
+ count: 0,
20
+ totalMs: 0,
21
+ min: Infinity,
22
+ max: -Infinity,
23
+ });
24
+ }
25
+ const stats = this.statsMap.get(label);
26
+ stats.count++;
27
+ stats.totalMs += durationMs;
28
+ stats.min = Math.min(stats.min, durationMs);
29
+ stats.max = Math.max(stats.max, durationMs);
30
+ return stats;
31
+ }
32
+ shouldSummarize(label) {
33
+ const count = this.countSinceLastSummary.get(label) ?? 0;
34
+ return count + 1 >= this.summaryEvery;
35
+ }
36
+ resetSummaryCounter(label) {
37
+ this.countSinceLastSummary.set(label, 0);
38
+ }
39
+ incrementSummaryCounter(label) {
40
+ const count = this.countSinceLastSummary.get(label) ?? 0;
41
+ this.countSinceLastSummary.set(label, count + 1);
42
+ }
43
+ getStats(label) {
44
+ return this.statsMap.get(label);
45
+ }
46
+ toMeta(stats) {
47
+ return {
48
+ count: stats.count,
49
+ mean: Math.round(stats.totalMs / stats.count),
50
+ min: stats.min === Infinity ? 0 : stats.min,
51
+ max: stats.max,
52
+ };
53
+ }
54
+ }
55
+ exports.PerformanceStats = PerformanceStats;
56
+ exports.globalPerfStats = new PerformanceStats();
57
+ //# sourceMappingURL=performance-stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-stats.js","sourceRoot":"","sources":["../../src/performance/performance-stats.ts"],"names":[],"mappings":";;;AAmBA,MAAa,gBAAgB;IAEnB,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAC;IAGpC,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAGlD,YAAY,CAAS;IAM7B,YAAY,YAAY,GAAG,IAAI;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAQD,eAAe,CAAC,YAAoB;QAClC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACnC,CAAC;IACH,CAAC;IAUD,MAAM,CAAC,KAAa,EAAE,UAAkB;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE;gBACvB,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;gBACV,GAAG,EAAE,QAAQ;gBACb,GAAG,EAAE,CAAC,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACxC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC;QAC5B,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC5C,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IASD,eAAe,CAAC,KAAa;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;IACxC,CAAC;IAQD,mBAAmB,CAAC,KAAa;QAC/B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAQD,uBAAuB,CAAC,KAAa;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAQD,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IASD,MAAM,CAAC,KAAY;QACjB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;YAC7C,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;YAC3C,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC;IACJ,CAAC;CACF;AAjHD,4CAiHC;AAIY,QAAA,eAAe,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { AsyncLocalStorage } from 'async_hooks';
2
+ export declare const perfContext: AsyncLocalStorage<{
3
+ correlationId: string;
4
+ }>;
5
+ interface PerfLoggingOptions {
6
+ summaryEvery?: number;
7
+ }
8
+ export declare function setPerfLoggingEnabled(enabled: boolean, options?: PerfLoggingOptions): void;
9
+ export declare function isPerfLoggingEnabled(): boolean;
10
+ export declare function Performance(label?: string): (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
11
+ export {};
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.perfContext = void 0;
4
+ exports.setPerfLoggingEnabled = setPerfLoggingEnabled;
5
+ exports.isPerfLoggingEnabled = isPerfLoggingEnabled;
6
+ exports.Performance = Performance;
7
+ const perf_hooks_1 = require("perf_hooks");
8
+ const async_hooks_1 = require("async_hooks");
9
+ const common_1 = require("@nestjs/common");
10
+ const performance_stats_1 = require("./performance-stats");
11
+ const copy_metadata_utils_1 = require("./copy-metadata.utils");
12
+ exports.perfContext = new async_hooks_1.AsyncLocalStorage();
13
+ let perfLoggingEnabled = false;
14
+ function setPerfLoggingEnabled(enabled, options) {
15
+ perfLoggingEnabled = enabled;
16
+ if (enabled && options?.summaryEvery) {
17
+ performance_stats_1.globalPerfStats.setSummaryEvery(options.summaryEvery);
18
+ }
19
+ }
20
+ function isPerfLoggingEnabled() {
21
+ return perfLoggingEnabled;
22
+ }
23
+ function Performance(label) {
24
+ const logger = new common_1.Logger('Performance');
25
+ return function (target, propertyKey, descriptor) {
26
+ const original = descriptor.value;
27
+ const wrapper = async function (...args) {
28
+ if (!perfLoggingEnabled) {
29
+ return original.apply(this, args);
30
+ }
31
+ const effectiveLabel = label ?? `${target.constructor.name}.${propertyKey}`;
32
+ const ctx = exports.perfContext.getStore();
33
+ const t0 = perf_hooks_1.performance.now();
34
+ const result = await original.apply(this, args);
35
+ const durationMs = Math.round(perf_hooks_1.performance.now() - t0);
36
+ const stats = performance_stats_1.globalPerfStats.record(effectiveLabel, durationMs);
37
+ const logMeta = {
38
+ durationMs,
39
+ ...(ctx ? { correlationId: ctx.correlationId } : {}),
40
+ stats: performance_stats_1.globalPerfStats.toMeta(stats),
41
+ };
42
+ logger.log(logMeta, `${effectiveLabel}`);
43
+ performance_stats_1.globalPerfStats.incrementSummaryCounter(effectiveLabel);
44
+ if (performance_stats_1.globalPerfStats.shouldSummarize(effectiveLabel)) {
45
+ performance_stats_1.globalPerfStats.resetSummaryCounter(effectiveLabel);
46
+ logger.log(performance_stats_1.globalPerfStats.toMeta(stats), `${effectiveLabel} — stats`);
47
+ }
48
+ return result;
49
+ };
50
+ Object.defineProperty(wrapper, 'name', { value: original.name });
51
+ (0, copy_metadata_utils_1.copyMetadata)(original, wrapper);
52
+ descriptor.value = wrapper;
53
+ return descriptor;
54
+ };
55
+ }
56
+ //# sourceMappingURL=performance.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.decorator.js","sourceRoot":"","sources":["../../src/performance/performance.decorator.ts"],"names":[],"mappings":";;;AAiCA,sDAQC;AAMD,oDAEC;AAkBD,kCA+DC;AAlID,2CAAyC;AACzC,6CAAgD;AAChD,2CAAwC;AAExC,2DAAsD;AACtD,+DAAqD;AAMxC,QAAA,WAAW,GAAG,IAAI,+BAAiB,EAE5C,CAAC;AAGL,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAiB/B,SAAgB,qBAAqB,CACnC,OAAgB,EAChB,OAA4B;IAE5B,kBAAkB,GAAG,OAAO,CAAC;IAC7B,IAAI,OAAO,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QACrC,mCAAe,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAMD,SAAgB,oBAAoB;IAClC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAkBD,SAAgB,WAAW,CAAC,KAAc;IACxC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,aAAa,CAAC,CAAC;IAEzC,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;QAE9B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;QAGlC,MAAM,OAAO,GAAG,KAAK,WAA0B,GAAG,IAAe;YAE/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;YAGD,MAAM,cAAc,GAClB,KAAK,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YAGvD,MAAM,GAAG,GAAG,mBAAW,CAAC,QAAQ,EAAE,CAAC;YAGnC,MAAM,EAAE,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAGtD,MAAM,KAAK,GAAG,mCAAe,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAGjE,MAAM,OAAO,GAAG;gBACd,UAAU;gBACV,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,KAAK,EAAE,mCAAe,CAAC,MAAM,CAAC,KAAK,CAAC;aACrC,CAAC;YAGF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;YAGzC,mCAAe,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;YACxD,IAAI,mCAAe,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpD,mCAAe,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;gBACpD,MAAM,CAAC,GAAG,CAAC,mCAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,cAAc,UAAU,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAGF,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAIjE,IAAA,kCAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAGhC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ export declare class PerformanceModule {
3
+ private readonly configService;
4
+ constructor(configService: ConfigService);
5
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PerformanceModule = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const core_1 = require("@nestjs/core");
15
+ const config_1 = require("@nestjs/config");
16
+ const index_1 = require("./index");
17
+ let PerformanceModule = class PerformanceModule {
18
+ configService;
19
+ constructor(configService) {
20
+ this.configService = configService;
21
+ const perfLogging = this.configService.get('perfLogging') ?? false;
22
+ const perfSummaryEvery = this.configService.get('perfSummaryEvery');
23
+ (0, index_1.setPerfLoggingEnabled)(perfLogging, { summaryEvery: perfSummaryEvery });
24
+ }
25
+ };
26
+ exports.PerformanceModule = PerformanceModule;
27
+ exports.PerformanceModule = PerformanceModule = __decorate([
28
+ (0, common_1.Module)({
29
+ providers: [
30
+ {
31
+ provide: core_1.APP_INTERCEPTOR,
32
+ useClass: index_1.CorrelationInterceptor,
33
+ },
34
+ ],
35
+ }),
36
+ __metadata("design:paramtypes", [config_1.ConfigService])
37
+ ], PerformanceModule);
38
+ //# sourceMappingURL=performance.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.module.js","sourceRoot":"","sources":["../../src/performance/performance.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwC;AACxC,uCAA+C;AAC/C,2CAA+C;AAE/C,mCAAwE;AAsBjE,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACC;IAA7B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAEvD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAU,aAAa,CAAC,IAAI,KAAK,CAAC;QAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAC;QAC5E,IAAA,6BAAqB,EAAC,WAAW,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzE,CAAC;CACF,CAAA;AAPY,8CAAiB;4BAAjB,iBAAiB;IAR7B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,8BAAsB;aACjC;SACF;KACF,CAAC;qCAE4C,sBAAa;GAD9C,iBAAiB,CAO7B"}
@@ -1,7 +1,4 @@
1
1
  import { CanActivate, ExecutionContext } from '@nestjs/common';
2
- import { Reflector } from '@nestjs/core';
3
2
  export declare class AdmcGuard implements CanActivate {
4
- private reflector;
5
- constructor(reflector: Reflector);
6
3
  canActivate(context: ExecutionContext): boolean;
7
4
  }