From 6585e8f0c2aeae061265a2d84ec2c55a528e7a2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=AAnio=20An=C3=ADbal?= Date: Wed, 21 Aug 2024 14:55:18 -0300 Subject: [PATCH] Fix events structure to prevent "Instance not found" exception --- src/api/controllers/instance.controller.ts | 14 ++++++++------ .../rabbitmq/controllers/rabbitmq.controller.ts | 2 +- .../event/sqs/controllers/sqs.controller.ts | 2 +- .../webhook/controllers/webhook.controller.ts | 2 +- .../websocket/controllers/websocket.controller.ts | 2 +- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/api/controllers/instance.controller.ts b/src/api/controllers/instance.controller.ts index 20846250..e596585c 100644 --- a/src/api/controllers/instance.controller.ts +++ b/src/api/controllers/instance.controller.ts @@ -52,6 +52,8 @@ export class InstanceController { const instanceId = v4(); + instanceData.instanceId = instanceId; + let hash: string; if (!instanceData.token) hash = v4().toUpperCase(); @@ -75,16 +77,16 @@ export class InstanceController { businessId: instanceData.businessId, }); - instance.sendDataWebhook(Events.INSTANCE_CREATE, { - instanceName: instanceData.instanceName, - instanceId: instanceId, - }); - this.waMonitor.waInstances[instance.instanceName] = instance; this.waMonitor.delInstanceTime(instance.instanceName); // set events - eventController.setInstance(instance.instanceName, instanceData); + await eventController.setInstance(instance.instanceName, instanceData); + + instance.sendDataWebhook(Events.INSTANCE_CREATE, { + instanceName: instanceData.instanceName, + instanceId: instanceId, + }); if (instanceData.proxyHost && instanceData.proxyPort && instanceData.proxyProtocol) { const testProxy = await this.proxyService.testProxy({ diff --git a/src/api/integrations/event/rabbitmq/controllers/rabbitmq.controller.ts b/src/api/integrations/event/rabbitmq/controllers/rabbitmq.controller.ts index af33ae6f..b2a26162 100644 --- a/src/api/integrations/event/rabbitmq/controllers/rabbitmq.controller.ts +++ b/src/api/integrations/event/rabbitmq/controllers/rabbitmq.controller.ts @@ -102,7 +102,7 @@ export class RabbitmqController extends EventController { }); if (!data) { - return null; + throw new NotFoundException('Instance websocket not found'); } return data; diff --git a/src/api/integrations/event/sqs/controllers/sqs.controller.ts b/src/api/integrations/event/sqs/controllers/sqs.controller.ts index 519e2762..aeead83a 100644 --- a/src/api/integrations/event/sqs/controllers/sqs.controller.ts +++ b/src/api/integrations/event/sqs/controllers/sqs.controller.ts @@ -88,7 +88,7 @@ export class SqsController extends EventController { }); if (!data) { - return null; + throw new NotFoundException('Instance websocket not found'); } return data; diff --git a/src/api/integrations/event/webhook/controllers/webhook.controller.ts b/src/api/integrations/event/webhook/controllers/webhook.controller.ts index 5f924c6b..9eb5216b 100644 --- a/src/api/integrations/event/webhook/controllers/webhook.controller.ts +++ b/src/api/integrations/event/webhook/controllers/webhook.controller.ts @@ -62,7 +62,7 @@ export class WebhookController extends EventController { }); if (!data) { - return null; + throw new NotFoundException('Instance websocket not found'); } return data; diff --git a/src/api/integrations/event/websocket/controllers/websocket.controller.ts b/src/api/integrations/event/websocket/controllers/websocket.controller.ts index 7bfaa1b4..6625a814 100644 --- a/src/api/integrations/event/websocket/controllers/websocket.controller.ts +++ b/src/api/integrations/event/websocket/controllers/websocket.controller.ts @@ -99,7 +99,7 @@ export class WebsocketController extends EventController { }); if (!data) { - return null; + throw new NotFoundException('Instance websocket not found'); } return data;