fix: Adjusted set in webhook to go empty when enabled false

This commit is contained in:
Davidson Gomes
2023-07-07 13:12:51 -03:00
parent 24712c4c2d
commit 27aa0add4e
6 changed files with 20 additions and 15 deletions

View File

@@ -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);
}

View File

@@ -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: [

View File

@@ -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);
}

View File

@@ -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`);
}