@open-rlb/nestjs-amqp 2.0.13 → 2.1.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 (79) hide show
  1. package/amqp-lib/amqp/connection.d.ts +5 -0
  2. package/amqp-lib/amqp/connection.js +78 -21
  3. package/amqp-lib/amqp/connection.js.map +1 -1
  4. package/amqp-lib/amqp/retry-policy.d.ts +25 -0
  5. package/amqp-lib/amqp/retry-policy.js +101 -0
  6. package/amqp-lib/amqp/retry-policy.js.map +1 -0
  7. package/amqp-lib/config/rabbitmq.config.d.ts +2 -0
  8. package/amqp-lib/index.d.ts +1 -0
  9. package/amqp-lib/index.js +1 -0
  10. package/amqp-lib/index.js.map +1 -1
  11. package/amqp-lib/models/errors.model.d.ts +4 -0
  12. package/amqp-lib/models/errors.model.js +9 -1
  13. package/amqp-lib/models/errors.model.js.map +1 -1
  14. package/amqp-lib/models/rabbitmq-handler.model.d.ts +2 -0
  15. package/modules/acl/acl.module.js +3 -1
  16. package/modules/acl/acl.module.js.map +1 -1
  17. package/modules/acl/cache/acl-cache.service.d.ts +5 -1
  18. package/modules/acl/cache/acl-cache.service.js +23 -3
  19. package/modules/acl/cache/acl-cache.service.js.map +1 -1
  20. package/modules/acl/config/acl.config.d.ts +8 -0
  21. package/modules/acl/const.d.ts +2 -0
  22. package/modules/acl/const.js +3 -1
  23. package/modules/acl/const.js.map +1 -1
  24. package/modules/acl/index.d.ts +1 -0
  25. package/modules/acl/index.js +1 -0
  26. package/modules/acl/index.js.map +1 -1
  27. package/modules/acl/services/acl-invalidation.service.d.ts +18 -0
  28. package/modules/acl/services/acl-invalidation.service.js +81 -0
  29. package/modules/acl/services/acl-invalidation.service.js.map +1 -0
  30. package/modules/acl/services/acl-management.service.d.ts +7 -1
  31. package/modules/acl/services/acl-management.service.js +31 -15
  32. package/modules/acl/services/acl-management.service.js.map +1 -1
  33. package/modules/acl/services/acl.service.d.ts +9 -1
  34. package/modules/acl/services/acl.service.js +42 -12
  35. package/modules/acl/services/acl.service.js.map +1 -1
  36. package/modules/broker/broker.module.d.ts +2 -0
  37. package/modules/broker/broker.module.js +23 -2
  38. package/modules/broker/broker.module.js.map +1 -1
  39. package/modules/broker/config/topics.config.d.ts +2 -0
  40. package/modules/broker/decorators/broker-action.decorator.d.ts +3 -1
  41. package/modules/broker/decorators/broker-action.decorator.js +2 -1
  42. package/modules/broker/decorators/broker-action.decorator.js.map +1 -1
  43. package/modules/broker/services/broker.service.js +39 -16
  44. package/modules/broker/services/broker.service.js.map +1 -1
  45. package/modules/broker/services/metadata-scanner.service.js +45 -32
  46. package/modules/broker/services/metadata-scanner.service.js.map +1 -1
  47. package/modules/gateway-admin/config/gateway-admin.config.d.ts +1 -0
  48. package/modules/gateway-admin/const.d.ts +2 -0
  49. package/modules/gateway-admin/const.js +3 -1
  50. package/modules/gateway-admin/const.js.map +1 -1
  51. package/modules/gateway-admin/index.d.ts +1 -0
  52. package/modules/gateway-admin/index.js +1 -0
  53. package/modules/gateway-admin/index.js.map +1 -1
  54. package/modules/gateway-admin/repository/http-path.repository.js.map +1 -1
  55. package/modules/gateway-admin/scheduler-lock.d.ts +8 -0
  56. package/modules/gateway-admin/scheduler-lock.js +8 -0
  57. package/modules/gateway-admin/scheduler-lock.js.map +1 -0
  58. package/modules/gateway-admin/services/gateway-metrics-rollup.service.d.ts +8 -1
  59. package/modules/gateway-admin/services/gateway-metrics-rollup.service.js +59 -4
  60. package/modules/gateway-admin/services/gateway-metrics-rollup.service.js.map +1 -1
  61. package/modules/gateway-admin/services/gateway-metrics.service.d.ts +4 -1
  62. package/modules/gateway-admin/services/gateway-metrics.service.js +19 -6
  63. package/modules/gateway-admin/services/gateway-metrics.service.js.map +1 -1
  64. package/modules/gateway-admin/services/gateway-retention.service.d.ts +4 -1
  65. package/modules/gateway-admin/services/gateway-retention.service.js +33 -3
  66. package/modules/gateway-admin/services/gateway-retention.service.js.map +1 -1
  67. package/modules/gateway-admin/services/route-sync.service.js +25 -5
  68. package/modules/gateway-admin/services/route-sync.service.js.map +1 -1
  69. package/modules/proxy/config/path-definition.config.d.ts +7 -0
  70. package/modules/proxy/services/http-handler.service.d.ts +3 -0
  71. package/modules/proxy/services/http-handler.service.js +54 -6
  72. package/modules/proxy/services/http-handler.service.js.map +1 -1
  73. package/modules/proxy/services/websocket.service.js +28 -2
  74. package/modules/proxy/services/websocket.service.js.map +1 -1
  75. package/package.json +1 -1
  76. package/schematics/nest-add/files/skills/rlb-amqp/references/config-schema.md +20 -3
  77. package/schematics/nest-add/files/skills/rlb-amqp/references/gotchas.md +19 -3
  78. package/schematics/nest-add/files/skills/rlb-amqp-acl/SKILL.md +35 -10
  79. package/schematics/nest-add/files/skills/rlb-amqp-gateway-admin/SKILL.md +27 -1
