@diia-inhouse/diia-app 31.9.7 → 32.4.0

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 (141) hide show
  1. package/dist/actionExecutor.js +44 -51
  2. package/dist/actionExecutor.js.map +1 -1
  3. package/dist/application.js +43 -47
  4. package/dist/application.js.map +1 -1
  5. package/dist/applicationHooks.js +15 -21
  6. package/dist/applicationHooks.js.map +1 -1
  7. package/dist/baseDeps.js +34 -40
  8. package/dist/baseDeps.js.map +1 -1
  9. package/dist/grpc/dynamicClient.js +35 -39
  10. package/dist/grpc/dynamicClient.js.map +1 -1
  11. package/dist/grpc/grpcClient.js +44 -48
  12. package/dist/grpc/grpcClient.js.map +1 -1
  13. package/dist/grpc/grpcExecutor.js +5 -9
  14. package/dist/grpc/grpcExecutor.js.map +1 -1
  15. package/dist/grpc/grpcService.js +119 -121
  16. package/dist/grpc/grpcService.js.map +1 -1
  17. package/dist/grpc/index.js +12 -31
  18. package/dist/grpc/index.js.map +1 -1
  19. package/dist/grpc/reflectionFix.js +8 -14
  20. package/dist/grpc/reflectionFix.js.map +1 -1
  21. package/dist/grpc/schemaReflection/grpcSchemaService.js +4 -11
  22. package/dist/grpc/schemaReflection/grpcSchemaService.js.map +1 -1
  23. package/dist/grpc/schemaReflection/index.js +8 -33
  24. package/dist/grpc/schemaReflection/index.js.map +1 -1
  25. package/dist/grpc/schemaReflection/jsonSchemaGenerator.js +15 -22
  26. package/dist/grpc/schemaReflection/jsonSchemaGenerator.js.map +1 -1
  27. package/dist/grpc/schemaReflection/protoMetadataExtractor.js +18 -25
  28. package/dist/grpc/schemaReflection/protoMetadataExtractor.js.map +1 -1
  29. package/dist/grpc/schemaReflection/schemaReflectionClient.js +8 -12
  30. package/dist/grpc/schemaReflection/schemaReflectionClient.js.map +1 -1
  31. package/dist/grpc/schemaReflection/schemaReflectionInitializer.js +8 -11
  32. package/dist/grpc/schemaReflection/schemaReflectionInitializer.js.map +1 -1
  33. package/dist/grpc/schemaReflection/schemaRegistry.js +1 -5
  34. package/dist/grpc/schemaReflection/schemaRegistry.js.map +1 -1
  35. package/dist/grpc/schemaReflection/types.js +4 -8
  36. package/dist/grpc/schemaReflection/types.js.map +1 -1
  37. package/dist/grpc/server.js +34 -35
  38. package/dist/grpc/server.js.map +1 -1
  39. package/dist/grpc/utils.js +9 -10
  40. package/dist/grpc/utils.js.map +1 -1
  41. package/dist/grpc/wrappers.js +8 -15
  42. package/dist/grpc/wrappers.js.map +1 -1
  43. package/dist/index.js +12 -38
  44. package/dist/index.js.map +1 -1
  45. package/dist/interfaces/action.js +10 -14
  46. package/dist/interfaces/action.js.map +1 -1
  47. package/dist/interfaces/actionExecutor.js +1 -2
  48. package/dist/interfaces/apiService.js +1 -2
  49. package/dist/interfaces/application.js +1 -2
  50. package/dist/interfaces/config.js +1 -2
  51. package/dist/interfaces/deps.js +1 -2
  52. package/dist/interfaces/errorCode.js +2 -5
  53. package/dist/interfaces/errorCode.js.map +1 -1
  54. package/dist/interfaces/featureFlag.js +1 -4
  55. package/dist/interfaces/featureFlag.js.map +1 -1
  56. package/dist/interfaces/grpc.js +4 -7
  57. package/dist/interfaces/grpc.js.map +1 -1
  58. package/dist/interfaces/index.js +8 -24
  59. package/dist/interfaces/index.js.map +1 -1
  60. package/dist/interfaces/moleculer.js +1 -2
  61. package/dist/interfaces/onInitResults.js +1 -2
  62. package/dist/interfaces/tracing.js +10 -15
  63. package/dist/interfaces/tracing.js.map +1 -1
  64. package/dist/metrics.js +4 -8
  65. package/dist/metrics.js.map +1 -1
  66. package/dist/moleculer/moleculerLogger.js +9 -12
  67. package/dist/moleculer/moleculerLogger.js.map +1 -1
  68. package/dist/moleculer/moleculerWrapper.js +42 -46
  69. package/dist/moleculer/moleculerWrapper.js.map +1 -1
  70. package/dist/plugins/openapi/actionVisitor.js +14 -20
  71. package/dist/plugins/openapi/actionVisitor.js.map +1 -1
  72. package/dist/plugins/openapi/index.js +6 -46
  73. package/dist/plugins/openapi/index.js.map +1 -1
  74. package/dist/plugins/openapi/parser.js +101 -111
  75. package/dist/plugins/openapi/parser.js.map +1 -1
  76. package/dist/plugins/pluginConstants.js +2 -5
  77. package/dist/plugins/pluginConstants.js.map +1 -1
  78. package/dist/tracing/index.js +32 -32
  79. package/dist/tracing/index.js.map +1 -1
  80. package/dist/types/actionExecutor.d.ts +2 -2
  81. package/dist/types/application.d.ts +2 -2
  82. package/dist/types/applicationHooks.d.ts +2 -2
  83. package/dist/types/baseDeps.d.ts +2 -2
  84. package/dist/types/grpc/grpcClient.d.ts +1 -1
  85. package/dist/types/grpc/grpcExecutor.d.ts +1 -1
  86. package/dist/types/grpc/grpcService.d.ts +4 -5
  87. package/dist/types/grpc/index.d.ts +6 -6
  88. package/dist/types/grpc/schemaReflection/grpcSchemaService.d.ts +1 -1
  89. package/dist/types/grpc/schemaReflection/index.d.ts +7 -7
  90. package/dist/types/grpc/schemaReflection/jsonSchemaGenerator.d.ts +1 -1
  91. package/dist/types/grpc/schemaReflection/protoMetadataExtractor.d.ts +1 -1
  92. package/dist/types/grpc/schemaReflection/schemaReflectionClient.d.ts +1 -1
  93. package/dist/types/grpc/schemaReflection/schemaReflectionInitializer.d.ts +1 -1
  94. package/dist/types/grpc/schemaReflection/schemaRegistry.d.ts +1 -1
  95. package/dist/types/grpc/server.d.ts +2 -2
  96. package/dist/types/index.d.ts +10 -10
  97. package/dist/types/interfaces/action.d.ts +2 -3
  98. package/dist/types/interfaces/actionExecutor.d.ts +1 -1
  99. package/dist/types/interfaces/application.d.ts +3 -3
  100. package/dist/types/interfaces/config.d.ts +1 -1
  101. package/dist/types/interfaces/deps.d.ts +5 -5
  102. package/dist/types/interfaces/featureFlag.d.ts +1 -1
  103. package/dist/types/interfaces/grpc.d.ts +1 -2
  104. package/dist/types/interfaces/index.d.ts +8 -8
  105. package/dist/types/moleculer/moleculerWrapper.d.ts +2 -2
  106. package/dist/types/tracing/index.d.ts +1 -1
  107. package/package.json +73 -62
  108. package/src/actionExecutor.ts +9 -9
  109. package/src/application.ts +17 -12
  110. package/src/applicationHooks.ts +6 -5
  111. package/src/baseDeps.ts +5 -5
  112. package/src/grpc/dynamicClient.ts +23 -13
  113. package/src/grpc/grpcClient.ts +7 -7
  114. package/src/grpc/grpcExecutor.ts +1 -1
  115. package/src/grpc/grpcService.ts +17 -14
  116. package/src/grpc/index.ts +6 -6
  117. package/src/grpc/reflectionFix.ts +6 -6
  118. package/src/grpc/schemaReflection/grpcSchemaService.ts +3 -3
  119. package/src/grpc/schemaReflection/index.ts +7 -7
  120. package/src/grpc/schemaReflection/jsonSchemaGenerator.ts +4 -4
  121. package/src/grpc/schemaReflection/protoMetadataExtractor.ts +7 -2
  122. package/src/grpc/schemaReflection/schemaReflectionClient.ts +2 -2
  123. package/src/grpc/schemaReflection/schemaReflectionInitializer.ts +5 -4
  124. package/src/grpc/schemaReflection/schemaRegistry.ts +1 -1
  125. package/src/grpc/server.ts +12 -4
  126. package/src/grpc/utils.ts +3 -0
  127. package/src/grpc/wrappers.ts +4 -6
  128. package/src/index.ts +19 -10
  129. package/src/interfaces/action.ts +4 -5
  130. package/src/interfaces/actionExecutor.ts +1 -1
  131. package/src/interfaces/application.ts +3 -3
  132. package/src/interfaces/config.ts +1 -1
  133. package/src/interfaces/deps.ts +5 -5
  134. package/src/interfaces/featureFlag.ts +1 -1
  135. package/src/interfaces/grpc.ts +1 -2
  136. package/src/interfaces/index.ts +8 -8
  137. package/src/moleculer/moleculerWrapper.ts +12 -9
  138. package/src/plugins/openapi/actionVisitor.ts +3 -4
  139. package/src/plugins/openapi/index.ts +1 -3
  140. package/src/plugins/openapi/parser.ts +8 -13
  141. package/src/tracing/index.ts +12 -6
