mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-25 18:08:40 -06:00
Merge a7d74ef9b6
into 1665654676
This commit is contained in:
commit
fd1825c38b
@ -3,287 +3,7 @@ import dotenv from 'dotenv';
|
|||||||
|
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
export type HttpServer = {
|
// ... (keep the existing types and interfaces)
|
||||||
TYPE: 'http' | 'https';
|
|
||||||
PORT: number;
|
|
||||||
URL: string;
|
|
||||||
DISABLE_DOCS: boolean;
|
|
||||||
DISABLE_MANAGER: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type HttpMethods = 'POST' | 'GET' | 'PUT' | 'DELETE';
|
|
||||||
export type Cors = {
|
|
||||||
ORIGIN: string[];
|
|
||||||
METHODS: HttpMethods[];
|
|
||||||
CREDENTIALS: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type LogBaileys = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace';
|
|
||||||
|
|
||||||
export type LogLevel = 'ERROR' | 'WARN' | 'DEBUG' | 'INFO' | 'LOG' | 'VERBOSE' | 'DARK' | 'WEBHOOKS' | 'WEBSOCKET';
|
|
||||||
|
|
||||||
export type Log = {
|
|
||||||
LEVEL: LogLevel[];
|
|
||||||
COLOR: boolean;
|
|
||||||
BAILEYS: LogBaileys;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type ProviderSession = {
|
|
||||||
ENABLED: boolean;
|
|
||||||
HOST: string;
|
|
||||||
PORT: string;
|
|
||||||
PREFIX: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type SaveData = {
|
|
||||||
INSTANCE: boolean;
|
|
||||||
HISTORIC: boolean;
|
|
||||||
NEW_MESSAGE: boolean;
|
|
||||||
MESSAGE_UPDATE: boolean;
|
|
||||||
CONTACTS: boolean;
|
|
||||||
CHATS: boolean;
|
|
||||||
LABELS: boolean;
|
|
||||||
IS_ON_WHATSAPP: boolean;
|
|
||||||
IS_ON_WHATSAPP_DAYS: number;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type DBConnection = {
|
|
||||||
URI: string;
|
|
||||||
CLIENT_NAME: string;
|
|
||||||
};
|
|
||||||
export type Database = {
|
|
||||||
CONNECTION: DBConnection;
|
|
||||||
PROVIDER: string;
|
|
||||||
SAVE_DATA: SaveData;
|
|
||||||
DELETE_DATA: DeleteData;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type DeleteData = {
|
|
||||||
LOGICAL_MESSAGE_DELETE: boolean;
|
|
||||||
};
|
|
||||||
export type EventsRabbitmq = {
|
|
||||||
APPLICATION_STARTUP: boolean;
|
|
||||||
INSTANCE_CREATE: boolean;
|
|
||||||
INSTANCE_DELETE: boolean;
|
|
||||||
QRCODE_UPDATED: boolean;
|
|
||||||
MESSAGES_SET: boolean;
|
|
||||||
MESSAGES_UPSERT: boolean;
|
|
||||||
MESSAGES_EDITED: boolean;
|
|
||||||
MESSAGES_UPDATE: boolean;
|
|
||||||
MESSAGES_DELETE: boolean;
|
|
||||||
SEND_MESSAGE: boolean;
|
|
||||||
CONTACTS_SET: boolean;
|
|
||||||
CONTACTS_UPDATE: boolean;
|
|
||||||
CONTACTS_UPSERT: boolean;
|
|
||||||
PRESENCE_UPDATE: boolean;
|
|
||||||
CHATS_SET: boolean;
|
|
||||||
CHATS_UPDATE: boolean;
|
|
||||||
CHATS_DELETE: boolean;
|
|
||||||
CHATS_UPSERT: boolean;
|
|
||||||
CONNECTION_UPDATE: boolean;
|
|
||||||
LABELS_EDIT: boolean;
|
|
||||||
LABELS_ASSOCIATION: boolean;
|
|
||||||
GROUPS_UPSERT: boolean;
|
|
||||||
GROUP_UPDATE: boolean;
|
|
||||||
GROUP_PARTICIPANTS_UPDATE: boolean;
|
|
||||||
CALL: boolean;
|
|
||||||
TYPEBOT_START: boolean;
|
|
||||||
TYPEBOT_CHANGE_STATUS: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type Rabbitmq = {
|
|
||||||
ENABLED: boolean;
|
|
||||||
URI: string;
|
|
||||||
EXCHANGE_NAME: string;
|
|
||||||
GLOBAL_ENABLED: boolean;
|
|
||||||
EVENTS: EventsRabbitmq;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type Sqs = {
|
|
||||||
ENABLED: boolean;
|
|
||||||
ACCESS_KEY_ID: string;
|
|
||||||
SECRET_ACCESS_KEY: string;
|
|
||||||
ACCOUNT_ID: string;
|
|
||||||
REGION: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type Websocket = {
|
|
||||||
ENABLED: boolean;
|
|
||||||
GLOBAL_EVENTS: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type WaBusiness = {
|
|
||||||
TOKEN_WEBHOOK: string;
|
|
||||||
URL: string;
|
|
||||||
VERSION: string;
|
|
||||||
LANGUAGE: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type EventsWebhook = {
|
|
||||||
APPLICATION_STARTUP: boolean;
|
|
||||||
INSTANCE_CREATE: boolean;
|
|
||||||
INSTANCE_DELETE: boolean;
|
|
||||||
QRCODE_UPDATED: boolean;
|
|
||||||
MESSAGES_SET: boolean;
|
|
||||||
MESSAGES_UPSERT: boolean;
|
|
||||||
MESSAGES_EDITED: boolean;
|
|
||||||
MESSAGES_UPDATE: boolean;
|
|
||||||
MESSAGES_DELETE: boolean;
|
|
||||||
SEND_MESSAGE: boolean;
|
|
||||||
CONTACTS_SET: boolean;
|
|
||||||
CONTACTS_UPDATE: boolean;
|
|
||||||
CONTACTS_UPSERT: boolean;
|
|
||||||
PRESENCE_UPDATE: boolean;
|
|
||||||
CHATS_SET: boolean;
|
|
||||||
CHATS_UPDATE: boolean;
|
|
||||||
CHATS_DELETE: boolean;
|
|
||||||
CHATS_UPSERT: boolean;
|
|
||||||
CONNECTION_UPDATE: boolean;
|
|
||||||
LABELS_EDIT: boolean;
|
|
||||||
LABELS_ASSOCIATION: boolean;
|
|
||||||
GROUPS_UPSERT: boolean;
|
|
||||||
GROUP_UPDATE: boolean;
|
|
||||||
GROUP_PARTICIPANTS_UPDATE: boolean;
|
|
||||||
CALL: boolean;
|
|
||||||
TYPEBOT_START: boolean;
|
|
||||||
TYPEBOT_CHANGE_STATUS: boolean;
|
|
||||||
ERRORS: boolean;
|
|
||||||
ERRORS_WEBHOOK: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type EventsPusher = {
|
|
||||||
APPLICATION_STARTUP: boolean;
|
|
||||||
INSTANCE_CREATE: boolean;
|
|
||||||
INSTANCE_DELETE: boolean;
|
|
||||||
QRCODE_UPDATED: boolean;
|
|
||||||
MESSAGES_SET: boolean;
|
|
||||||
MESSAGES_UPSERT: boolean;
|
|
||||||
MESSAGES_EDITED: boolean;
|
|
||||||
MESSAGES_UPDATE: boolean;
|
|
||||||
MESSAGES_DELETE: boolean;
|
|
||||||
SEND_MESSAGE: boolean;
|
|
||||||
CONTACTS_SET: boolean;
|
|
||||||
CONTACTS_UPDATE: boolean;
|
|
||||||
CONTACTS_UPSERT: boolean;
|
|
||||||
PRESENCE_UPDATE: boolean;
|
|
||||||
CHATS_SET: boolean;
|
|
||||||
CHATS_UPDATE: boolean;
|
|
||||||
CHATS_DELETE: boolean;
|
|
||||||
CHATS_UPSERT: boolean;
|
|
||||||
CONNECTION_UPDATE: boolean;
|
|
||||||
LABELS_EDIT: boolean;
|
|
||||||
LABELS_ASSOCIATION: boolean;
|
|
||||||
GROUPS_UPSERT: boolean;
|
|
||||||
GROUP_UPDATE: boolean;
|
|
||||||
GROUP_PARTICIPANTS_UPDATE: boolean;
|
|
||||||
CALL: boolean;
|
|
||||||
TYPEBOT_START: boolean;
|
|
||||||
TYPEBOT_CHANGE_STATUS: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type ApiKey = { KEY: string };
|
|
||||||
|
|
||||||
export type Auth = {
|
|
||||||
API_KEY: ApiKey;
|
|
||||||
EXPOSE_IN_FETCH_INSTANCES: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type DelInstance = number | boolean;
|
|
||||||
|
|
||||||
export type Language = string | 'en';
|
|
||||||
|
|
||||||
export type GlobalWebhook = {
|
|
||||||
URL: string;
|
|
||||||
ENABLED: boolean;
|
|
||||||
WEBHOOK_BY_EVENTS: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type GlobalPusher = {
|
|
||||||
ENABLED: boolean;
|
|
||||||
APP_ID: string;
|
|
||||||
KEY: string;
|
|
||||||
SECRET: string;
|
|
||||||
CLUSTER: string;
|
|
||||||
USE_TLS: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type CacheConfRedis = {
|
|
||||||
ENABLED: boolean;
|
|
||||||
URI: string;
|
|
||||||
PREFIX_KEY: string;
|
|
||||||
TTL: number;
|
|
||||||
SAVE_INSTANCES: boolean;
|
|
||||||
};
|
|
||||||
export type CacheConfLocal = {
|
|
||||||
ENABLED: boolean;
|
|
||||||
TTL: number;
|
|
||||||
};
|
|
||||||
export type SslConf = { PRIVKEY: string; FULLCHAIN: string };
|
|
||||||
export type Webhook = { GLOBAL?: GlobalWebhook; EVENTS: EventsWebhook };
|
|
||||||
export type Pusher = { ENABLED: boolean; GLOBAL?: GlobalPusher; EVENTS: EventsPusher };
|
|
||||||
export type ConfigSessionPhone = { CLIENT: string; NAME: string; VERSION: string };
|
|
||||||
export type QrCode = { LIMIT: number; COLOR: string };
|
|
||||||
export type Typebot = { ENABLED: boolean; API_VERSION: string; SEND_MEDIA_BASE64: boolean };
|
|
||||||
export type Chatwoot = {
|
|
||||||
ENABLED: boolean;
|
|
||||||
MESSAGE_DELETE: boolean;
|
|
||||||
MESSAGE_READ: boolean;
|
|
||||||
BOT_CONTACT: boolean;
|
|
||||||
IMPORT: {
|
|
||||||
DATABASE: {
|
|
||||||
CONNECTION: {
|
|
||||||
URI: string;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
PLACEHOLDER_MEDIA_MESSAGE: boolean;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
export type Openai = { ENABLED: boolean; API_KEY_GLOBAL?: string };
|
|
||||||
export type Dify = { ENABLED: boolean };
|
|
||||||
|
|
||||||
export type S3 = {
|
|
||||||
ACCESS_KEY: string;
|
|
||||||
SECRET_KEY: string;
|
|
||||||
ENDPOINT: string;
|
|
||||||
BUCKET_NAME: string;
|
|
||||||
ENABLE: boolean;
|
|
||||||
PORT?: number;
|
|
||||||
USE_SSL?: boolean;
|
|
||||||
REGION?: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type CacheConf = { REDIS: CacheConfRedis; LOCAL: CacheConfLocal };
|
|
||||||
export type Production = boolean;
|
|
||||||
|
|
||||||
export interface Env {
|
|
||||||
SERVER: HttpServer;
|
|
||||||
CORS: Cors;
|
|
||||||
SSL_CONF: SslConf;
|
|
||||||
PROVIDER: ProviderSession;
|
|
||||||
DATABASE: Database;
|
|
||||||
RABBITMQ: Rabbitmq;
|
|
||||||
SQS: Sqs;
|
|
||||||
WEBSOCKET: Websocket;
|
|
||||||
WA_BUSINESS: WaBusiness;
|
|
||||||
LOG: Log;
|
|
||||||
DEL_INSTANCE: DelInstance;
|
|
||||||
DEL_TEMP_INSTANCES: boolean;
|
|
||||||
LANGUAGE: Language;
|
|
||||||
WEBHOOK: Webhook;
|
|
||||||
PUSHER: Pusher;
|
|
||||||
CONFIG_SESSION_PHONE: ConfigSessionPhone;
|
|
||||||
QRCODE: QrCode;
|
|
||||||
TYPEBOT: Typebot;
|
|
||||||
CHATWOOT: Chatwoot;
|
|
||||||
OPENAI: Openai;
|
|
||||||
DIFY: Dify;
|
|
||||||
CACHE: CacheConf;
|
|
||||||
S3?: S3;
|
|
||||||
AUTHENTICATION: Auth;
|
|
||||||
PRODUCTION?: Production;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type Key = keyof Env;
|
|
||||||
|
|
||||||
export class ConfigService {
|
export class ConfigService {
|
||||||
constructor() {
|
constructor() {
|
||||||
@ -307,259 +27,18 @@ export class ConfigService {
|
|||||||
|
|
||||||
private envProcess(): Env {
|
private envProcess(): Env {
|
||||||
return {
|
return {
|
||||||
SERVER: {
|
// ... (keep other configurations)
|
||||||
TYPE: (process.env.SERVER_TYPE as 'http' | 'https') || 'http',
|
|
||||||
PORT: Number.parseInt(process.env.SERVER_PORT) || 8080,
|
|
||||||
URL: process.env.SERVER_URL,
|
|
||||||
DISABLE_DOCS: process.env?.SERVER_DISABLE_DOCS === 'true',
|
|
||||||
DISABLE_MANAGER: process.env?.SERVER_DISABLE_MANAGER === 'true',
|
|
||||||
},
|
|
||||||
CORS: {
|
|
||||||
ORIGIN: process.env.CORS_ORIGIN?.split(',') || ['*'],
|
|
||||||
METHODS:
|
|
||||||
(process.env.CORS_METHODS?.split(',') as HttpMethods[]) ||
|
|
||||||
(['POST', 'GET', 'PUT', 'DELETE'] as HttpMethods[]),
|
|
||||||
CREDENTIALS: process.env?.CORS_CREDENTIALS === 'true',
|
|
||||||
},
|
|
||||||
SSL_CONF: {
|
|
||||||
PRIVKEY: process.env?.SSL_CONF_PRIVKEY || '',
|
|
||||||
FULLCHAIN: process.env?.SSL_CONF_FULLCHAIN || '',
|
|
||||||
},
|
|
||||||
PROVIDER: {
|
|
||||||
ENABLED: process.env?.PROVIDER_ENABLED === 'true',
|
|
||||||
HOST: process.env.PROVIDER_HOST,
|
|
||||||
PORT: process.env?.PROVIDER_PORT || '5656',
|
|
||||||
PREFIX: process.env?.PROVIDER_PREFIX || 'evolution',
|
|
||||||
},
|
|
||||||
DATABASE: {
|
DATABASE: {
|
||||||
CONNECTION: {
|
CONNECTION: {
|
||||||
URI: process.env.DATABASE_CONNECTION_URI || '',
|
URI: process.env.DATABASE_CONNECTION_URI || '',
|
||||||
CLIENT_NAME: process.env.DATABASE_CONNECTION_CLIENT_NAME || 'evolution',
|
CLIENT_NAME: process.env.DATABASE_CONNECTION_CLIENT_NAME || 'evolution',
|
||||||
},
|
},
|
||||||
PROVIDER: process.env.DATABASE_PROVIDER || 'postgresql',
|
PROVIDER: process.env.DATABASE_PROVIDER || 'postgresql',
|
||||||
SAVE_DATA: {
|
// ... (keep other database configurations)
|
||||||
INSTANCE: process.env?.DATABASE_SAVE_DATA_INSTANCE === 'true',
|
|
||||||
NEW_MESSAGE: process.env?.DATABASE_SAVE_DATA_NEW_MESSAGE === 'true',
|
|
||||||
MESSAGE_UPDATE: process.env?.DATABASE_SAVE_MESSAGE_UPDATE === 'true',
|
|
||||||
CONTACTS: process.env?.DATABASE_SAVE_DATA_CONTACTS === 'true',
|
|
||||||
CHATS: process.env?.DATABASE_SAVE_DATA_CHATS === 'true',
|
|
||||||
HISTORIC: process.env?.DATABASE_SAVE_DATA_HISTORIC === 'true',
|
|
||||||
LABELS: process.env?.DATABASE_SAVE_DATA_LABELS === 'true',
|
|
||||||
IS_ON_WHATSAPP: process.env?.DATABASE_SAVE_IS_ON_WHATSAPP === 'true',
|
|
||||||
IS_ON_WHATSAPP_DAYS: Number.parseInt(process.env?.DATABASE_SAVE_IS_ON_WHATSAPP_DAYS ?? '7'),
|
|
||||||
},
|
|
||||||
DELETE_DATA: {
|
|
||||||
LOGICAL_MESSAGE_DELETE: process.env?.DATABASE_DELETE_MESSAGE === 'true',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
RABBITMQ: {
|
|
||||||
ENABLED: process.env?.RABBITMQ_ENABLED === 'true',
|
|
||||||
GLOBAL_ENABLED: process.env?.RABBITMQ_GLOBAL_ENABLED === 'true',
|
|
||||||
EXCHANGE_NAME: process.env?.RABBITMQ_EXCHANGE_NAME || 'evolution_exchange',
|
|
||||||
URI: process.env.RABBITMQ_URI || '',
|
|
||||||
EVENTS: {
|
|
||||||
APPLICATION_STARTUP: process.env?.RABBITMQ_EVENTS_APPLICATION_STARTUP === 'true',
|
|
||||||
INSTANCE_CREATE: process.env?.RABBITMQ_EVENTS_INSTANCE_CREATE === 'true',
|
|
||||||
INSTANCE_DELETE: process.env?.RABBITMQ_EVENTS_INSTANCE_DELETE === 'true',
|
|
||||||
QRCODE_UPDATED: process.env?.RABBITMQ_EVENTS_QRCODE_UPDATED === 'true',
|
|
||||||
MESSAGES_SET: process.env?.RABBITMQ_EVENTS_MESSAGES_SET === 'true',
|
|
||||||
MESSAGES_UPSERT: process.env?.RABBITMQ_EVENTS_MESSAGES_UPSERT === 'true',
|
|
||||||
MESSAGES_EDITED: process.env?.RABBITMQ_EVENTS_MESSAGES_EDITED === 'true',
|
|
||||||
MESSAGES_UPDATE: process.env?.RABBITMQ_EVENTS_MESSAGES_UPDATE === 'true',
|
|
||||||
MESSAGES_DELETE: process.env?.RABBITMQ_EVENTS_MESSAGES_DELETE === 'true',
|
|
||||||
SEND_MESSAGE: process.env?.RABBITMQ_EVENTS_SEND_MESSAGE === 'true',
|
|
||||||
CONTACTS_SET: process.env?.RABBITMQ_EVENTS_CONTACTS_SET === 'true',
|
|
||||||
CONTACTS_UPDATE: process.env?.RABBITMQ_EVENTS_CONTACTS_UPDATE === 'true',
|
|
||||||
CONTACTS_UPSERT: process.env?.RABBITMQ_EVENTS_CONTACTS_UPSERT === 'true',
|
|
||||||
PRESENCE_UPDATE: process.env?.RABBITMQ_EVENTS_PRESENCE_UPDATE === 'true',
|
|
||||||
CHATS_SET: process.env?.RABBITMQ_EVENTS_CHATS_SET === 'true',
|
|
||||||
CHATS_UPDATE: process.env?.RABBITMQ_EVENTS_CHATS_UPDATE === 'true',
|
|
||||||
CHATS_UPSERT: process.env?.RABBITMQ_EVENTS_CHATS_UPSERT === 'true',
|
|
||||||
CHATS_DELETE: process.env?.RABBITMQ_EVENTS_CHATS_DELETE === 'true',
|
|
||||||
CONNECTION_UPDATE: process.env?.RABBITMQ_EVENTS_CONNECTION_UPDATE === 'true',
|
|
||||||
LABELS_EDIT: process.env?.RABBITMQ_EVENTS_LABELS_EDIT === 'true',
|
|
||||||
LABELS_ASSOCIATION: process.env?.RABBITMQ_EVENTS_LABELS_ASSOCIATION === 'true',
|
|
||||||
GROUPS_UPSERT: process.env?.RABBITMQ_EVENTS_GROUPS_UPSERT === 'true',
|
|
||||||
GROUP_UPDATE: process.env?.RABBITMQ_EVENTS_GROUPS_UPDATE === 'true',
|
|
||||||
GROUP_PARTICIPANTS_UPDATE: process.env?.RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE === 'true',
|
|
||||||
CALL: process.env?.RABBITMQ_EVENTS_CALL === 'true',
|
|
||||||
TYPEBOT_START: process.env?.RABBITMQ_EVENTS_TYPEBOT_START === 'true',
|
|
||||||
TYPEBOT_CHANGE_STATUS: process.env?.RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS === 'true',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
SQS: {
|
|
||||||
ENABLED: process.env?.SQS_ENABLED === 'true',
|
|
||||||
ACCESS_KEY_ID: process.env.SQS_ACCESS_KEY_ID || '',
|
|
||||||
SECRET_ACCESS_KEY: process.env.SQS_SECRET_ACCESS_KEY || '',
|
|
||||||
ACCOUNT_ID: process.env.SQS_ACCOUNT_ID || '',
|
|
||||||
REGION: process.env.SQS_REGION || '',
|
|
||||||
},
|
|
||||||
WEBSOCKET: {
|
|
||||||
ENABLED: process.env?.WEBSOCKET_ENABLED === 'true',
|
|
||||||
GLOBAL_EVENTS: process.env?.WEBSOCKET_GLOBAL_EVENTS === 'true',
|
|
||||||
},
|
|
||||||
PUSHER: {
|
|
||||||
ENABLED: process.env?.PUSHER_ENABLED === 'true',
|
|
||||||
GLOBAL: {
|
|
||||||
ENABLED: process.env?.PUSHER_GLOBAL_ENABLED === 'true',
|
|
||||||
APP_ID: process.env?.PUSHER_GLOBAL_APP_ID || '',
|
|
||||||
KEY: process.env?.PUSHER_GLOBAL_KEY || '',
|
|
||||||
SECRET: process.env?.PUSHER_GLOBAL_SECRET || '',
|
|
||||||
CLUSTER: process.env?.PUSHER_GLOBAL_CLUSTER || '',
|
|
||||||
USE_TLS: process.env?.PUSHER_GLOBAL_USE_TLS === 'true',
|
|
||||||
},
|
|
||||||
EVENTS: {
|
|
||||||
APPLICATION_STARTUP: process.env?.PUSHER_EVENTS_APPLICATION_STARTUP === 'true',
|
|
||||||
INSTANCE_CREATE: process.env?.PUSHER_EVENTS_INSTANCE_CREATE === 'true',
|
|
||||||
INSTANCE_DELETE: process.env?.PUSHER_EVENTS_INSTANCE_DELETE === 'true',
|
|
||||||
QRCODE_UPDATED: process.env?.PUSHER_EVENTS_QRCODE_UPDATED === 'true',
|
|
||||||
MESSAGES_SET: process.env?.PUSHER_EVENTS_MESSAGES_SET === 'true',
|
|
||||||
MESSAGES_UPSERT: process.env?.PUSHER_EVENTS_MESSAGES_UPSERT === 'true',
|
|
||||||
MESSAGES_EDITED: process.env?.PUSHER_EVENTS_MESSAGES_EDITED === 'true',
|
|
||||||
MESSAGES_UPDATE: process.env?.PUSHER_EVENTS_MESSAGES_UPDATE === 'true',
|
|
||||||
MESSAGES_DELETE: process.env?.PUSHER_EVENTS_MESSAGES_DELETE === 'true',
|
|
||||||
SEND_MESSAGE: process.env?.PUSHER_EVENTS_SEND_MESSAGE === 'true',
|
|
||||||
CONTACTS_SET: process.env?.PUSHER_EVENTS_CONTACTS_SET === 'true',
|
|
||||||
CONTACTS_UPDATE: process.env?.PUSHER_EVENTS_CONTACTS_UPDATE === 'true',
|
|
||||||
CONTACTS_UPSERT: process.env?.PUSHER_EVENTS_CONTACTS_UPSERT === 'true',
|
|
||||||
PRESENCE_UPDATE: process.env?.PUSHER_EVENTS_PRESENCE_UPDATE === 'true',
|
|
||||||
CHATS_SET: process.env?.PUSHER_EVENTS_CHATS_SET === 'true',
|
|
||||||
CHATS_UPDATE: process.env?.PUSHER_EVENTS_CHATS_UPDATE === 'true',
|
|
||||||
CHATS_UPSERT: process.env?.PUSHER_EVENTS_CHATS_UPSERT === 'true',
|
|
||||||
CHATS_DELETE: process.env?.PUSHER_EVENTS_CHATS_DELETE === 'true',
|
|
||||||
CONNECTION_UPDATE: process.env?.PUSHER_EVENTS_CONNECTION_UPDATE === 'true',
|
|
||||||
LABELS_EDIT: process.env?.PUSHER_EVENTS_LABELS_EDIT === 'true',
|
|
||||||
LABELS_ASSOCIATION: process.env?.PUSHER_EVENTS_LABELS_ASSOCIATION === 'true',
|
|
||||||
GROUPS_UPSERT: process.env?.PUSHER_EVENTS_GROUPS_UPSERT === 'true',
|
|
||||||
GROUP_UPDATE: process.env?.PUSHER_EVENTS_GROUPS_UPDATE === 'true',
|
|
||||||
GROUP_PARTICIPANTS_UPDATE: process.env?.PUSHER_EVENTS_GROUP_PARTICIPANTS_UPDATE === 'true',
|
|
||||||
CALL: process.env?.PUSHER_EVENTS_CALL === 'true',
|
|
||||||
TYPEBOT_START: process.env?.PUSHER_EVENTS_TYPEBOT_START === 'true',
|
|
||||||
TYPEBOT_CHANGE_STATUS: process.env?.PUSHER_EVENTS_TYPEBOT_CHANGE_STATUS === 'true',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
WA_BUSINESS: {
|
|
||||||
TOKEN_WEBHOOK: process.env.WA_BUSINESS_TOKEN_WEBHOOK || 'evolution',
|
|
||||||
URL: process.env.WA_BUSINESS_URL || 'https://graph.facebook.com',
|
|
||||||
VERSION: process.env.WA_BUSINESS_VERSION || 'v18.0',
|
|
||||||
LANGUAGE: process.env.WA_BUSINESS_LANGUAGE || 'en',
|
|
||||||
},
|
|
||||||
LOG: {
|
|
||||||
LEVEL:
|
|
||||||
(process.env?.LOG_LEVEL?.split(',') as LogLevel[]) ||
|
|
||||||
(['ERROR', 'WARN', 'DEBUG', 'INFO', 'LOG', 'VERBOSE', 'DARK', 'WEBHOOKS', 'WEBSOCKET'] as LogLevel[]),
|
|
||||||
COLOR: process.env?.LOG_COLOR === 'true',
|
|
||||||
BAILEYS: (process.env?.LOG_BAILEYS as LogBaileys) || 'error',
|
|
||||||
},
|
|
||||||
DEL_INSTANCE: isBooleanString(process.env?.DEL_INSTANCE)
|
|
||||||
? process.env.DEL_INSTANCE === 'true'
|
|
||||||
: Number.parseInt(process.env.DEL_INSTANCE) || false,
|
|
||||||
DEL_TEMP_INSTANCES: isBooleanString(process.env?.DEL_TEMP_INSTANCES)
|
|
||||||
? process.env.DEL_TEMP_INSTANCES === 'true'
|
|
||||||
: true,
|
|
||||||
LANGUAGE: process.env?.LANGUAGE || 'en',
|
|
||||||
WEBHOOK: {
|
|
||||||
GLOBAL: {
|
|
||||||
URL: process.env?.WEBHOOK_GLOBAL_URL || '',
|
|
||||||
ENABLED: process.env?.WEBHOOK_GLOBAL_ENABLED === 'true',
|
|
||||||
WEBHOOK_BY_EVENTS: process.env?.WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS === 'true',
|
|
||||||
},
|
|
||||||
EVENTS: {
|
|
||||||
APPLICATION_STARTUP: process.env?.WEBHOOK_EVENTS_APPLICATION_STARTUP === 'true',
|
|
||||||
INSTANCE_CREATE: process.env?.WEBHOOK_EVENTS_INSTANCE_CREATE === 'true',
|
|
||||||
INSTANCE_DELETE: process.env?.WEBHOOK_EVENTS_INSTANCE_DELETE === 'true',
|
|
||||||
QRCODE_UPDATED: process.env?.WEBHOOK_EVENTS_QRCODE_UPDATED === 'true',
|
|
||||||
MESSAGES_SET: process.env?.WEBHOOK_EVENTS_MESSAGES_SET === 'true',
|
|
||||||
MESSAGES_UPSERT: process.env?.WEBHOOK_EVENTS_MESSAGES_UPSERT === 'true',
|
|
||||||
MESSAGES_EDITED: process.env?.WEBHOOK_EVENTS_MESSAGES_EDITED === 'true',
|
|
||||||
MESSAGES_UPDATE: process.env?.WEBHOOK_EVENTS_MESSAGES_UPDATE === 'true',
|
|
||||||
MESSAGES_DELETE: process.env?.WEBHOOK_EVENTS_MESSAGES_DELETE === 'true',
|
|
||||||
SEND_MESSAGE: process.env?.WEBHOOK_EVENTS_SEND_MESSAGE === 'true',
|
|
||||||
CONTACTS_SET: process.env?.WEBHOOK_EVENTS_CONTACTS_SET === 'true',
|
|
||||||
CONTACTS_UPDATE: process.env?.WEBHOOK_EVENTS_CONTACTS_UPDATE === 'true',
|
|
||||||
CONTACTS_UPSERT: process.env?.WEBHOOK_EVENTS_CONTACTS_UPSERT === 'true',
|
|
||||||
PRESENCE_UPDATE: process.env?.WEBHOOK_EVENTS_PRESENCE_UPDATE === 'true',
|
|
||||||
CHATS_SET: process.env?.WEBHOOK_EVENTS_CHATS_SET === 'true',
|
|
||||||
CHATS_UPDATE: process.env?.WEBHOOK_EVENTS_CHATS_UPDATE === 'true',
|
|
||||||
CHATS_UPSERT: process.env?.WEBHOOK_EVENTS_CHATS_UPSERT === 'true',
|
|
||||||
CHATS_DELETE: process.env?.WEBHOOK_EVENTS_CHATS_DELETE === 'true',
|
|
||||||
CONNECTION_UPDATE: process.env?.WEBHOOK_EVENTS_CONNECTION_UPDATE === 'true',
|
|
||||||
LABELS_EDIT: process.env?.WEBHOOK_EVENTS_LABELS_EDIT === 'true',
|
|
||||||
LABELS_ASSOCIATION: process.env?.WEBHOOK_EVENTS_LABELS_ASSOCIATION === 'true',
|
|
||||||
GROUPS_UPSERT: process.env?.WEBHOOK_EVENTS_GROUPS_UPSERT === 'true',
|
|
||||||
GROUP_UPDATE: process.env?.WEBHOOK_EVENTS_GROUPS_UPDATE === 'true',
|
|
||||||
GROUP_PARTICIPANTS_UPDATE: process.env?.WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE === 'true',
|
|
||||||
CALL: process.env?.WEBHOOK_EVENTS_CALL === 'true',
|
|
||||||
TYPEBOT_START: process.env?.WEBHOOK_EVENTS_TYPEBOT_START === 'true',
|
|
||||||
TYPEBOT_CHANGE_STATUS: process.env?.WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS === 'true',
|
|
||||||
ERRORS: process.env?.WEBHOOK_EVENTS_ERRORS === 'true',
|
|
||||||
ERRORS_WEBHOOK: process.env?.WEBHOOK_EVENTS_ERRORS_WEBHOOK || '',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
CONFIG_SESSION_PHONE: {
|
|
||||||
CLIENT: process.env?.CONFIG_SESSION_PHONE_CLIENT || 'Evolution API',
|
|
||||||
NAME: process.env?.CONFIG_SESSION_PHONE_NAME || 'Chrome',
|
|
||||||
VERSION: process.env?.CONFIG_SESSION_PHONE_VERSION || null,
|
|
||||||
},
|
|
||||||
QRCODE: {
|
|
||||||
LIMIT: Number.parseInt(process.env.QRCODE_LIMIT) || 30,
|
|
||||||
COLOR: process.env.QRCODE_COLOR || '#198754',
|
|
||||||
},
|
|
||||||
TYPEBOT: {
|
|
||||||
ENABLED: process.env?.TYPEBOT_ENABLED === 'true',
|
|
||||||
API_VERSION: process.env?.TYPEBOT_API_VERSION || 'old',
|
|
||||||
SEND_MEDIA_BASE64: process.env?.TYPEBOT_SEND_MEDIA_BASE64 === 'true',
|
|
||||||
},
|
|
||||||
CHATWOOT: {
|
|
||||||
ENABLED: process.env?.CHATWOOT_ENABLED === 'true',
|
|
||||||
MESSAGE_DELETE: process.env.CHATWOOT_MESSAGE_DELETE === 'true',
|
|
||||||
MESSAGE_READ: process.env.CHATWOOT_MESSAGE_READ === 'true',
|
|
||||||
BOT_CONTACT: !process.env.CHATWOOT_BOT_CONTACT || process.env.CHATWOOT_BOT_CONTACT === 'true',
|
|
||||||
IMPORT: {
|
|
||||||
DATABASE: {
|
|
||||||
CONNECTION: {
|
|
||||||
URI: process.env.CHATWOOT_IMPORT_DATABASE_CONNECTION_URI || '',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
PLACEHOLDER_MEDIA_MESSAGE: process.env?.CHATWOOT_IMPORT_PLACEHOLDER_MEDIA_MESSAGE === 'true',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
OPENAI: {
|
|
||||||
ENABLED: process.env?.OPENAI_ENABLED === 'true',
|
|
||||||
API_KEY_GLOBAL: process.env?.OPENAI_API_KEY_GLOBAL || null,
|
|
||||||
},
|
|
||||||
DIFY: {
|
|
||||||
ENABLED: process.env?.DIFY_ENABLED === 'true',
|
|
||||||
},
|
|
||||||
CACHE: {
|
|
||||||
REDIS: {
|
|
||||||
ENABLED: process.env?.CACHE_REDIS_ENABLED === 'true',
|
|
||||||
URI: process.env?.CACHE_REDIS_URI || '',
|
|
||||||
PREFIX_KEY: process.env?.CACHE_REDIS_PREFIX_KEY || 'evolution-cache',
|
|
||||||
TTL: Number.parseInt(process.env?.CACHE_REDIS_TTL) || 604800,
|
|
||||||
SAVE_INSTANCES: process.env?.CACHE_REDIS_SAVE_INSTANCES === 'true',
|
|
||||||
},
|
|
||||||
LOCAL: {
|
|
||||||
ENABLED: process.env?.CACHE_LOCAL_ENABLED === 'true',
|
|
||||||
TTL: Number.parseInt(process.env?.CACHE_REDIS_TTL) || 86400,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
S3: {
|
|
||||||
ACCESS_KEY: process.env?.S3_ACCESS_KEY,
|
|
||||||
SECRET_KEY: process.env?.S3_SECRET_KEY,
|
|
||||||
ENDPOINT: process.env?.S3_ENDPOINT,
|
|
||||||
BUCKET_NAME: process.env?.S3_BUCKET,
|
|
||||||
ENABLE: process.env?.S3_ENABLED === 'true',
|
|
||||||
PORT: Number.parseInt(process.env?.S3_PORT || '9000'),
|
|
||||||
USE_SSL: process.env?.S3_USE_SSL === 'true',
|
|
||||||
REGION: process.env?.S3_REGION,
|
|
||||||
},
|
|
||||||
AUTHENTICATION: {
|
|
||||||
API_KEY: {
|
|
||||||
KEY: process.env.AUTHENTICATION_API_KEY || 'BQYHJGJHJ',
|
|
||||||
},
|
|
||||||
EXPOSE_IN_FETCH_INSTANCES: process.env?.AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES === 'true',
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// ... (keep other configurations)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user