| import { PrismaRepository } from '@api/repository/repository.service'; | |
| import { WAMonitoringService } from '@api/services/monitor.service'; | |
| import { Logger } from '@config/logger.config'; | |
| import { ChannelController, ChannelControllerInterface } from '../channel.controller'; | |
| export class EvolutionController extends ChannelController implements ChannelControllerInterface { | |
| private readonly logger = new Logger('EvolutionController'); | |
| constructor(prismaRepository: PrismaRepository, waMonitor: WAMonitoringService) { | |
| super(prismaRepository, waMonitor); | |
| } | |
| integrationEnabled: boolean; | |
| public async receiveWebhook(data: any) { | |
| const numberId = data.numberId; | |
| if (!numberId) { | |
| this.logger.error('WebhookService -> receiveWebhookEvolution -> numberId not found'); | |
| return; | |
| } | |
| const instance = await this.prismaRepository.instance.findFirst({ | |
| where: { number: numberId }, | |
| }); | |
| if (!instance) { | |
| this.logger.error('WebhookService -> receiveWebhook -> instance not found'); | |
| return; | |
| } | |
| await this.waMonitor.waInstances[instance.name].connectToWhatsapp(data); | |
| return { | |
| status: 'success', | |
| }; | |
| } | |
| } | |