fixed the problem of not disabling the global webhook by the variable and apikey only appears if it is enabled to be exposed

This commit is contained in:
Davidson Gomes 2023-06-13 11:52:30 -03:00
parent 9201bc1022
commit f2d0a8eb8c
4 changed files with 99 additions and 87 deletions

View File

@ -20,6 +20,7 @@
* Adjust the route getProfileBusiness to fetchProfileBusiness * Adjust the route getProfileBusiness to fetchProfileBusiness
* fix error after logout and try to get status or to connect again * fix error after logout and try to get status or to connect again
* fix sending narrated audio on whatsapp android and ios * fix sending narrated audio on whatsapp android and ios
* fixed the problem of not disabling the global webhook by the variable
# 1.0.9 (2023-06-10) # 1.0.9 (2023-06-10)

View File

@ -11,9 +11,9 @@ services:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
ports: ports:
- 8080:8080 - 8083:8080
volumes: # volumes:
- /data/instances:/evolution/instances # - /data/instances:/evolution/instances
environment: environment:
# Determine how long the instance should be deleted from memory in case of no connection. # Determine how long the instance should be deleted from memory in case of no connection.
# Default time: 5 minutes # Default time: 5 minutes
@ -25,7 +25,7 @@ services:
- STORE_CONTACTS=true - STORE_CONTACTS=true
- STORE_CHATS=true - STORE_CHATS=true
# Permanent data storage # Permanent data storage
- DATABASE_ENABLED=true - DATABASE_ENABLED=false
- DATABASE_CONNECTION_URI=mongodb://root:root@mongodb:27017/?authSource=admin&readPreference=primary&ssl=false&directConnection=true - DATABASE_CONNECTION_URI=mongodb://root:root@mongodb:27017/?authSource=admin&readPreference=primary&ssl=false&directConnection=true
- DATABASE_CONNECTION_DB_PREFIX_NAME=evolution - DATABASE_CONNECTION_DB_PREFIX_NAME=evolution
# Choose the data you want to save in the application's database or store # Choose the data you want to save in the application's database or store
@ -35,7 +35,7 @@ services:
- DATABASE_SAVE_MESSAGE_UPDATE=false - DATABASE_SAVE_MESSAGE_UPDATE=false
- DATABASE_SAVE_DATA_CONTACTS=true - DATABASE_SAVE_DATA_CONTACTS=true
- DATABASE_SAVE_DATA_CHATS=true - DATABASE_SAVE_DATA_CHATS=true
- REDIS_ENABLED=true - REDIS_ENABLED=false
- REDIS_URI=redis://redis:6379 - REDIS_URI=redis://redis:6379
- REDIS_PREFIX_KEY=evolution - REDIS_PREFIX_KEY=evolution
# Webhook Settings # Webhook Settings
@ -92,31 +92,31 @@ services:
expose: expose:
- 8083 - 8083
mongodb: # mongodb:
container_name: mongodb # container_name: mongodb
image: mongo # image: mongo
restart: always # restart: always
volumes: # volumes:
- /data/mongodb:/data/db # - /data/mongodb:/data/db
ports: # ports:
- 27017:27017 # - 27017:27017
environment: # environment:
MONGO_INITDB_ROOT_USERNAME: root # MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root # MONGO_INITDB_ROOT_PASSWORD: root
networks: # networks:
- evolution-net # - evolution-net
expose: # expose:
- 27017 # - 27017
redis: # redis:
container_name: redis # container_name: redis
image: redis:latest # image: redis:latest
restart: always # restart: always
volumes: # volumes:
- /data/redis:/data # - /data/redis:/data
ports: # ports:
- 6379:6379 # - 6379:6379
networks: # networks:
- evolution-net # - evolution-net
expose: # expose:
- 6379 # - 6379

View File

