diff --git a/CHANGELOG.md b/CHANGELOG.md index 06c8e4e6..a5162a32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,11 @@ ### Features -* Route to send status broadcast +* Route to send status broadcast¼ + +### Fixed + +* Adjusted set in webhook to go empty when enabled false # 1.1.3 (2023-07-06 11:43) diff --git a/Docker/redis/docker-compose.yaml b/Docker/redis/docker-compose.yaml index f0524630..55e73847 100644 --- a/Docker/redis/docker-compose.yaml +++ b/Docker/redis/docker-compose.yaml @@ -7,16 +7,6 @@ networks: services: redis: image: redis:latest - command: > - redis-server - --port 6379 - --appendonly yes - --save 900 1 - --save 300 10 - --save 60 10000 - --appendfsync everysec - volumes: - - evolution_redis:/data container_name: redis ports: - 6379:6379 diff --git a/src/db/redis.client.ts b/src/db/redis.client.ts index f5725ae0..50e7efcb 100644 --- a/src/db/redis.client.ts +++ b/src/db/redis.client.ts @@ -104,9 +104,11 @@ export class RedisCache { public async delAll(hash?: string) { try { this.logger.verbose('instance delAll: ' + hash); - return await this.client.del( + const result = await this.client.del( hash || this.redisEnv.PREFIX_KEY + ':' + this.instanceName, ); + + return result; } catch (error) { this.logger.error(error); } diff --git a/src/validate/validate.schema.ts b/src/validate/validate.schema.ts index 8527ee32..e9a45679 100644 --- a/src/validate/validate.schema.ts +++ b/src/validate/validate.schema.ts @@ -30,7 +30,7 @@ export const instanceNameSchema: JSONSchema7 = { webhook_by_events: { type: 'boolean' }, events: { type: 'array', - minItems: 1, + minItems: 0, items: { type: 'string', enum: [ @@ -825,7 +825,7 @@ export const webhookSchema: JSONSchema7 = { enabled: { type: 'boolean', enum: [true, false] }, events: { type: 'array', - minItems: 1, + minItems: 0, items: { type: 'string', enum: [ diff --git a/src/whatsapp/controllers/webhook.controller.ts b/src/whatsapp/controllers/webhook.controller.ts index ec6dbb3d..e8141dc7 100644 --- a/src/whatsapp/controllers/webhook.controller.ts +++ b/src/whatsapp/controllers/webhook.controller.ts @@ -8,9 +8,15 @@ export class WebhookController { constructor(private readonly webhookService: WebhookService) {} public async createWebhook(instance: InstanceDto, data: WebhookDto) { - if (!isURL(data.url, { require_tld: false })) { + if (data.enabled && !isURL(data.url, { require_tld: false })) { throw new BadRequestException('Invalid "url" property'); } + + if (!data.enabled) { + data.url = ''; + data.events = []; + } + return this.webhookService.create(instance, data); } diff --git a/src/whatsapp/services/monitor.service.ts b/src/whatsapp/services/monitor.service.ts index 73430e6f..9fe5c99a 100644 --- a/src/whatsapp/services/monitor.service.ts +++ b/src/whatsapp/services/monitor.service.ts @@ -216,6 +216,8 @@ export class WAMonitoringService { rmSync(join(INSTANCE_DIR, instanceName), { recursive: true, force: true }); } + public async clearStoreFiles(instanceName: string) {} + public async loadInstance() { this.logger.verbose('load instances'); const set = async (name: string) => { @@ -300,6 +302,7 @@ export class WAMonitoringService { try { this.logger.verbose('request cleaning up instance: ' + instanceName); this.cleaningUp(instanceName); + this.clearStoreFiles(instanceName); } finally { this.logger.warn(`Instance "${instanceName}" - REMOVED`); }