Skip to content

Commit 930d32d

Browse files
author
Alexandre Martins
committed
fix(events): guard extra spread and prevent core field override
- Use (extra ?? {}) to handle undefined extra safely - Spread extra first to prevent overriding core fields like event, instance, data - Applied fix to all 7 event controllers Addresses Sourcery AI review feedback.
1 parent fa6b5c2 commit 930d32d

File tree

8 files changed

+7
-7
lines changed

8 files changed

+7
-7
lines changed

.DS_Store

0 Bytes
Binary file not shown.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ export class KafkaController extends EventController implements EventControllerI
285285
const logEnabled = configService.get<Log>('LOG').LEVEL.includes('WEBHOOKS');
286286

287287
const message = {
288+
...(extra ?? {}),
288289
event,
289290
instance: instanceName,
290291
data,
@@ -293,7 +294,6 @@ export class KafkaController extends EventController implements EventControllerI
293294
sender,
294295
apikey: apiKey,
295296
timestamp: Date.now(),
296-
...extra,
297297
};
298298

299299
const messageValue = JSON.stringify(message);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ export class NatsController extends EventController implements EventControllerIn
6666
const logEnabled = configService.get<Log>('LOG').LEVEL.includes('WEBHOOKS');
6767

6868
const message = {
69+
...(extra ?? {}),
6970
event,
7071
instance: instanceName,
7172
data,
7273
server_url: serverUrl,
7374
date_time: dateTime,
7475
sender,
7576
apikey: apiKey,
76-
...extra,
7777
};
7878

7979
// Instância específica

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ export class PusherController extends EventController implements EventController
134134
const enabledLog = configService.get<Log>('LOG').LEVEL.includes('WEBHOOKS');
135135
const eventName = event.replace(/_/g, '.').toLowerCase();
136136
const pusherData = {
137+
...(extra ?? {}),
137138
event,
138139
instance: instanceName,
139140
data,
@@ -142,7 +143,6 @@ export class PusherController extends EventController implements EventController
142143
sender,
143144
server_url: serverUrl,
144145
apikey: apiKey,
145-
...extra,
146146
};
147147
if (event == 'qrcode.updated') {
148148
delete pusherData.data.qrcode.base64;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,14 +234,14 @@ export class RabbitmqController extends EventController implements EventControll
234234
const logEnabled = configService.get<Log>('LOG').LEVEL.includes('WEBHOOKS');
235235

236236
const message = {
237+
...(extra ?? {}),
237238
event,
238239
instance: instanceName,
239240
data,
240241
server_url: serverUrl,
241242
date_time: dateTime,
242243
sender,
243244
apikey: apiKey,
244-
...extra,
245245
};
246246

247247
if (instanceRabbitmq?.enabled && this.amqpChannel) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ export class SqsController extends EventController implements EventControllerInt
129129
const sqsUrl = `https://sqs.${sqsConfig.REGION}.amazonaws.com/${sqsConfig.ACCOUNT_ID}/${queueName}`;
130130

131131
const message = {
132+
...(extra ?? {}),
132133
event,
133134
instance: instanceName,
134135
dataType: 'json',
@@ -138,7 +139,6 @@ export class SqsController extends EventController implements EventControllerInt
138139
date_time: dateTime,
139140
sender,
140141
apikey: apiKey,
141-
...extra,
142142
};
143143

144144
const jsonStr = JSON.stringify(message);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ export class WebhookController extends EventController implements EventControlle
9191
const regex = /^(https?:\/\/)/;
9292

9393
const webhookData = {
94+
...(extra ?? {}),
9495
event,
9596
instance: instanceName,
9697
data,
@@ -99,7 +100,6 @@ export class WebhookController extends EventController implements EventControlle
99100
sender,
100101
server_url: serverUrl,
101102
apikey: apiKey,
102-
...extra,
103103
};
104104

105105
if (local && instance?.enabled) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,14 +128,14 @@ export class WebsocketController extends EventController implements EventControl
128128
const configEv = event.replace(/[.-]/gm, '_').toUpperCase();
129129
const logEnabled = configService.get<Log>('LOG').LEVEL.includes('WEBSOCKET');
130130
const message = {
131+
...(extra ?? {}),
131132
event,
132133
instance: instanceName,
133134
data,
134135
server_url: serverUrl,
135136
date_time: dateTime,
136137
sender,
137138
apikey: apiKey,
138-
...extra,
139139
};
140140

141141
if (configService.get<Websocket>('WEBSOCKET')?.GLOBAL_EVENTS) {

0 commit comments

Comments
 (0)