mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-24 17:38:40 -06:00
refactor: integration folders
This commit is contained in:
parent
a08ca7a67d
commit
beafc62403
@ -150,18 +150,18 @@ export class InstanceController {
|
|||||||
},
|
},
|
||||||
hash,
|
hash,
|
||||||
webhook: {
|
webhook: {
|
||||||
webhookUrl: instanceData.webhook.url,
|
webhookUrl: instanceData?.webhook?.url,
|
||||||
webhookByEvents: instanceData.webhook.byEvents,
|
webhookByEvents: instanceData?.webhook?.byEvents,
|
||||||
webhookBase64: instanceData.webhook.base64,
|
webhookBase64: instanceData?.webhook?.base64,
|
||||||
},
|
},
|
||||||
websocket: {
|
websocket: {
|
||||||
enabled: instanceData.websocket.enabled,
|
enabled: instanceData?.websocket?.enabled,
|
||||||
},
|
},
|
||||||
rabbitmq: {
|
rabbitmq: {
|
||||||
enabled: instanceData.rabbitmq.enabled,
|
enabled: instanceData?.rabbitmq?.enabled,
|
||||||
},
|
},
|
||||||
sqs: {
|
sqs: {
|
||||||
enabled: instanceData.sqs.enabled,
|
enabled: instanceData?.sqs?.enabled,
|
||||||
},
|
},
|
||||||
settings,
|
settings,
|
||||||
qrcode: getQrcode,
|
qrcode: getQrcode,
|
||||||
@ -237,18 +237,18 @@ export class InstanceController {
|
|||||||
},
|
},
|
||||||
hash,
|
hash,
|
||||||
webhook: {
|
webhook: {
|
||||||
webhookUrl: instanceData.webhook.url,
|
webhookUrl: instanceData?.webhook?.url,
|
||||||
webhookByEvents: instanceData.webhook.byEvents,
|
webhookByEvents: instanceData?.webhook?.byEvents,
|
||||||
webhookBase64: instanceData.webhook.base64,
|
webhookBase64: instanceData?.webhook?.base64,
|
||||||
},
|
},
|
||||||
websocket: {
|
websocket: {
|
||||||
enabled: instanceData.websocket.enabled,
|
enabled: instanceData?.websocket?.enabled,
|
||||||
},
|
},
|
||||||
rabbitmq: {
|
rabbitmq: {
|
||||||
enabled: instanceData.rabbitmq.enabled,
|
enabled: instanceData?.rabbitmq?.enabled,
|
||||||
},
|
},
|
||||||
sqs: {
|
sqs: {
|
||||||
enabled: instanceData.sqs.enabled,
|
enabled: instanceData?.sqs?.enabled,
|
||||||
},
|
},
|
||||||
settings,
|
settings,
|
||||||
chatwoot: {
|
chatwoot: {
|
||||||
@ -269,6 +269,7 @@ export class InstanceController {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
this.waMonitor.deleteInstance(instanceData.instanceName);
|
||||||
this.logger.error(isArray(error.message) ? error.message[0] : error.message);
|
this.logger.error(isArray(error.message) ? error.message[0] : error.message);
|
||||||
throw new BadRequestException(isArray(error.message) ? error.message[0] : error.message);
|
throw new BadRequestException(isArray(error.message) ? error.message[0] : error.message);
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ import { InstanceDto } from '@api/dto/instance.dto';
|
|||||||
import { PrismaRepository } from '@api/repository/repository.service';
|
import { PrismaRepository } from '@api/repository/repository.service';
|
||||||
import {
|
import {
|
||||||
difyController,
|
difyController,
|
||||||
eventManager,
|
|
||||||
flowiseController,
|
flowiseController,
|
||||||
genericController,
|
genericController,
|
||||||
openaiController,
|
openaiController,
|
||||||
@ -90,32 +89,17 @@ export class ChatbotController {
|
|||||||
pushName,
|
pushName,
|
||||||
isIntegration,
|
isIntegration,
|
||||||
};
|
};
|
||||||
// generic
|
|
||||||
await genericController.emit(emitData);
|
await genericController.emit(emitData);
|
||||||
|
|
||||||
// typebot
|
|
||||||
await typebotController.emit(emitData);
|
await typebotController.emit(emitData);
|
||||||
|
|
||||||
// openai
|
|
||||||
await openaiController.emit(emitData);
|
await openaiController.emit(emitData);
|
||||||
|
|
||||||
// dify
|
|
||||||
await difyController.emit(emitData);
|
await difyController.emit(emitData);
|
||||||
|
|
||||||
// flowise
|
|
||||||
await flowiseController.emit(emitData);
|
await flowiseController.emit(emitData);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async setInstance(instanceName: string, data: InstanceDto): Promise<any> {
|
|
||||||
if (data.websocket.enabled)
|
|
||||||
await eventManager.websocket.set(instanceName, {
|
|
||||||
websocket: {
|
|
||||||
enabled: true,
|
|
||||||
events: data.websocket.events,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public processDebounce(
|
public processDebounce(
|
||||||
userMessageDebounce: any,
|
userMessageDebounce: any,
|
||||||
content: string,
|
content: string,
|
||||||
|
@ -8,11 +8,11 @@ import { Events } from '@api/types/wa.types';
|
|||||||
import { Auth, configService, HttpServer, Typebot } from '@config/env.config';
|
import { Auth, configService, HttpServer, Typebot } from '@config/env.config';
|
||||||
import { Logger } from '@config/logger.config';
|
import { Logger } from '@config/logger.config';
|
||||||
import { BadRequestException } from '@exceptions';
|
import { BadRequestException } from '@exceptions';
|
||||||
|
import { Typebot as TypebotModel } from '@prisma/client';
|
||||||
import { getConversationMessage } from '@utils/getConversationMessage';
|
import { getConversationMessage } from '@utils/getConversationMessage';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
import { ChatbotController, ChatbotControllerInterface } from '../../chatbot.controller';
|
import { ChatbotController, ChatbotControllerInterface } from '../../chatbot.controller';
|
||||||
import { Typebot as TypebotModel } from '@prisma/client';
|
|
||||||
|
|
||||||
export class TypebotController extends ChatbotController implements ChatbotControllerInterface {
|
export class TypebotController extends ChatbotController implements ChatbotControllerInterface {
|
||||||
constructor(
|
constructor(
|
||||||
|
@ -2,7 +2,7 @@ import { Constructor } from '@api/integrations/integration.dto';
|
|||||||
|
|
||||||
export class EventDto {
|
export class EventDto {
|
||||||
webhook?: {
|
webhook?: {
|
||||||
enabled: boolean;
|
enabled?: boolean;
|
||||||
events?: string[];
|
events?: string[];
|
||||||
url?: string;
|
url?: string;
|
||||||
byEvents?: boolean;
|
byEvents?: boolean;
|
||||||
@ -10,17 +10,17 @@ export class EventDto {
|
|||||||
};
|
};
|
||||||
|
|
||||||
websocket?: {
|
websocket?: {
|
||||||
enabled: boolean;
|
enabled?: boolean;
|
||||||
events?: string[];
|
events?: string[];
|
||||||
};
|
};
|
||||||
|
|
||||||
sqs?: {
|
sqs?: {
|
||||||
enabled: boolean;
|
enabled?: boolean;
|
||||||
events?: string[];
|
events?: string[];
|
||||||
};
|
};
|
||||||
|
|
||||||
rabbitmq?: {
|
rabbitmq?: {
|
||||||
enabled: boolean;
|
enabled?: boolean;
|
||||||
events?: string[];
|
events?: string[];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -28,7 +28,7 @@ export class EventDto {
|
|||||||
export function EventInstanceMixin<TBase extends Constructor>(Base: TBase) {
|
export function EventInstanceMixin<TBase extends Constructor>(Base: TBase) {
|
||||||
return class extends Base {
|
return class extends Base {
|
||||||
webhook?: {
|
webhook?: {
|
||||||
enabled: boolean;
|
enabled?: boolean;
|
||||||
events?: string[];
|
events?: string[];
|
||||||
url?: string;
|
url?: string;
|
||||||
byEvents?: boolean;
|
byEvents?: boolean;
|
||||||
@ -36,17 +36,17 @@ export function EventInstanceMixin<TBase extends Constructor>(Base: TBase) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
websocket?: {
|
websocket?: {
|
||||||
enabled: boolean;
|
enabled?: boolean;
|
||||||
events?: string[];
|
events?: string[];
|
||||||
};
|
};
|
||||||
|
|
||||||
sqs?: {
|
sqs?: {
|
||||||
enabled: boolean;
|
enabled?: boolean;
|
||||||
events?: string[];
|
events?: string[];
|
||||||
};
|
};
|
||||||
|
|
||||||
rabbitmq?: {
|
rabbitmq?: {
|
||||||
enabled: boolean;
|
enabled?: boolean;
|
||||||
events?: string[];
|
events?: string[];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -96,35 +96,39 @@ export class EventManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async setInstance(instanceName: string, data: any): Promise<any> {
|
public async setInstance(instanceName: string, data: any): Promise<any> {
|
||||||
await this.websocket.set(instanceName, {
|
if (data.websocket)
|
||||||
websocket: {
|
await this.websocket.set(instanceName, {
|
||||||
enabled: data.websocket?.enabled,
|
websocket: {
|
||||||
events: data.websocket?.events,
|
enabled: data.websocket?.enabled,
|
||||||
},
|
events: data.websocket?.events,
|
||||||
});
|
},
|
||||||
|
});
|
||||||
|
|
||||||
await this.rabbitmq.set(instanceName, {
|
if (data.rabbitmq)
|
||||||
rabbitmq: {
|
await this.rabbitmq.set(instanceName, {
|
||||||
enabled: data.rabbitmq?.enabled,
|
rabbitmq: {
|
||||||
events: data.rabbitmq?.events,
|
enabled: data.rabbitmq?.enabled,
|
||||||
},
|
events: data.rabbitmq?.events,
|
||||||
});
|
},
|
||||||
|
});
|
||||||
|
|
||||||
await this.sqs.set(instanceName, {
|
if (data.sqs)
|
||||||
sqs: {
|
await this.sqs.set(instanceName, {
|
||||||
enabled: data.sqs?.enabled,
|
sqs: {
|
||||||
events: data.sqs?.events,
|
enabled: data.sqs?.enabled,
|
||||||
},
|
events: data.sqs?.events,
|
||||||
});
|
},
|
||||||
|
});
|
||||||
|
|
||||||
await this.webhook.set(instanceName, {
|
if (data.webhook)
|
||||||
webhook: {
|
await this.webhook.set(instanceName, {
|
||||||
enabled: data.webhook?.enabled,
|
webhook: {
|
||||||
events: data.webhook?.events,
|
enabled: data.webhook?.enabled,
|
||||||
url: data.webhook.url,
|
events: data.webhook?.events,
|
||||||
base64: data.webhook.base64,
|
url: data.webhook?.url,
|
||||||
byEvents: data.webhook.byEvents,
|
base64: data.webhook?.base64,
|
||||||
},
|
byEvents: data.webhook?.byEvents,
|
||||||
});
|
},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -207,6 +207,14 @@ export class WAMonitoringService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public deleteInstance(instanceName: string) {
|
||||||
|
try {
|
||||||
|
this.eventEmitter.emit('remove.instance', instanceName, 'inner');
|
||||||
|
} catch (error) {
|
||||||
|
this.logger.error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private async setInstance(instanceData: InstanceDto) {
|
private async setInstance(instanceData: InstanceDto) {
|
||||||
const instance = channelController.init(instanceData, {
|
const instance = channelController.init(instanceData, {
|
||||||
configService: this.configService,
|
configService: this.configService,
|
||||||
|
@ -427,7 +427,7 @@ export class ConfigService {
|
|||||||
ENABLED: process.env?.CHATWOOT_ENABLED === 'true',
|
ENABLED: process.env?.CHATWOOT_ENABLED === 'true',
|
||||||
MESSAGE_DELETE: process.env.CHATWOOT_MESSAGE_DELETE === 'true',
|
MESSAGE_DELETE: process.env.CHATWOOT_MESSAGE_DELETE === 'true',
|
||||||
MESSAGE_READ: process.env.CHATWOOT_MESSAGE_READ === 'true',
|
MESSAGE_READ: process.env.CHATWOOT_MESSAGE_READ === 'true',
|
||||||
BOT_CONTACT: process.env.CHATWOOT_BOT_CONTACT === 'true',
|
BOT_CONTACT: !process.env.CHATWOOT_BOT_CONTACT || process.env.CHATWOOT_BOT_CONTACT === 'true',
|
||||||
IMPORT: {
|
IMPORT: {
|
||||||
DATABASE: {
|
DATABASE: {
|
||||||
CONNECTION: {
|
CONNECTION: {
|
||||||
|
Loading…
Reference in New Issue
Block a user