Skip to content

Commit f1571b5

Browse files
committed
feat: Added rabbitmq to send events
1 parent 55f8e17 commit f1571b5

2 files changed

Lines changed: 57 additions & 1 deletion

File tree

src/whatsapp/controllers/instance.controller.ts

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export class InstanceController {
2929
private readonly chatwootService: ChatwootService,
3030
private readonly settingsService: SettingsService,
3131
private readonly websocketService: WebsocketService,
32-
private readonly rebbitmqService: RabbitmqService,
32+
private readonly rabbitmqService: RabbitmqService,
3333
private readonly cache: RedisCache,
3434
) {}
3535

@@ -57,6 +57,8 @@ export class InstanceController {
5757
read_status,
5858
websocket_enabled,
5959
websocket_events,
60+
rabbitmq_enabled,
61+
rabbitmq_events,
6062
}: InstanceDto) {
6163
try {
6264
this.logger.verbose('requested createInstance from ' + instanceName + ' instance');
@@ -177,6 +179,50 @@ export class InstanceController {
177179
}
178180
}
179181

182+
let rabbitmqEvents: string[];
183+
184+
if (rabbitmq_enabled) {
185+
this.logger.verbose('creating rabbitmq');
186+
try {
187+
let newEvents: string[] = [];
188+
if (rabbitmq_events.length === 0) {
189+
newEvents = [
190+
'APPLICATION_STARTUP',
191+
'QRCODE_UPDATED',
192+
'MESSAGES_SET',
193+
'MESSAGES_UPSERT',
194+
'MESSAGES_UPDATE',
195+
'MESSAGES_DELETE',
196+
'SEND_MESSAGE',
197+
'CONTACTS_SET',
198+
'CONTACTS_UPSERT',
199+
'CONTACTS_UPDATE',
200+
'PRESENCE_UPDATE',
201+
'CHATS_SET',
202+
'CHATS_UPSERT',
203+
'CHATS_UPDATE',
204+
'CHATS_DELETE',
205+
'GROUPS_UPSERT',
206+
'GROUP_UPDATE',
207+
'GROUP_PARTICIPANTS_UPDATE',
208+
'CONNECTION_UPDATE',
209+
'CALL',
210+
'NEW_JWT_TOKEN',
211+
];
212+
} else {
213+
newEvents = events;
214+
}
215+
this.rabbitmqService.create(instance, {
216+
enabled: true,
217+
events: newEvents,
218+
});
219+
220+
rabbitmqEvents = (await this.rabbitmqService.find(instance)).events;
221+
} catch (error) {
222+
this.logger.log(error);
223+
}
224+
}
225+
180226
this.logger.verbose('creating settings');
181227
const settings: wa.LocalSettings = {
182228
reject_call: reject_call || false,
@@ -216,6 +262,10 @@ export class InstanceController {
216262
enabled: websocket_enabled,
217263
events: websocketEvents,
218264
},
265+
rabbitmq: {
266+
enabled: rabbitmq_enabled,
267+
events: rabbitmqEvents,
268+
},
219269
settings,
220270
qrcode: getQrcode,
221271
};
@@ -295,6 +345,10 @@ export class InstanceController {
295345
enabled: websocket_enabled,
296346
events: websocketEvents,
297347
},
348+
rabbitmq: {
349+
enabled: rabbitmq_enabled,
350+
events: rabbitmqEvents,
351+
},
298352
settings,
299353
chatwoot: {
300354
enabled: true,

src/whatsapp/dto/instance.dto.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,6 @@ export class InstanceDto {
2020
chatwoot_conversation_pending?: boolean;
2121
websocket_enabled?: boolean;
2222
websocket_events?: string[];
23+
rabbitmq_enabled?: boolean;
24+
rabbitmq_events?: string[];
2325
}

0 commit comments

Comments
 (0)