@@ -1,17 +1,11 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ActionExecutor = void 0;
7
- const api_1 = require("@opentelemetry/api");
8
- const p_timeout_1 = __importDefault(require("p-timeout"));
9
- const diia_metrics_1 = require("@diia-inhouse/diia-metrics");
10
- const errors_1 = require("@diia-inhouse/errors");
11
- const types_1 = require("@diia-inhouse/types");
12
- const utils_1 = require("@diia-inhouse/utils");
13
- const tracing_1 = require("./interfaces/tracing");
14
- class ActionExecutor {
1
+ import { SpanStatusCode, context, propagation, trace } from '@opentelemetry/api';
2
+ import pTimeout from 'p-timeout';
3
+ import { RequestMechanism, RequestStatus } from '@diia-inhouse/diia-metrics';
4
+ import { ErrorType } from '@diia-inhouse/errors';
5
+ import { SessionType, } from '@diia-inhouse/types';
6
+ import { utils } from '@diia-inhouse/utils';
7
+ import { ATTR_MESSAGE_ID, ATTR_MESSAGE_TYPE, ATTR_MESSAGING_SYSTEM } from './interfaces/tracing.js';
8
+ export class ActionExecutor {
15
9
  asyncLocalStorage;
16
10
  logger;
17
11
  validator;
@@ -27,12 +21,12 @@ class ActionExecutor {
27
21
  this.metrics = metrics;
28
22
  this.redlock = redlock;
29
23
  }
30
- async execute(params) {
31
- const { action, transport, tracingMetadata, spanKind, actionArguments } = params;
32
- const tracer = api_1.trace.getTracer(this.systemServiceName);
33
- const telemetryActiveContext = api_1.propagation.extract(api_1.context.active(), tracingMetadata);
24
+ async execute(executeParams) {
25
+ const { action, transport, tracingMetadata, spanKind, actionArguments } = executeParams;
26
+ const tracer = trace.getTracer(this.systemServiceName);
27
+ const telemetryActiveContext = propagation.extract(context.active(), tracingMetadata);
34
28
  let actionName = action.name;
35
- if (transport === diia_metrics_1.RequestMechanism.Grpc && this.isGrpcAction(action)) {
29
+ if (transport === RequestMechanism.Grpc && this.isGrpcAction(action)) {
36
30
  if (action.grpcMethod?.path) {
37
31
  actionName = action.grpcMethod?.path;
38
32
  }
@@ -48,7 +42,7 @@ class ActionExecutor {
48
42
  const span = tracer.startSpan(`handle ${actionName}`, {
49
43
  kind: spanKind,
50
44
  attributes: {
51
- [tracing_1.ATTR_MESSAGING_SYSTEM]: transport,
45
+ [ATTR_MESSAGING_SYSTEM]: transport,
52
46
  ...(source !== 'unknown' && { 'messaging.caller': source }),
53
47
  },
54
48
  }, activeContext);
@@ -59,8 +53,8 @@ class ActionExecutor {
59
53
  destination: this.systemServiceName,
60
54
  route: actionName,
61
55
  };
62
- span.addEvent('message', { [tracing_1.ATTR_MESSAGE_ID]: 1, [tracing_1.ATTR_MESSAGE_TYPE]: 'RECEIVED' });
63
- return await api_1.context.with(api_1.trace.setSpan(telemetryActiveContext, span), async () => {
56
+ span.addEvent('message', { [ATTR_MESSAGE_ID]: 1, [ATTR_MESSAGE_TYPE]: 'RECEIVED' });
57
+ return await context.with(trace.setSpan(telemetryActiveContext, span), async () => {
64
58
  const logData = this.buildLogData(actionArguments);
65
59
  const { params, session, headers } = actionArguments;
66
60
  const alsData = { logData: this.logger.prepareContext(logData), session, headers };
@@ -71,7 +65,7 @@ class ActionExecutor {
71
65
  if (actionLockResource && this.redlock) {
72
66
  const lockResource = `${action.name}.${actionLockResource}`;
73
67
  try {
74
- lock = await (0, p_timeout_1.default)(this.redlock.lock(lockResource, this.actionLockTtl).catch((err) => {
68
+ lock = await pTimeout(this.redlock.lock(lockResource, this.actionLockTtl).catch((err) => {
75
69
  this.logger.error(`Caught error while acquiring lock for action: ${actionName}`, { err });
76
70
  }), action.tryLockTimeout ?? Infinity, () => { });
77
71
  }
@@ -81,24 +75,24 @@ class ActionExecutor {
81
75
  }
82
76
  try {
83
77
  const validationSchema = { params: { type: 'object', props: action.validationRules } };
84
- const validationErrorType = session?.sessionType === types_1.SessionType.Partner ? errors_1.ErrorType.Operated : undefined;
78
+ const validationErrorType = session?.sessionType === SessionType.Partner ? ErrorType.Operated : undefined;
85
79
  this.validator.validate(actionArguments, validationSchema, validationErrorType);
86
80
  if (headers) {
87
81
  headers.serviceCode = action.getServiceCode?.(actionArguments);
88
82
  }
89
83
  const res = await action.handler(actionArguments);
90
84
  this.logger.info(`ACT IN RESULT: ${actionName}`, res);
91
- this.metrics.responseTotalTimerMetric.observeSeconds({ ...defaultLabels, status: diia_metrics_1.RequestStatus.Successful }, process.hrtime.bigint() - startTime);
92
- span.setStatus({ code: api_1.SpanStatusCode.OK });
93
- span.addEvent('message', { [tracing_1.ATTR_MESSAGE_ID]: 2, [tracing_1.ATTR_MESSAGE_TYPE]: 'SENT' });
85
+ this.metrics.responseTotalTimerMetric.observeSeconds({ ...defaultLabels, status: RequestStatus.Successful }, process.hrtime.bigint() - startTime);
86
+ span.setStatus({ code: SpanStatusCode.OK });
87
+ span.addEvent('message', { [ATTR_MESSAGE_ID]: 2, [ATTR_MESSAGE_TYPE]: 'SENT' });
94
88
  return res;
95
89
  }
96
90
  catch (err) {
97
91
  this.logger.error(`ACT IN FAILED: ${actionName}`, { err, version: action.actionVersion, params, session });
98
- utils_1.utils.handleError(err, (apiErr) => {
92
+ utils.handleError(err, (apiErr) => {
99
93
  this.metrics.responseTotalTimerMetric.observeSeconds({
100
94
  ...defaultLabels,
101
- status: diia_metrics_1.RequestStatus.Failed,
95
+ status: RequestStatus.Failed,
102
96
  errorType: apiErr.getType(),
103
97
  statusCode: apiErr.getCode(),
104
98
  }, process.hrtime.bigint() - startTime);
@@ -107,9 +101,9 @@ class ActionExecutor {
107
101
  code: apiErr.getCode(),
108
102
  name: apiErr.getName(),
109
103
  });
110
- span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: apiErr.getMessage() });
104
+ span.setStatus({ code: SpanStatusCode.ERROR, message: apiErr.getMessage() });
111
105
  });
112
- span.addEvent('message', { [tracing_1.ATTR_MESSAGE_ID]: 2, [tracing_1.ATTR_MESSAGE_TYPE]: 'SENT' });
106
+ span.addEvent('message', { [ATTR_MESSAGE_ID]: 2, [ATTR_MESSAGE_TYPE]: 'SENT' });
113
107
  throw err;
114
108
  }
115
109
  finally {
@@ -121,51 +115,51 @@ class ActionExecutor {
121
115
  }
122
116
  buildLogData(actionArguments) {
123
117
  const session = 'session' in actionArguments ? actionArguments.session : null;
124
- const sessionType = session?.sessionType ?? types_1.SessionType.None;
118
+ const sessionType = session?.sessionType ?? SessionType.None;
125
119
  const logData = {
126
120
  sessionType,
127
121
  ...actionArguments.headers,
128
122
  };
129
123
  switch (sessionType) {
130
- case types_1.SessionType.PortalUser:
131
- case types_1.SessionType.EResidentApplicant:
132
- case types_1.SessionType.EResident:
133
- case types_1.SessionType.User: {
124
+ case SessionType.PortalUser:
125
+ case SessionType.EResidentApplicant:
126
+ case SessionType.EResident:
127
+ case SessionType.User: {
134
128
  const { user: { identifier }, } = session;
135
129
  logData.userIdentifier = identifier;
136
130
  break;
137
131
  }
138
- case types_1.SessionType.ServiceUser: {
132
+ case SessionType.ServiceUser: {
139
133
  const { serviceUser: { login }, } = session;
140
134
  logData.sessionOwnerId = login;
141
135
  break;
142
136
  }
143
- case types_1.SessionType.Partner: {
137
+ case SessionType.Partner: {
144
138
  const { partner: { _id: id }, } = session;
145
- logData.sessionOwnerId = id.toString();
139
+ logData.sessionOwnerId = id;
146
140
  break;
147
141
  }
148
- case types_1.SessionType.Acquirer: {
142
+ case SessionType.Acquirer: {
149
143
  const { acquirer: { _id: id }, } = session;
150
- logData.sessionOwnerId = id.toString();
144
+ logData.sessionOwnerId = id;
151
145
  break;
152
146
  }
153
- case types_1.SessionType.Temporary: {
147
+ case SessionType.Temporary: {
154
148
  const { temporary: { mobileUid }, } = session;
155
149
  logData.sessionOwnerId = mobileUid;
156
150
  break;
157
151
  }
158
- case types_1.SessionType.ServiceEntrance: {
152
+ case SessionType.ServiceEntrance: {
159
153
  const { entrance: { acquirerId }, } = session;
160
- logData.sessionOwnerId = acquirerId.toString();
154
+ logData.sessionOwnerId = acquirerId;
161
155
  break;
162
156
  }
163
- case types_1.SessionType.None: {
157
+ case SessionType.None: {
164
158
  break;
165
159
  }
166
160
  default: {
167
161
  const unexpectedSessionType = sessionType;
168
- this.logger.warn(`Unexpected session type for the logData: ${unexpectedSessionType}`);
162
+ this.logger.warn(`Unexpected session type for the logData: ${String(unexpectedSessionType)}`);
169
163
  }
170
164
  }
171
165
  return logData;
@@ -174,16 +168,15 @@ class ActionExecutor {
174
168
  return 'grpcMethod' in action;
175
169
  }
176
170
  compareSpanContext(customContext) {
177
- const customSpanContext = api_1.trace.getSpanContext(customContext);
178
- const activeSpan = api_1.trace.getSpan(api_1.context.active());
171
+ const customSpanContext = trace.getSpanContext(customContext);
172
+ const activeSpan = trace.getSpan(context.active());
179
173
  const activeSpanContext = activeSpan ? activeSpan.spanContext() : null;
180
- let parentContext = api_1.context.active();
174
+ let parentContext = context.active();
181
175
  if (customSpanContext) {
182
176
  const isMatchingTrace = activeSpanContext?.traceId === customSpanContext?.traceId;
183
- parentContext = isMatchingTrace ? api_1.context.active() : customContext;
177
+ parentContext = isMatchingTrace ? context.active() : customContext;
184
178
  }
185
179
  return parentContext;
186
180
  }
187
181
  }
188
- exports.ActionExecutor = ActionExecutor;
189
182
  //# sourceMappingURL=actionExecutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actionExecutor.js","sourceRoot":"","sources":["../src/actionExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actionExecutor.js","sourceRoot":"","sources":["../src/actionExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,20 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Application = void 0;
7
- const node_async_hooks_1 = require("node:async_hooks");
8
- const node_os_1 = require("node:os");
9
- const node_path_1 = __importDefault(require("node:path"));
10
- const awilix_1 = require("awilix");
11
- const lodash_1 = require("lodash");
12
- const pluralize_1 = require("pluralize");
13
- const diia_metrics_1 = require("@diia-inhouse/diia-metrics");
14
- const env_1 = require("@diia-inhouse/env");
15
- const applicationHooks_1 = require("./applicationHooks");
16
- const baseDeps_1 = require("./baseDeps");
17
- const metrics_1 = require("./metrics");
18
- class Application extends applicationHooks_1.ApplicationHooks {
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import { createRequire } from 'node:module';
3
+ import { hostname } from 'node:os';
4
+ import path from 'node:path';
5
+ import { InjectionMode, asClass, asValue, createContainer, listModules, } from 'awilix';
6
+ import lodash from 'lodash';
7
+ import pluralize from 'pluralize';
8
+ import { Counter, Observer } from '@diia-inhouse/diia-metrics';
9
+ import { Env, EnvService } from '@diia-inhouse/env';
10
+ import { ApplicationHooks } from './applicationHooks.js';
11
+ import { getBaseDeps } from './baseDeps.js';
12
+ import { nodeEnvAllowedFields } from './metrics.js';
13
+ // oxlint-disable-next-line typescript/unbound-method
14
+ const { camelCase, upperFirst } = lodash;
15
+ const { singular } = pluralize;
16
+ const requireFromHere = createRequire(import.meta.url);
17
+ export class Application extends ApplicationHooks {
19
18
  serviceName;
20
19
  nodeTracerProvider;
21
20
  container;
@@ -39,19 +38,18 @@ class Application extends applicationHooks_1.ApplicationHooks {
39
38
  super();
40
39
  this.serviceName = serviceName;
41
40
  this.nodeTracerProvider = nodeTracerProvider;
42
- this.baseContainer = (0, awilix_1.createContainer)({ injectionMode: awilix_1.InjectionMode.CLASSIC }).register({
43
- serviceName: (0, awilix_1.asValue)(this.serviceName),
44
- systemServiceName: (0, awilix_1.asValue)(env_1.EnvService.getVar('APP_NAME', 'string', null) || this.serviceName),
45
- hostName: (0, awilix_1.asValue)(env_1.EnvService.getVar('POD_NAME', 'string', null) || (0, node_os_1.hostname)()),
46
- envService: (0, awilix_1.asClass)(env_1.EnvService).singleton(),
41
+ this.baseContainer = createContainer({ injectionMode: InjectionMode.CLASSIC }).register({
42
+ serviceName: asValue(this.serviceName),
43
+ systemServiceName: asValue(EnvService.getVar('APP_NAME', 'string', null) || this.serviceName),
44
+ hostName: asValue(EnvService.getVar('POD_NAME', 'string', null) || hostname()),
45
+ envService: asClass(EnvService).singleton(),
47
46
  // prettier-ignore
48
- // eslint-disable-next-line security/detect-non-literal-require
49
- logger: (0, awilix_1.asClass)(require(loggerPkg).default, {
50
- injector: () => ({ options: loggerOptions }),
47
+ logger: asClass(requireFromHere(loggerPkg).default, {
48
+ injector: () => ({ options: { redactDisabled: EnvService.getVar('NODE_ENV', 'string') === Env.Sandbox, ...loggerOptions } }),
51
49
  }).singleton(),
52
- asyncLocalStorage: (0, awilix_1.asValue)(new node_async_hooks_1.AsyncLocalStorage()),
50
+ asyncLocalStorage: asValue(new AsyncLocalStorage()),
53
51
  });
54
- this.nodeEnvObserver = new diia_metrics_1.Observer('diia_node_env', metrics_1.nodeEnvAllowedFields, 'Indicates the NODE_ENV environment value', {
52
+ this.nodeEnvObserver = new Observer('diia_node_env', nodeEnvAllowedFields, 'Indicates the NODE_ENV environment value', {
55
53
  onCollect: () => ({
56
54
  labels: { env: this.baseContainer.resolve('envService').getEnv() },
57
55
  value: 1,
@@ -105,17 +103,17 @@ class Application extends applicationHooks_1.ApplicationHooks {
105
103
  }
106
104
  defaultNameFormatter(folderName, depsDir) {
107
105
  return (_, descriptor) => {
108
- const parsedPath = node_path_1.default.parse(descriptor.path);
106
+ const parsedPath = path.parse(descriptor.path);
109
107
  const fileName = parsedPath.name;
110
108
  const dependencyPath = parsedPath.dir
111
- .split(`${depsDir ?? this.getDepsDir()}${node_path_1.default.sep}${folderName}`)[1]
112
- .split(node_path_1.default.sep)
113
- .map((p) => (0, lodash_1.upperFirst)(p));
109
+ .split(`${depsDir ?? this.getDepsDir()}${path.sep}${folderName}`)[1]
110
+ .split(path.sep)
111
+ .map((p) => upperFirst(p));
114
112
  if (fileName !== 'index') {
115
- dependencyPath.push((0, lodash_1.upperFirst)(fileName));
113
+ dependencyPath.push(upperFirst(fileName));
116
114
  }
117
- const dependencyType = (0, lodash_1.upperFirst)((0, pluralize_1.singular)(folderName));
118
- return (0, lodash_1.camelCase)(`${dependencyPath.join('')}${dependencyType}`);
115
+ const dependencyType = upperFirst(singular(folderName));
116
+ return camelCase(`${dependencyPath.join('')}${dependencyType}`);
119
117
  };
120
118
  }
121
119
  extractDepsFromFolder(options) {
@@ -126,7 +124,7 @@ class Application extends applicationHooks_1.ApplicationHooks {
126
124
  fileMask = `{*.js,${adapter}/**/*.js}`;
127
125
  }
128
126
  const directory = `${depsDir ?? this.getDepsDir()}/${folderName}/${fileMask}`;
129
- const modules = (0, awilix_1.listModules)(directory);
127
+ const modules = listModules(directory);
130
128
  return modules;
131
129
  }
132
130
  async extractDependenciesFromModules(modules, depsDir) {
@@ -142,7 +140,7 @@ class Application extends applicationHooks_1.ApplicationHooks {
142
140
  const { folderName, filePath, file } = dep;
143
141
  const options = this.defaultFoldersWithDeps[folderName] ?? { folderName };
144
142
  const { groupName, nameFormatter = this.defaultNameFormatter(folderName, depsDir) } = options;
145
- const { name } = node_path_1.default.parse(filePath);
143
+ const { name } = path.parse(filePath);
146
144
  const registrationName = nameFormatter(name, { path: filePath });
147
145
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
148
146
  const module = await file();
@@ -161,7 +159,7 @@ class Application extends applicationHooks_1.ApplicationHooks {
161
159
  for (const module of modules) {
162
160
  const { name, path: modulePath } = module;
163
161
  const registrationName = nameFormatter(name, { ...module, value: '' });
164
- const dependency = await import(node_path_1.default.resolve(modulePath));
162
+ const dependency = await import(path.resolve(modulePath));
165
163
  const defaultExport = dependency.default?.default ?? dependency.default;
166
164
  if (typeof defaultExport === 'function') {
167
165
  dependencies.push({ groupName, registrationName, dependency: defaultExport });
@@ -171,7 +169,7 @@ class Application extends applicationHooks_1.ApplicationHooks {
171
169
  return this;
172
170
  }
173
171
  registerDependency(dependency, registrationName, groupName) {
174
- this.baseContainer.register(registrationName, (0, awilix_1.asClass)(dependency, {
172
+ this.baseContainer.register(registrationName, asClass(dependency, {
175
173
  injector: (c) => {
176
174
  const logger = c.resolve('logger');
177
175
  const childLogger = logger.child?.({ regName: registrationName });
@@ -184,12 +182,12 @@ class Application extends applicationHooks_1.ApplicationHooks {
184
182
  }
185
183
  registerGroup(groupName) {
186
184
  if (!Object.keys(this.baseContainer.registrations).includes(groupName)) {
187
- this.baseContainer.register(groupName, (0, awilix_1.asValue)([]));
185
+ this.baseContainer.register(groupName, asValue([]));
188
186
  }
189
187
  this.groupedDepsNames[groupName] = this.groupedDepsNames[groupName] || [];
190
188
  }
191
189
  getDepsDir() {
192
- return node_path_1.default.resolve(this.config?.depsDir ?? 'dist');
190
+ return path.resolve(this.config?.depsDir ?? 'dist');
193
191
  }
194
192
  registerDependencies(dependencies) {
195
193
  for (const dependency of dependencies) {
@@ -215,7 +213,7 @@ class Application extends applicationHooks_1.ApplicationHooks {
215
213
  const { ExternalCommunicator, ExternalEventBus, ScheduledTask, EventBus, Task } = await import('@diia-inhouse/diia-queue');
216
214
  asyncCommunicationClasses.push(ExternalCommunicator, ExternalEventBus, ScheduledTask, EventBus, Task);
217
215
  }
218
- return await (0, baseDeps_1.getBaseDeps)(config);
216
+ return await getBaseDeps(config);
219
217
  }
220
218
  async start() {
221
219
  if (!this.container) {
@@ -278,14 +276,14 @@ class Application extends applicationHooks_1.ApplicationHooks {
278
276
  process.on('SIGQUIT', (signal) => this.onShutDown(`On ${signal} shutdown`));
279
277
  process.on('SIGTERM', (signal) => this.onShutDown(`On ${signal} shutdown`));
280
278
  }
281
- const UncaughtExceptionMetric = new diia_metrics_1.Counter('uncaught_exceptions_total', [], 'Indicates the number of uncaught exceptions', {
279
+ const UncaughtExceptionMetric = new Counter('uncaught_exceptions_total', [], 'Indicates the number of uncaught exceptions', {
282
280
  registry: this.baseContainer.resolve('metrics').pushGatewayRegistry,
283
281
  });
284
282
  process.on('uncaughtException', async (err) => {
285
283
  UncaughtExceptionMetric.increment({});
286
284
  this.baseContainer?.resolve('logger').error('On uncaughtException', { err });
287
285
  });
288
- const UnhandledRejectionMetric = new diia_metrics_1.Counter('unhandled_rejections_total', [], 'Indicates the number of unhandled rejections', {
286
+ const UnhandledRejectionMetric = new Counter('unhandled_rejections_total', [], 'Indicates the number of unhandled rejections', {
289
287
  registry: this.baseContainer.resolve('metrics').pushGatewayRegistry,
290
288
  });
291
289
  process.on('unhandledRejection', async (err) => {
@@ -306,10 +304,8 @@ class Application extends applicationHooks_1.ApplicationHooks {
306
304
  catch (err) {
307
305
  this.baseContainer?.resolve('logger').error('Failed to stop service. Shutdown completed', { err });
308
306
  }
309
- // eslint-disable-next-line unicorn/no-process-exit
310
307
  setImmediate(() => process.exit(error ? 1 : 0));
311
308
  }
312
309
  }
313
- exports.Application = Application;
314
- exports.default = Application;
310
+ export default Application;
315
311
  //# sourceMappingURL=application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ApplicationHooks = void 0;
7
- const diia_metrics_1 = require("@diia-inhouse/diia-metrics");
8
- const env_1 = require("@diia-inhouse/env");
9
- const utils_1 = require("@diia-inhouse/utils");
10
- const grpc_1 = require("./grpc");
11
- const moleculerWrapper_1 = __importDefault(require("./moleculer/moleculerWrapper"));
12
- class ApplicationHooks {
13
- syncCommunicationClasses = [moleculerWrapper_1.default, grpc_1.GrpcService];
1
+ import { MetricsService } from '@diia-inhouse/diia-metrics';
2
+ import { EnvService } from '@diia-inhouse/env';
3
+ import { guards } from '@diia-inhouse/utils';
4
+ import { GrpcService } from './grpc/index.js';
5
+ import MoleculerService from './moleculer/moleculerWrapper.js';
6
+ export class ApplicationHooks {
7
+ syncCommunicationClasses = [MoleculerService, GrpcService];
14
8
  async runOnStartHooks() {
15
9
  if (!this.container) {
16
10
  throw new Error('Container should be initialized before start hooks');
@@ -21,10 +15,10 @@ class ApplicationHooks {
21
15
  const onInitHooksInOrder = [[], [], [], [], []];
22
16
  for (const name of registeredObjects) {
23
17
  const instance = this.container.resolve(name);
24
- if (utils_1.guards.hasOnRegistrationsFinishedHook(instance)) {
18
+ if (guards.hasOnRegistrationsFinishedHook(instance)) {
25
19
  onRegistrationsFinishedHooks.push(instance);
26
20
  }
27
- if (utils_1.guards.hasOnInitHook(instance)) {
21
+ if (guards.hasOnInitHook(instance)) {
28
22
  const order = this.getOnInitOrder(instance);
29
23
  onInitHooksInOrder[order].push({ name: name, instance });
30
24
  }
@@ -57,10 +51,10 @@ class ApplicationHooks {
57
51
  const onBeforeAppShutdownInstances = [];
58
52
  for (const name of registeredInstances) {
59
53
  const instance = this.container.resolve(name);
60
- if (utils_1.guards.hasOnBeforeApplicationShutdownHook(instance)) {
54
+ if (guards.hasOnBeforeApplicationShutdownHook(instance)) {
61
55
  onBeforeAppShutdownInstances.push(instance);
62
56
  }
63
- if (utils_1.guards.hasOnDestroyHook(instance)) {
57
+ if (guards.hasOnDestroyHook(instance)) {
64
58
  const order = this.getOnDestroyOrder(instance);
65
59
  onDestroyHooksInOrder[order] ??= [];
66
60
  onDestroyHooksInOrder[order].push(instance);
@@ -102,13 +96,14 @@ class ApplicationHooks {
102
96
  }
103
97
  async allSettledHookTasks(tasks) {
104
98
  const results = await Promise.allSettled(tasks);
105
- return results.filter(utils_1.guards.isSettledError).map((err) => new Error(err.reason));
99
+ // oxlint-disable-next-line typescript/unbound-method
100
+ return results.filter(guards.isSettledError).map((err) => new Error(err.reason));
106
101
  }
107
102
  getOnInitOrder(instance) {
108
- if (instance.constructor.name === env_1.EnvService.name) {
103
+ if (instance.constructor.name === EnvService.name) {
109
104
  return 0;
110
105
  }
111
- if (instance.constructor.name === diia_metrics_1.MetricsService.name) {
106
+ if (instance.constructor.name === MetricsService.name) {
112
107
  return 1;
113
108
  }
114
109
  if (this.syncCommunicationClasses.some((item) => instance.constructor.name === item.name)) {
@@ -125,5 +120,4 @@ class ApplicationHooks {
125
120
  return Math.abs(onInitOrder - maxInitOrder);
126
121
  }
127
122
  }
128
- exports.ApplicationHooks = ApplicationHooks;
129
123
  //# sourceMappingURL=applicationHooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applicationHooks.js","sourceRoot":"","sources":["../src/applicationHooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applicationHooks.js","sourceRoot":"","sources":["../src/applicationHooks.ts"],"names":[],"mappings":"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"}