import { Request, Response } from "express"; import BotIsOnQueue from "../helpers/BotIsOnQueue"; import GetDefaultWhatsApp from "../helpers/GetDefaultWhatsApp"; import { getIO } from "../libs/socket"; import { getWbot } from "../libs/wbot"; import Ticket from "../models/Ticket"; import ContactByCustomField from "../services/HitServices/ShowContactByCustomFieldValueService"; import ShowQueueService from "../services/QueueService/ShowQueueService"; import CreateTicketService from "../services/TicketServices/CreateTicketService"; import ShowTicketService from "../services/TicketServices/ShowTicketService"; import UpdateTicketService from "../services/TicketServices/UpdateTicketService"; import SendWhatsAppMessage from "../services/WbotServices/SendWhatsAppMessage"; import { Op, where, Sequelize } from "sequelize"; import ShowTicketServiceByContactId from "../services/TicketServices/ShowTicketServiceByContactId"; // type IndexQuery = { // centro_custo: string; // }; export const hit = async (req: Request, res: Response): Promise => { // const { // centro_custo, // } = req.body as IndexQuery; console.log('req.boy: ', req.body) console.log('req.boy: ', req.body['centro_custo']) if (req.headers["auth"] === '0424bd59b807674191e7d77572075f33') { let contact = await ContactByCustomField(req.body['centro_custo']) // console.log('--------------> contact: ', contact) if (contact) { try { const botInfo = await BotIsOnQueue('botqueue') let ticket = await ShowTicketServiceByContactId(contact['contact.id']) if (ticket.id && ticket.status == 'pending') { await SendWhatsAppMessage({ body: 'Resposta da operadora', ticket }); } else if (!ticket.id) { ticket = await CreateTicketService({ contactId: contact['contact.id'], status: 'open', userId: botInfo.userIdBot }); console.log('botInfo.botQueueId: ', botInfo.botQueueId) await UpdateTicketService({ ticketData: { queueId: botInfo.botQueueId }, ticketId: ticket.id }); await SendWhatsAppMessage({ body: 'Ola isso é um teste', ticket }); } } catch (error) { console.log(`Error on try sending the message monitor: `, error) } } } else { res.status(401).json({ "message": "Token Inválido!" }); } return res.status(200).json({ "message": "Ok" }); };