@ -72,20 +72,28 @@ export class WAMonitoringService {
if (this.configService.get<Auth>('AUTHENTICATION').EXPOSE_IN_FETCH_INSTANCES) { if (this.configService.get<Auth>('AUTHENTICATION').EXPOSE_IN_FETCH_INSTANCES) {
const tokenStore = await this.repository.auth.find(key); const tokenStore = await this.repository.auth.find(key);
apikey = tokenStore.apikey || ''; apikey = tokenStore.apikey || '';
} else {
apikey = '';
}
instances.push({ instances.push({
instance: { instance: {
instanceName: key, instanceName: key,
owner: value.wuid, owner: value.wuid,
profileName: (await value.getProfileName()) || 'not loaded', profileName: (await value.getProfileName()) || 'not loaded',
profilePictureUrl: value.profilePictureUrl, profilePictureUrl: value.profilePictureUrl,
status: (await value.getProfileStatus()) || '', status: (await value.getProfileStatus()) || '',
apikey, apikey,
}, },
}); });
} else {
instances.push({
instance: {
instanceName: key,
owner: value.wuid,
profileName: (await value.getProfileName()) || 'not loaded',
profilePictureUrl: value.profilePictureUrl,
status: (await value.getProfileStatus()) || '',
},
});
}
} else { } else {
instances.push({ instances.push({
instance: { instance: {

View File

@ -265,56 +265,59 @@ export class WAStartupService {
} }
} }
} }
if (webhookGlobal.EVENTS[we]) {
const globalWebhook = this.configService.get<Webhook>('WEBHOOK').GLOBAL;
let globalURL; if (webhookGlobal.GLOBAL?.ENABLED) {
if (webhookGlobal.EVENTS[we]) {
const globalWebhook = this.configService.get<Webhook>('WEBHOOK').GLOBAL;
if (webhookGlobal.GLOBAL.WEBHOOK_BY_EVENTS) { let globalURL;
globalURL = `${globalWebhook.URL}/${transformedWe}`;
} else {
globalURL = globalWebhook.URL;
}
let localUrl; if (webhookGlobal.GLOBAL.WEBHOOK_BY_EVENTS) {
globalURL = `${globalWebhook.URL}/${transformedWe}`;
} else {
globalURL = globalWebhook.URL;
}
if (instance.MODE === 'container') { let localUrl;
localUrl = instance.WEBHOOK_URL;
} else {
localUrl = this.localWebhook.url;
}
this.logger.log({ if (instance.MODE === 'container') {
local: WAStartupService.name + '.sendDataWebhook-global', localUrl = instance.WEBHOOK_URL;
url: globalURL, } else {
event, localUrl = this.localWebhook.url;
instance: this.instance.name, }
data,
destination: localUrl,
});
try { this.logger.log({
if (globalWebhook && globalWebhook?.ENABLED && isURL(globalURL)) { local: WAStartupService.name + '.sendDataWebhook-global',
const httpService = axios.create({ baseURL: globalURL }); url: globalURL,
await httpService.post('', { event,
event, instance: this.instance.name,
instance: this.instance.name, data,
data, destination: localUrl,
destination: localUrl, });
try {
if (globalWebhook && globalWebhook?.ENABLED && isURL(globalURL)) {
const httpService = axios.create({ baseURL: globalURL });
await httpService.post('', {
event,
instance: this.instance.name,
data,
destination: localUrl,
});
}
} catch (error) {
this.logger.error({
local: WAStartupService.name + '.sendDataWebhook-global',
message: error?.message,
hostName: error?.hostname,
syscall: error?.syscall,
code: error?.code,
error: error?.errno,
stack: error?.stack,
name: error?.name,
url: globalURL,
}); });
} }
} catch (error) {
this.logger.error({
local: WAStartupService.name + '.sendDataWebhook-global',
message: error?.message,
hostName: error?.hostname,
syscall: error?.syscall,
code: error?.code,
error: error?.errno,
stack: error?.stack,
name: error?.name,
url: globalURL,
});
} }
} }
} }