@@ -10,6 +10,7 @@ var BrokerModule_1;
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.BrokerModule = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
12
12
  const common_1 = require("@nestjs/common");
13
+ const os_1 = require("os");
13
14
  const amqp_lib_1 = require("@open-rlb/nestjs-amqp/amqp-lib");
14
15
  const const_1 = require("./const");
15
16
  const auto_discovery_service_1 = require("./services/auto-discovery.service");
@@ -38,6 +39,26 @@ let BrokerModule = BrokerModule_1 = class BrokerModule {
38
39
  },
39
40
  };
40
41
  }
42
+ static withInstanceUniqueConnectionName(options) {
43
+ const cmo = options.connectionManagerOptions || {};
44
+ const co = cmo.connectionOptions || {};
45
+ const cp = co.clientProperties || {};
46
+ if (!cp.connection_name)
47
+ return options;
48
+ return {
49
+ ...options,
50
+ connectionManagerOptions: {
51
+ ...cmo,
52
+ connectionOptions: {
53
+ ...co,
54
+ clientProperties: { ...cp, connection_name: `${cp.connection_name}-${(0, os_1.hostname)()}-${process.pid}` },
55
+ },
56
+ },
57
+ };
58
+ }
59
+ static buildOptions(options) {
60
+ return BrokerModule_1.withInstanceUniqueConnectionName(BrokerModule_1.withServiceNameConnection(options));
61
+ }
41
62
  static forRoot(options, topics, appOptions) {
42
63
  if (!options) {
43
64
  throw new Error('RabbitMQConfig is required');
@@ -45,7 +66,7 @@ let BrokerModule = BrokerModule_1 = class BrokerModule {
45
66
  if (!topics) {
46
67
  throw new Error('At least one topic is required');
47
68
  }
48
- const opts = BrokerModule_1.withServiceNameConnection(options);
69
+ const opts = BrokerModule_1.buildOptions(options);
49
70
  const amqpOptionsProvider = { provide: const_1.RLB_AMQP_BROKER_OPTIONS, useValue: opts };
50
71
  const topicOptionsProvider = { provide: const_1.RLB_AMQP_TOPIC_CONNECTION, useValue: topics };
51
72
  const appOptionsProvider = { provide: const_1.RLB_AMQP_APP_OPTIONS, useValue: appOptions };
@@ -71,7 +92,7 @@ let BrokerModule = BrokerModule_1 = class BrokerModule {
71
92
  provide: const_1.RLB_AMQP_BROKER_OPTIONS,
72
93
  useFactory: async (...args) => {
73
94
  const result = await asyncOptions.useFactory(...args);
74
- return BrokerModule_1.withServiceNameConnection(result.options);
95
+ return BrokerModule_1.buildOptions(result.options);
75
96
  },
76
97
  inject: asyncOptions.inject || [],
77
98
  };
@@ -1 +1 @@
1
- {"version":3,"file":"broker.module.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/broker/broker.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.module.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/broker/broker.module.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { RetryPolicyConfig } from '../../../amqp-lib/amqp/retry-policy';
1
2
  import { MessageHandlerErrorBehavior } from '../../../amqp-lib/types';
2
3
  export interface BrokerTopic {
3
4
  name: string;
@@ -7,6 +8,7 @@ export interface BrokerTopic {
7
8
  routingKey?: string;
8
9
  exchange?: string;
9
10
  errorBehavior?: MessageHandlerErrorBehavior;
11
+ retry?: RetryPolicyConfig;
10
12
  mandatory?: boolean;
11
13
  persistent?: boolean;
12
14
  }
@@ -3,7 +3,9 @@ export type BrokerParamSource = 'body' | 'body-full' | 'header' | 'tag' | 'actio
3
3
  export type BrokerActionType = 'rpc' | 'event';
4
4
  export type BrokerHttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
5
5
  export type BrokerHttpDataSource = 'query' | 'body' | 'params' | 'body-query' | 'query-body';
6
- export declare function BrokerAction(topic: string, action: string, type?: BrokerActionType): MethodDecorator;
6
+ export declare function BrokerAction(topic: string, action: string, type?: BrokerActionType, options?: {
7
+ optional?: boolean;
8
+ }): MethodDecorator;
7
9
  export declare function BrokerHTTP(method: BrokerHttpMethod, path: string, dataSource: BrokerHttpDataSource, options?: {
8
10
  action?: string;
9
11
  name?: string;
@@ -7,7 +7,7 @@ exports.BrokerParam = BrokerParam;
7
7
  const const_1 = require("../const");
8
8
  const STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
9
9
  const ARGUMENT_NAMES = /([^\s,]+)/g;
10
- function BrokerAction(topic, action, type) {
10
+ function BrokerAction(topic, action, type, options) {
11
11
  return (target, propertyKey, descriptor) => {
12
12
  const existingMetadata = Reflect.getMetadata(const_1.RLB_BROKER_METHOD_METADATA_KEY, target.constructor) || [];
13
13
  const params = getParamNames(descriptor.value);
@@ -16,6 +16,7 @@ function BrokerAction(topic, action, type) {
16
16
  topic,
17
17
  action,
18
18
  type,
19
+ optional: options?.optional,
19
20
  params
20
21
  });
21
22
  Reflect.defineMetadata(const_1.RLB_BROKER_METHOD_METADATA_KEY, existingMetadata, target.constructor);
@@ -1 +1 @@
1
- {"version":3,"file":"broker-action.decorator.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/decorators/broker-action.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker-action.decorator.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/decorators/broker-action.decorator.ts"],"names":[],"mappings":"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"}
@@ -42,9 +42,20 @@ let BrokerService = BrokerService_1 = class BrokerService {
42
42
  }
43
43
  onModuleInit() {
44
44
  this.logger.log('Initializing broker service');
45
+ const dlExchanges = new Set();
46
+ if (this.brokerConfig.retry?.deadLetter?.exchange)
47
+ dlExchanges.add(this.brokerConfig.retry.deadLetter.exchange);
48
+ for (const t of this.topicConfigurations || []) {
49
+ if (t.retry?.deadLetter?.exchange)
50
+ dlExchanges.add(t.retry.deadLetter.exchange);
51
+ }
52
+ for (const ex of dlExchanges) {
53
+ if (!this.brokerConfig.exchanges?.some(e => e.name === ex)) {
54
+ this.logger.warn(`Retry dead-letter exchange '${ex}' is not declared in broker.exchanges; dead-lettering will fail at runtime (messages fall back to nack-requeue) until the exchange exists.`);
55
+ }
56
+ }
45
57
  for (const topic of this.topicConfigurations || []) {
46
58
  if (topic.mode === 'rpc') {
47
- let queueName;
48
59
  if (!topic.queue && !topic.exchange) {
49
60
  this.logger.warn(`RPC Topic ${topic.name} not added to pool. Queue or exchange are required`);
50
61
  continue;
@@ -54,8 +65,8 @@ let BrokerService = BrokerService_1 = class BrokerService {
54
65
  continue;
55
66
  }
56
67
  const par = { subscribed: false };
57
- if (queueName)
58
- par.queue = queueName;
68
+ if (topic.queue)
69
+ par.queue = topic.queue;
59
70
  if (topic.exchange)
60
71
  par.exchange = topic.exchange;
61
72
  if (topic.routingKey)
@@ -75,10 +86,10 @@ let BrokerService = BrokerService_1 = class BrokerService {
75
86
  }
76
87
  else if (topic.mode === 'handle') {
77
88
  const queue = this.brokerConfig.queues.find(q => q.name === topic.queue);
78
- const exchange = this.brokerConfig.exchanges.find(e => e.name === queue.exchange);
79
89
  if (!queue) {
80
90
  this.logger.warn(`Queue ${topic.queue} not found in broker configuration`);
81
91
  }
92
+ const exchange = this.brokerConfig.exchanges.find(e => e.name === (queue?.exchange ?? topic.exchange));
82
93
  if (exchange?.type === 'topic') {
83
94
  if (!queue?.routingKey) {
84
95
  throw new Error(`Queue ${queue.name} has no routing key`);
@@ -170,15 +181,17 @@ let BrokerService = BrokerService_1 = class BrokerService {
170
181
  const func = this.handlerRegistryService.getHandlers('fun', topic.name);
171
182
  const result = await this.executeFunction(func, _msg, rawMessage, headers);
172
183
  if (!result.success) {
173
- this.logger.warn(`An error occurred while processing message for topic ${topic.name}. Requeued!`);
184
+ this.logger.warn(`An error occurred while processing message for topic ${topic.name}.`);
174
185
  this.logger.error(result.error);
175
- return new amqp_lib_1.Nack(true);
186
+ throw result.error;
176
187
  }
177
188
  }
178
189
  }, {
179
190
  queue: qName,
180
191
  exchange: eName,
181
192
  routingKey: rKey,
193
+ retry: topic.retry,
194
+ queueOptions: topic.mode === 'broadcast' ? { durable: false, autoDelete: true } : undefined,
182
195
  }, topic.name);
183
196
  this.handlersPool.set(_topic, { queue: _q.queue, exchange: eName, routingKey: rKey, subscribed: true, consumerTag: o.consumerTag });
184
197
  this.logger.log(`Handler subscribed [${topic.name}]. Path: '${eName}/${qName}#${rKey}' Consumer Tag: ${o.consumerTag}`);
@@ -201,7 +214,14 @@ let BrokerService = BrokerService_1 = class BrokerService {
201
214
  }
202
215
  if (!_q.subscribed) {
203
216
  const topic = this.topicConfigurations.find(t => t.name === _topic);
204
- const queue = this.brokerConfig.queues.find(q => q.name === _q.queue);
217
+ const queue = _q.queue ? this.brokerConfig.queues.find(q => q.name === _q.queue) : undefined;
218
+ if (_q.queue && !queue) {
219
+ this.logger.error(`Queue ${_q.queue} for topic ${_topic} not found in broker configuration`);
220
+ return;
221
+ }
222
+ const qName = queue?.name ?? _q.queue;
223
+ const eName = queue?.exchange ?? _q.exchange;
224
+ const rKey = queue?.routingKey ?? _q.routingKey;
205
225
  const subscription = await this.amqpConnection.createRpc(async (msg, rawMessage, headers) => {
206
226
  const _msg = {
207
227
  topic: topic.name,
@@ -222,21 +242,22 @@ let BrokerService = BrokerService_1 = class BrokerService {
222
242
  }
223
243
  catch (err) {
224
244
  this.logger.error(`An error occurred while processing message for topic ${topic.name}: ${err.message}`);
225
- return new amqp_lib_1.Nack(true);
245
+ throw err;
226
246
  }
227
247
  }, {
228
- queue: queue.name,
229
- exchange: queue.exchange,
230
- routingKey: queue.routingKey
248
+ queue: qName,
249
+ exchange: eName,
250
+ routingKey: rKey,
251
+ retry: topic?.retry,
231
252
  });
232
253
  this.rpcsPool.set(_topic, {
233
- queue: _q.queue,
234
- exchange: queue.exchange,
235
- routingKey: queue.routingKey,
254
+ queue: qName,
255
+ exchange: eName,
256
+ routingKey: rKey,
236
257
  subscribed: true,
237
258
  consumerTag: subscription.consumerTag,
238
259
  });
239
- this.logger.log(`Subscribed to ${topic.name}. Exchange: '${queue.exchange}' Queue: '${queue.name}' Consumer Tag: ${subscription.consumerTag}`);
260
+ this.logger.log(`Subscribed to ${topic.name}. Exchange: '${eName}' Queue: '${qName}' Consumer Tag: ${subscription.consumerTag}`);
240
261
  }
241
262
  this.handlerRegistryService.registerHandler('rpc', _topic, handler);
242
263
  }
@@ -262,6 +283,7 @@ let BrokerService = BrokerService_1 = class BrokerService {
262
283
  throw new Error(`Invalid topic configuration for topic ${topic}. Exchange and routing key are required`);
263
284
  }
264
285
  const replyTo = this.brokerConfig.replyQueues?.[exchange];
286
+ const rpcTimeout = timeout || this.brokerConfig.defaultRpcTimeout || 10000;
265
287
  try {
266
288
  const result = await this.amqpConnection.request({
267
289
  exchange: exchange,
@@ -270,7 +292,8 @@ let BrokerService = BrokerService_1 = class BrokerService {
270
292
  correlationId,
271
293
  replyTo,
272
294
  headers,
273
- timeout: timeout || this.brokerConfig.defaultRpcTimeout || 10000,
295
+ timeout: rpcTimeout,
296
+ expiration: rpcTimeout,
274
297
  publishOptions: { mandatory: msTopic.mandatory, persistent: msTopic.persistent },
275
298
  });
276
299
  if (!result.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"broker.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/services/broker.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/services/broker.service.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,7 @@ let MetadataScannerService = MetadataScannerService_1 = class MetadataScannerSer
77
77
  service: instance,
78
78
  method: instance[method.methodName],
79
79
  type: method.type,
80
+ optional: method.optional,
80
81
  auth: [...allAuthForMethod],
81
82
  http: [...httpMetadata],
82
83
  params: this.removeDefaultsFromParams(method.params || []).reduce((acc, param, index) => {
@@ -102,7 +103,12 @@ let MetadataScannerService = MetadataScannerService_1 = class MetadataScannerSer
102
103
  }
103
104
  const cfgTopic = this.topicConfigurations.find(t => t.name === topic);
104
105
  if (!cfgTopic) {
105
- this.logger.error(`Topic ${topic} not found in configuration`);
106
+ if (Object.values(actions).every(a => a.optional)) {
107
+ this.logger.debug(`Optional topic ${topic} not configured — skipping its bindings`);
108
+ }
109
+ else {
110
+ this.logger.error(`Topic ${topic} not found in configuration`);
111
+ }
106
112
  continue;
107
113
  }
108
114
  const queue = this.brokerConfig.queues.find(q => q.name === cfgTopic.queue);
@@ -126,39 +132,45 @@ let MetadataScannerService = MetadataScannerService_1 = class MetadataScannerSer
126
132
  this.logger.error(`Action ${msg.action} not managed by any service`);
127
133
  return new amqp_lib_1.Nack(false);
128
134
  }
129
- for (const [param, meta] of Object.entries(method.params)) {
130
- let transform = (o, name) => Promise.resolve(o);
131
- if (meta.pipe) {
132
- transform = async (o, name) => {
133
- const result = meta.pipe.transform(o, { type: 'custom', data: name });
134
- return result instanceof Promise ? await result : result;
135
- };
136
- }
137
- if (meta.source === 'header') {
138
- args.push(await transform(headers[meta.name || param], meta.name || param));
139
- continue;
140
- }
141
- if (meta.source === 'body-full') {
142
- args.push(await transform(payload, ''));
143
- continue;
144
- }
145
- if (meta.source === 'body') {
146
- args.push(await transform(payload[meta.name || param], meta.name || param));
147
- continue;
148
- }
149
- if (meta.source === 'tag') {
150
- args.push(await transform(rawMessage.fields.consumerTag, 'tag'));
151
- continue;
152
- }
153
- if (meta.source === 'action') {
154
- args.push(await transform(msg.action, 'action'));
155
- continue;
156
- }
157
- if (meta.source === 'topic') {
158
- args.push(await transform(topic, 'topic'));
159
- continue;
135
+ try {
136
+ for (const [param, meta] of Object.entries(method.params)) {
137
+ let transform = (o, name) => Promise.resolve(o);
138
+ if (meta.pipe) {
139
+ transform = async (o, name) => {
140
+ const result = meta.pipe.transform(o, { type: 'custom', data: name });
141
+ return result instanceof Promise ? await result : result;
142
+ };
143
+ }
144
+ if (meta.source === 'header') {
145
+ args.push(await transform(headers[meta.name || param], meta.name || param));
146
+ continue;
147
+ }
148
+ if (meta.source === 'body-full') {
149
+ args.push(await transform(payload, ''));
150
+ continue;
151
+ }
152
+ if (meta.source === 'body') {
153
+ args.push(await transform(payload[meta.name || param], meta.name || param));
154
+ continue;
155
+ }
156
+ if (meta.source === 'tag') {
157
+ args.push(await transform(rawMessage.fields.consumerTag, 'tag'));
158
+ continue;
159
+ }
160
+ if (meta.source === 'action') {
161
+ args.push(await transform(msg.action, 'action'));
162
+ continue;
163
+ }
164
+ if (meta.source === 'topic') {
165
+ args.push(await transform(topic, 'topic'));
166
+ continue;
167
+ }
160
168
  }
161
169
  }
170
+ catch (err) {
171
+ this.logger.warn(`Parameter resolution failed for action '${msg.action}' on topic ${cfgTopic.name}: ${err.message}`);
172
+ return { success: false, error: this.utils.error2Object(err, this.appConfig.environment !== 'production') };
173
+ }
162
174
  try {
163
175
  const result = await this.executeFunction(method.service, method.method, args);
164
176
  return result;
@@ -172,6 +184,7 @@ let MetadataScannerService = MetadataScannerService_1 = class MetadataScannerSer
172
184
  exchange: eName,
173
185
  routingKey: kName,
174
186
  errorBehavior: cfgTopic.errorBehavior,
187
+ retry: cfgTopic.retry,
175
188
  });
176
189
  }
177
190
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-scanner.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/services/metadata-scanner.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-scanner.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/services/metadata-scanner.service.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,5 @@ export interface GatewayAdminModuleOptions {
6
6
  };
7
7
  retentionDays?: number;
8
8
  rollupRetentionDays?: number;
9
+ metricsQueryMaxPoints?: number;
9
10
  }
@@ -1,5 +1,7 @@
1
1
  export declare const GATEWAY_ADMIN_TOPIC = "rlb-gateway-admin";
2
+ export declare const GATEWAY_METRICS_TOPIC = "rlb-gateway-metrics";
2
3
  export declare const RLB_GW_ADMIN_OPTIONS = "RLB_GW_ADMIN_OPTIONS";
4
+ export declare const RLB_GW_SCHED_LOCK = "RLB_GW_SCHED_LOCK";
3
5
  export declare const GW_ADMIN_ACTIONS: {
4
6
  readonly pathCreate: "gw-path-create";
5
7
  readonly pathUpdate: "gw-path-update";
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GW_ADMIN_ACTIONS = exports.RLB_GW_ADMIN_OPTIONS = exports.GATEWAY_ADMIN_TOPIC = void 0;
3
+ exports.GW_ADMIN_ACTIONS = exports.RLB_GW_SCHED_LOCK = exports.RLB_GW_ADMIN_OPTIONS = exports.GATEWAY_METRICS_TOPIC = exports.GATEWAY_ADMIN_TOPIC = void 0;
4
4
  exports.GATEWAY_ADMIN_TOPIC = 'rlb-gateway-admin';
5
+ exports.GATEWAY_METRICS_TOPIC = 'rlb-gateway-metrics';
5
6
  exports.RLB_GW_ADMIN_OPTIONS = 'RLB_GW_ADMIN_OPTIONS';
7
+ exports.RLB_GW_SCHED_LOCK = 'RLB_GW_SCHED_LOCK';
6
8
  exports.GW_ADMIN_ACTIONS = {
7
9
  pathCreate: 'gw-path-create',
8
10
  pathUpdate: 'gw-path-update',
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/gateway-admin/const.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAG,mBAAmB,CAAC;AAE1C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE9C,QAAA,gBAAgB,GAAG;IAC9B,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,cAAc;IAExB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAE5B,YAAY,EAAE,mBAAmB;IAEjC,cAAc,EAAE,qBAAqB;IAErC,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,cAAc;IAExB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,mBAAmB;IAClC,aAAa,EAAE,mBAAmB;IAElC,cAAc,EAAE,oBAAoB;IAEpC,iBAAiB,EAAE,uBAAuB;IAE1C,cAAc,EAAE,oBAAoB;IAEpC,MAAM,EAAE,WAAW;CACX,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/gateway-admin/const.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAG,mBAAmB,CAAC;AAU1C,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAE9C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAI9C,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAExC,QAAA,gBAAgB,GAAG;IAC9B,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,cAAc;IAExB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAE5B,YAAY,EAAE,mBAAmB;IAEjC,cAAc,EAAE,qBAAqB;IAErC,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,cAAc;IAExB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,mBAAmB;IAClC,aAAa,EAAE,mBAAmB;IAElC,cAAc,EAAE,oBAAoB;IAEpC,iBAAiB,EAAE,uBAAuB;IAE1C,cAAc,EAAE,oBAAoB;IAEpC,MAAM,EAAE,WAAW;CACX,CAAC"}
@@ -3,6 +3,7 @@ export * from './const';
3
3
  export * from './gateway-admin.module';
4
4
  export * from './health';
5
5
  export * from './models';
6
+ export * from './scheduler-lock';
6
7
  export * from './repository/auth-provider.repository';
7
8
  export * from './repository/http-metric.repository';
8
9
  export * from './repository/http-path.repository';
@@ -19,6 +19,7 @@ __exportStar(require("./const"), exports);
19
19
  __exportStar(require("./gateway-admin.module"), exports);
20
20
  __exportStar(require("./health"), exports);
21
21
  __exportStar(require("./models"), exports);
22
+ __exportStar(require("./scheduler-lock"), exports);
22
23
  __exportStar(require("./repository/auth-provider.repository"), exports);
23
24
  __exportStar(require("./repository/http-metric.repository"), exports);
24
25
  __exportStar(require("./repository/http-path.repository"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/gateway-admin/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,0CAAwB;AACxB,yDAAuC;AACvC,2CAAyB;AACzB,2CAAyB;AACzB,wEAAsD;AACtD,sEAAoD;AACpD,oEAAkD;AAClD,yEAAuD;AACvD,kEAAgD;AAChD,oEAAkD;AAClD,4EAA0D;AAC1D,qEAAmD;AACnD,kEAAgD;AAChD,uEAAqD;AACrD,gEAA8C;AAC9C,iDAA+B;AAC/B,oDAAkC;AAClC,oDAAkC;AAClC,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/gateway-admin/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,0CAAwB;AACxB,yDAAuC;AACvC,2CAAyB;AACzB,2CAAyB;AACzB,mDAAiC;AACjC,wEAAsD;AACtD,sEAAoD;AACpD,oEAAkD;AAClD,yEAAuD;AACvD,kEAAgD;AAChD,oEAAkD;AAClD,4EAA0D;AAC1D,qEAAmD;AACnD,kEAAgD;AAChD,uEAAqD;AACrD,gEAA8C;AAC9C,iDAA+B;AAC/B,oDAAkC;AAClC,oDAAkC;AAClC,wDAAsC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-path.repository.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/gateway-admin/repository/http-path.repository.ts"],"names":[],"mappings":";;;AAyBA,MAAsB,kBAAkB;IActC,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC;IAID,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;CACF;AAvBD,gDAuBC"}
1
+ {"version":3,"file":"http-path.repository.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/gateway-admin/repository/http-path.repository.ts"],"names":[],"mappings":";;;AAiCA,MAAsB,kBAAkB;IAgBtC,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC;IAID,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;CACF;AAzBD,gDAyBC"}
@@ -0,0 +1,8 @@
1
+ export interface GatewaySchedulerLock {
2
+ tryAcquire(name: string, ttlMs: number): Promise<boolean>;
3
+ release?(name: string): Promise<void>;
4
+ }
5
+ export declare const GW_SCHED_LOCK_NAMES: {
6
+ readonly rollup: "gw-metrics-rollup";
7
+ readonly retention: "gw-retention";
8
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GW_SCHED_LOCK_NAMES = void 0;
4
+ exports.GW_SCHED_LOCK_NAMES = {
5
+ rollup: 'gw-metrics-rollup',
6
+ retention: 'gw-retention',
7
+ };
8
+ //# sourceMappingURL=scheduler-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler-lock.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/gateway-admin/scheduler-lock.ts"],"names":[],"mappings":";;;AAsBa,QAAA,mBAAmB,GAAG;IACjC,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,cAAc;CACjB,CAAC"}
@@ -1,13 +1,20 @@
1
1
  import { OnApplicationBootstrap, OnModuleDestroy } from '@nestjs/common';
2
2
  import { GatewayAdminModuleOptions } from '../config/gateway-admin.config';
3
3
  import { HttpMetricRepository } from '../repository/http-metric.repository';
4
+ import { GatewaySchedulerLock } from '../scheduler-lock';
4
5
  export declare class GatewayMetricsRollupService implements OnApplicationBootstrap, OnModuleDestroy {
5
6
  private readonly metrics;
7
+ private readonly lock?;
6
8
  private readonly logger;
7
9
  private readonly enabled;
8
10
  private timer?;
9
- constructor(metrics: HttpMetricRepository, options?: GatewayAdminModuleOptions);
11
+ constructor(metrics: HttpMetricRepository, options?: GatewayAdminModuleOptions, lock?: GatewaySchedulerLock);
10
12
  onApplicationBootstrap(): void;
11
13
  onModuleDestroy(): void;
14
+ private acquire;
12
15
  private rollup;
16
+ private runCatchup;
17
+ private previousHourStart;
18
+ private rollupHour;
19
+ private releaseLock;
13
20
  }