Skip to content

Commit 86b194a

Browse files
Merge pull request #2260 from alexandrereyes/feat/add-islatest-progress-to-messages-set
feat(events): add isLatest and progress to messages.set event
2 parents 3c1573c + 04ac880 commit 86b194a

File tree

12 files changed

+40
-3
lines changed

12 files changed

+40
-3
lines changed

.DS_Store

0 Bytes
Binary file not shown.

src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1044,7 +1044,10 @@ export class BaileysStartupService extends ChannelStartupService {
10441044
messagesRaw.push(this.prepareMessage(m));
10451045
}
10461046

1047-
this.sendDataWebhook(Events.MESSAGES_SET, [...messagesRaw]);
1047+
this.sendDataWebhook(Events.MESSAGES_SET, [...messagesRaw], true, undefined, {
1048+
isLatest,
1049+
progress,
1050+
});
10481051

10491052
if (this.configService.get<Database>('DATABASE').SAVE_DATA.HISTORIC) {
10501053
await this.prismaRepository.message.createMany({ data: messagesRaw, skipDuplicates: true });

src/api/integrations/event/event.controller.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,24 @@ export type EmitData = {
1414
apiKey?: string;
1515
local?: boolean;
1616
integration?: string[];
17+
extra?: Record<string, any>;
1718
};
1819

1920
export interface EventControllerInterface {
2021
set(instanceName: string, data: any): Promise<any>;
2122
get(instanceName: string): Promise<any>;
22-
emit({ instanceName, origin, event, data, serverUrl, dateTime, sender, apiKey, local }: EmitData): Promise<void>;
23+
emit({
24+
instanceName,
25+
origin,
26+
event,
27+
data,
28+
serverUrl,
29+
dateTime,
30+
sender,
31+
apiKey,
32+
local,
33+
extra,
34+
}: EmitData): Promise<void>;
2335
}
2436

2537
export class EventController {

src/api/integrations/event/event.manager.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ export class EventManager {
123123
apiKey?: string;
124124
local?: boolean;
125125
integration?: string[];
126+
extra?: Record<string, any>;
126127
}): Promise<void> {
127128
await this.websocket.emit(eventData);
128129
await this.rabbitmq.emit(eventData);

src/api/integrations/event/kafka/kafka.controller.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ export class KafkaController extends EventController implements EventControllerI
262262
sender,
263263
apiKey,
264264
integration,
265+
extra,
265266
}: EmitData): Promise<void> {
266267
if (integration && !integration.includes('kafka')) {
267268
return;
@@ -284,6 +285,7 @@ export class KafkaController extends EventController implements EventControllerI
284285
const logEnabled = configService.get<Log>('LOG').LEVEL.includes('WEBHOOKS');
285286

286287
const message = {
288+
...(extra ?? {}),
287289
event,
288290
instance: instanceName,
289291
data,

src/api/integrations/event/nats/nats.controller.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export class NatsController extends EventController implements EventControllerIn
4747
sender,
4848
apiKey,
4949
integration,
50+
extra,
5051
}: EmitData): Promise<void> {
5152
if (integration && !integration.includes('nats')) {
5253
return;
@@ -65,6 +66,7 @@ export class NatsController extends EventController implements EventControllerIn
6566
const logEnabled = configService.get<Log>('LOG').LEVEL.includes('WEBHOOKS');
6667

6768
const message = {
69+
...(extra ?? {}),
6870
event,
6971
instance: instanceName,
7072
data,

src/api/integrations/event/pusher/pusher.controller.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ export class PusherController extends EventController implements EventController
121121
apiKey,
122122
local,
123123
integration,
124+
extra,
124125
}: EmitData): Promise<void> {
125126
if (integration && !integration.includes('pusher')) {
126127
return;
@@ -133,6 +134,7 @@ export class PusherController extends EventController implements EventController
133134
const enabledLog = configService.get<Log>('LOG').LEVEL.includes('WEBHOOKS');
134135
const eventName = event.replace(/_/g, '.').toLowerCase();
135136
const pusherData = {
137+
...(extra ?? {}),
136138
event,
137139
instance: instanceName,
138140
data,

src/api/integrations/event/rabbitmq/rabbitmq.controller.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ export class RabbitmqController extends EventController implements EventControll
209209
sender,
210210
apiKey,
211211
integration,
212+
extra,
212213
}: EmitData): Promise<void> {
213214
if (integration && !integration.includes('rabbitmq')) {
214215
return;
@@ -233,6 +234,7 @@ export class RabbitmqController extends EventController implements EventControll
233234
const logEnabled = configService.get<Log>('LOG').LEVEL.includes('WEBHOOKS');
234235

235236
const message = {
237+
...(extra ?? {}),
236238
event,
237239
instance: instanceName,
238240
data,

src/api/integrations/event/sqs/sqs.controller.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ export class SqsController extends EventController implements EventControllerInt
9393
sender,
9494
apiKey,
9595
integration,
96+
extra,
9697
}: EmitData): Promise<void> {
9798
if (integration && !integration.includes('sqs')) {
9899
return;
@@ -128,6 +129,7 @@ export class SqsController extends EventController implements EventControllerInt
128129
const sqsUrl = `https://sqs.${sqsConfig.REGION}.amazonaws.com/${sqsConfig.ACCOUNT_ID}/${queueName}`;
129130

130131
const message = {
132+
...(extra ?? {}),
131133
event,
132134
instance: instanceName,
133135
dataType: 'json',

src/api/integrations/event/webhook/webhook.controller.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export class WebhookController extends EventController implements EventControlle
6565
apiKey,
6666
local,
6767
integration,
68+
extra,
6869
}: EmitData): Promise<void> {
6970
if (integration && !integration.includes('webhook')) {
7071
return;
@@ -90,6 +91,7 @@ export class WebhookController extends EventController implements EventControlle
9091
const regex = /^(https?:\/\/)/;
9192

9293
const webhookData = {
94+
...(extra ?? {}),
9395
event,
9496
instance: instanceName,
9597
data,

0 commit comments

Comments
 (0)