From 4c69b059d4e9ae32c75a1ffb22a57acdae900239 Mon Sep 17 00:00:00 2001 From: Davidson Gomes Date: Fri, 1 Dec 2023 21:24:38 -0300 Subject: [PATCH] proxy --- src/whatsapp/controllers/instance.controller.ts | 12 ++++++++---- src/whatsapp/services/proxy.service.ts | 4 ++-- src/whatsapp/services/whatsapp.service.ts | 6 ++++-- src/whatsapp/whatsapp.module.ts | 1 + 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/whatsapp/controllers/instance.controller.ts b/src/whatsapp/controllers/instance.controller.ts index 66b94396..4c4e5cfb 100644 --- a/src/whatsapp/controllers/instance.controller.ts +++ b/src/whatsapp/controllers/instance.controller.ts @@ -253,10 +253,14 @@ export class InstanceController { if (proxy) { this.logger.verbose('creating proxy'); try { - this.proxyService.create(instance, { - enabled: true, - proxy, - }); + this.proxyService.create( + instance, + { + enabled: true, + proxy, + }, + false, + ); } catch (error) { this.logger.log(error); } diff --git a/src/whatsapp/services/proxy.service.ts b/src/whatsapp/services/proxy.service.ts index c6631671..1039fd5c 100644 --- a/src/whatsapp/services/proxy.service.ts +++ b/src/whatsapp/services/proxy.service.ts @@ -9,9 +9,9 @@ export class ProxyService { private readonly logger = new Logger(ProxyService.name); - public create(instance: InstanceDto, data: ProxyDto) { + public create(instance: InstanceDto, data: ProxyDto, reload = true) { this.logger.verbose('create proxy: ' + instance.instanceName); - this.waMonitor.waInstances[instance.instanceName].setProxy(data); + this.waMonitor.waInstances[instance.instanceName].setProxy(data, reload); return { proxy: { ...instance, proxy: data } }; } diff --git a/src/whatsapp/services/whatsapp.service.ts b/src/whatsapp/services/whatsapp.service.ts index d1a7fb5b..5c3edc44 100644 --- a/src/whatsapp/services/whatsapp.service.ts +++ b/src/whatsapp/services/whatsapp.service.ts @@ -620,14 +620,16 @@ export class WAStartupService { this.logger.verbose('Proxy loaded'); } - public async setProxy(data: ProxyRaw) { + public async setProxy(data: ProxyRaw, reload = true) { this.logger.verbose('Setting proxy'); await this.repository.proxy.create(data, this.instanceName); this.logger.verbose(`Proxy proxy: ${data.proxy}`); Object.assign(this.localProxy, data); this.logger.verbose('Proxy set'); - this.reloadConnection(); + if (reload) { + this.reloadConnection(); + } } public async findProxy() { diff --git a/src/whatsapp/whatsapp.module.ts b/src/whatsapp/whatsapp.module.ts index e116cc9c..0bb9409f 100644 --- a/src/whatsapp/whatsapp.module.ts +++ b/src/whatsapp/whatsapp.module.ts @@ -149,6 +149,7 @@ export const instanceController = new InstanceController( settingsService, websocketService, rabbitmqService, + proxyService, sqsService, typebotService, cache,