@seidor-cloud-produtos/orbit-backend-lib 2.0.106 → 2.0.108
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.
- package/dist/clean-arch/application/consistency-event-dispatcher/consistency-event-dispatcher.js +3 -3
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.d.ts +3 -3
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.js +2 -2
- package/dist/clean-arch/domain/events/consistency-event/types/user-temporary-password-generated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/user-temporary-password-generated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/user-updated.d.ts +10 -0
- package/dist/clean-arch/domain/events/consistency-event/types/user-updated.js +2 -0
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.d.ts +4 -1
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.js +12 -7
- package/package.json +1 -1
package/dist/clean-arch/application/consistency-event-dispatcher/consistency-event-dispatcher.js
CHANGED
|
@@ -6,7 +6,7 @@ const consistency_event_1 = tslib_1.__importDefault(require("../../domain/events
|
|
|
6
6
|
class ConsistencyEventDispatcher {
|
|
7
7
|
async dispatch(entity, authorizerHeaders, eventName) {
|
|
8
8
|
try {
|
|
9
|
-
const event = new consistency_event_1.default(entity, authorizerHeaders, eventName);
|
|
9
|
+
const event = new consistency_event_1.default([entity], authorizerHeaders, eventName);
|
|
10
10
|
await this.publish(event);
|
|
11
11
|
}
|
|
12
12
|
catch (error) {
|
|
@@ -15,8 +15,8 @@ class ConsistencyEventDispatcher {
|
|
|
15
15
|
}
|
|
16
16
|
async dispatchBatch(entities, authorizerHeaders, eventName) {
|
|
17
17
|
try {
|
|
18
|
-
const
|
|
19
|
-
await
|
|
18
|
+
const event = new consistency_event_1.default(entities, authorizerHeaders, eventName);
|
|
19
|
+
await this.publish(event);
|
|
20
20
|
}
|
|
21
21
|
catch (error) {
|
|
22
22
|
console.error(`Failed to dispatch batch consistency events: ${error}`);
|
|
@@ -3,13 +3,13 @@ import { Entity } from '../../entities/entity';
|
|
|
3
3
|
import DomainEvent from '../domain-event';
|
|
4
4
|
import { EventsName } from './events-enum';
|
|
5
5
|
export interface ConsistencyEventMessage {
|
|
6
|
-
eventName:
|
|
6
|
+
eventName: EventsName;
|
|
7
7
|
origin: AuthorizerHeaders;
|
|
8
|
-
payload: Record<string,
|
|
8
|
+
payload: Record<string, any>[];
|
|
9
9
|
}
|
|
10
10
|
export default class ConsistencyEvent implements DomainEvent {
|
|
11
11
|
readonly eventDate: Date;
|
|
12
12
|
readonly name: string;
|
|
13
13
|
readonly input: ConsistencyEventMessage;
|
|
14
|
-
constructor(
|
|
14
|
+
constructor(entities: Entity<any>[], authorizerHeaders: AuthorizerHeaders, eventName: EventsName);
|
|
15
15
|
}
|
|
@@ -4,11 +4,11 @@ class ConsistencyEvent {
|
|
|
4
4
|
eventDate = new Date();
|
|
5
5
|
name = '';
|
|
6
6
|
input;
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(entities, authorizerHeaders, eventName) {
|
|
8
8
|
this.input = {
|
|
9
9
|
eventName,
|
|
10
10
|
origin: authorizerHeaders,
|
|
11
|
-
payload: entity.toEventDispatchObject(),
|
|
11
|
+
payload: entities.map(entity => entity.toEventDispatchObject()),
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
}
|
package/dist/clean-arch/domain/events/consistency-event/types/user-temporary-password-generated.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../consistency-event';
|
|
3
|
+
import { EventsName } from '../events-enum';
|
|
4
|
+
import { UserUpdatedPayload } from './user-updated';
|
|
5
|
+
export interface UserTemporaryPasswordGeneratedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.USER_TEMPORARY_PASSWORD_GENERATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: UserUpdatedPayload[];
|
|
9
|
+
}
|
|
@@ -124,6 +124,9 @@ type CreateConsumers = {
|
|
|
124
124
|
exchangeName: string;
|
|
125
125
|
exchangeType: 'direct' | 'fanout';
|
|
126
126
|
queueType?: 'classic' | 'quorum' | 'stream';
|
|
127
|
-
|
|
127
|
+
dlq?: {
|
|
128
|
+
TTLms?: number | null;
|
|
129
|
+
exchangeName?: string;
|
|
130
|
+
};
|
|
128
131
|
};
|
|
129
132
|
export {};
|
|
@@ -238,26 +238,28 @@ class AmqpQueue {
|
|
|
238
238
|
});
|
|
239
239
|
await channel.assertQueue(queueName, {
|
|
240
240
|
arguments: {
|
|
241
|
-
'x-dead-letter-exchange': `${configs.exchangeName}.DLX`,
|
|
241
|
+
'x-dead-letter-exchange': `${configs.dlq?.exchangeName || configs.exchangeName}.DLX`,
|
|
242
242
|
'x-dead-letter-routing-key': `${queueName || ''}.DLK`,
|
|
243
243
|
'x-queue-type': configs.queueType || 'classic',
|
|
244
244
|
},
|
|
245
245
|
durable: true,
|
|
246
|
-
deadLetterExchange: `${configs.exchangeName}.DLX`,
|
|
246
|
+
deadLetterExchange: `${configs.dlq?.exchangeName || configs.exchangeName}.DLX`,
|
|
247
247
|
deadLetterRoutingKey: `${queueName || ''}.DLK`,
|
|
248
248
|
});
|
|
249
249
|
await channel.bindQueue(queueName, configs.exchangeName, queueName || '');
|
|
250
|
-
await channel.assertExchange(`${configs.exchangeName}.DLX`, configs.exchangeType || 'direct', {
|
|
250
|
+
await channel.assertExchange(`${configs.dlq?.exchangeName || configs.exchangeName}.DLX`, configs.exchangeType || 'direct', {
|
|
251
251
|
durable: true,
|
|
252
252
|
});
|
|
253
253
|
await channel.assertQueue(`${queueName}.DLQ`, {
|
|
254
254
|
durable: true,
|
|
255
255
|
arguments: {
|
|
256
|
-
...(configs.
|
|
256
|
+
...(configs.dlq?.TTLms
|
|
257
|
+
? { 'x-message-ttl': configs.dlq?.TTLms }
|
|
258
|
+
: {}),
|
|
257
259
|
'x-queue-type': 'classic',
|
|
258
260
|
},
|
|
259
261
|
});
|
|
260
|
-
await channel.bindQueue(`${queueName}.DLQ`, `${configs.exchangeName}.DLX`, `${queueName || ''}.DLK`);
|
|
262
|
+
await channel.bindQueue(`${queueName}.DLQ`, `${configs.dlq?.exchangeName || configs.exchangeName}.DLX`, `${queueName || ''}.DLK`);
|
|
261
263
|
await channel.close();
|
|
262
264
|
}
|
|
263
265
|
catch (err) {
|
|
@@ -271,9 +273,12 @@ class AmqpQueue {
|
|
|
271
273
|
const buildedConfigs = {
|
|
272
274
|
...configs,
|
|
273
275
|
};
|
|
274
|
-
if (buildedConfigs.
|
|
276
|
+
if (buildedConfigs.dlq?.TTLms === undefined) {
|
|
275
277
|
const sevenDaysInMs = 604800000;
|
|
276
|
-
buildedConfigs.
|
|
278
|
+
buildedConfigs.dlq = {
|
|
279
|
+
...(buildedConfigs.dlq || {}),
|
|
280
|
+
TTLms: sevenDaysInMs,
|
|
281
|
+
};
|
|
277
282
|
}
|
|
278
283
|
return await this.createConsumers(queueName, configs);
|
|
279
284
|
}
|