diff --git a/src/api/integrations/event/webhook/controllers/webhook.controller.ts b/src/api/integrations/event/webhook/controllers/webhook.controller.ts index 5f924c6b..ab13f70d 100644 --- a/src/api/integrations/event/webhook/controllers/webhook.controller.ts +++ b/src/api/integrations/event/webhook/controllers/webhook.controller.ts @@ -1,7 +1,7 @@ import { PrismaRepository } from '@api/repository/repository.service'; import { WAMonitoringService } from '@api/services/monitor.service'; import { wa } from '@api/types/wa.types'; -import { configService, Log, Webhook, Websocket } from '@config/env.config'; +import { configService, Log, Webhook } from '@config/env.config'; import { Logger } from '@config/logger.config'; import { BadRequestException, NotFoundException } from '@exceptions'; import axios from 'axios'; @@ -31,7 +31,7 @@ export class WebhookController extends EventController { } await this.get(instanceName); - + return this.prisma.webhook.upsert({ where: { instanceId: this.monitor.waInstances[instanceName].instanceId, @@ -89,12 +89,12 @@ export class WebhookController extends EventController { apiKey?: string; local?: boolean; }): Promise { - if (!configService.get('WEBSOCKET')?.ENABLED) { + const instanceWebhook = await this.get(instanceName); + if (!instanceWebhook || !instanceWebhook.enabled) { return; } - const instanceWebhook = await this.get(instanceName); - const webhookGlobal = configService.get('WEBHOOK'); + const webhookConfig = configService.get('WEBHOOK'); const webhookLocal = instanceWebhook?.events; const we = event.replace(/[.-]/gm, '_').toUpperCase(); const transformedWe = we.replace(/_/gm, '-').toLowerCase(); @@ -153,16 +153,12 @@ export class WebhookController extends EventController { } } - if (webhookGlobal.GLOBAL?.ENABLED) { - if (webhookGlobal.EVENTS[we]) { - const globalWebhook = configService.get('WEBHOOK').GLOBAL; + if (webhookConfig.GLOBAL?.ENABLED) { + if (webhookConfig.EVENTS[we]) { + let globalURL = webhookConfig.GLOBAL.URL; - let globalURL; - - if (webhookGlobal.GLOBAL.WEBHOOK_BY_EVENTS) { - globalURL = `${globalWebhook.URL}/${transformedWe}`; - } else { - globalURL = globalWebhook.URL; + if (webhookConfig.GLOBAL.WEBHOOK_BY_EVENTS) { + globalURL = `${globalURL}/${transformedWe}`; } if (enabledLog) { @@ -176,7 +172,7 @@ export class WebhookController extends EventController { } try { - if (globalWebhook && globalWebhook?.ENABLED && isURL(globalURL)) { + if (isURL(globalURL)) { const httpService = axios.create({ baseURL: globalURL }); await httpService.post('', webhookData); diff --git a/src/api/integrations/event/webhook/routes/webhook.router.ts b/src/api/integrations/event/webhook/routes/webhook.router.ts index d327ea54..af46d11d 100644 --- a/src/api/integrations/event/webhook/routes/webhook.router.ts +++ b/src/api/integrations/event/webhook/routes/webhook.router.ts @@ -1,7 +1,7 @@ import { RouterBroker } from '@api/abstract/abstract.router'; import { InstanceDto } from '@api/dto/instance.dto'; -import { webhookController } from '@api/server.module'; import { HttpStatus } from '@api/routes/index.router'; +import { webhookController } from '@api/server.module'; import { ConfigService, WaBusiness } from '@config/env.config'; import { instanceSchema, webhookSchema } from '@validate/validate.schema'; import { RequestHandler, Router } from 'express';