From ff98d0724e113854e0c9066cdb08a47530921283 Mon Sep 17 00:00:00 2001 From: Judson Cairo Date: Thu, 12 Sep 2024 18:43:29 -0300 Subject: [PATCH 1/2] Validate if instance exists before deleting it --- src/api/services/monitor.service.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/api/services/monitor.service.ts b/src/api/services/monitor.service.ts index da73d424..b913a93e 100644 --- a/src/api/services/monitor.service.ts +++ b/src/api/services/monitor.service.ts @@ -64,7 +64,7 @@ export class WAMonitoringService { throw new NotFoundException(`Instance "${instanceName}" not found`); } - const clientName = await this.configService.get('DATABASE').CONNECTION.CLIENT_NAME; + const clientName = this.configService.get('DATABASE').CONNECTION.CLIENT_NAME; const where = instanceName ? { name: instanceName, clientName } : { clientName }; @@ -122,17 +122,17 @@ export class WAMonitoringService { where: { name: instanceName }, }); - if (!findInstance) this.logger.error('Instance not found'); + if (!findInstance) { + const instance = await this.prismaRepository.instance.update({ + where: { name: instanceName }, + data: { connectionStatus: 'close' }, + }); - const instance = await this.prismaRepository.instance.update({ - where: { name: instanceName }, - data: { connectionStatus: 'close' }, - }); + rmSync(join(INSTANCE_DIR, instance.id), { recursive: true, force: true }); - rmSync(join(INSTANCE_DIR, instance.id), { recursive: true, force: true }); - - instanceDbId = instance.id; - await this.prismaRepository.session.deleteMany({ where: { sessionId: instance.id } }); + instanceDbId = instance.id; + await this.prismaRepository.session.deleteMany({ where: { sessionId: instance.id } }); + } } if (this.redis.REDIS.ENABLED && this.redis.REDIS.SAVE_INSTANCES) { From 6b447c654f7032cb37e76a764563d0a25dd3d461 Mon Sep 17 00:00:00 2001 From: Judson Cairo Date: Mon, 16 Sep 2024 10:36:27 -0300 Subject: [PATCH 2/2] Fix instance validation condition --- src/api/services/monitor.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/services/monitor.service.ts b/src/api/services/monitor.service.ts index b913a93e..0c3d8d50 100644 --- a/src/api/services/monitor.service.ts +++ b/src/api/services/monitor.service.ts @@ -122,7 +122,7 @@ export class WAMonitoringService { where: { name: instanceName }, }); - if (!findInstance) { + if (findInstance) { const instance = await this.prismaRepository.instance.update({ where: { name: instanceName }, data: { connectionStatus: 'close' },