Compare commits

...

3 Commits

6 changed files with 63 additions and 46 deletions

View File

@ -93,9 +93,9 @@ export const index = async (req: Request, res: Response): Promise<Response> => {
let queueIds: number[] = [];
if (queueIdsStringified) {
if (queueIdsStringified && queueIdsStringified.trim().length > 0) {
queueIds = JSON.parse(queueIdsStringified);
}
}
const { tickets, count, hasMore } = await ListTicketsService({
searchParam,
@ -109,7 +109,7 @@ export const index = async (req: Request, res: Response): Promise<Response> => {
unlimited,
searchParamContent
});
return res.status(200).json({ tickets, count, hasMore });
};

View File

@ -265,6 +265,10 @@ export const weebhook = async (
});
if (type == "text") {
if (!message?.text?.body) {
return res.status(400).json({ error: "body not found" });
}
type = "chat";
msg = {
...msg,
@ -272,6 +276,10 @@ export const weebhook = async (
type
};
} else {
if (!message[message?.type]?.id) {
return res.status(400).json({ error: "id not found" });
}
const mediaId = message[message.type].id;
const mimetype = message[message.type].mime_type;

View File

@ -25,7 +25,7 @@ const GetDefaultWhatsApp = async ({
where: { isDefault: true }
});
if (!defaultWhatsapp && !ignoreNoWhatsappFound) {
if (!defaultWhatsapp) {
if (userId) {
let whatsapps = await wbotByUserQueue({ userId, queueId });
@ -53,13 +53,13 @@ const GetDefaultWhatsApp = async ({
where: { status: "CONNECTED" }
});
}
} else {
} else {
defaultWhatsapp = await Whatsapp.findOne({
where: { status: "CONNECTED", isOfficial: false }
});
}
}
}
if (!defaultWhatsapp && !ignoreNoWhatsappFound) {
throw new AppError("ERR_NO_DEF_WAPP_FOUND");
}

View File

@ -24,12 +24,16 @@ const CheckIsValidContact = async (
if (data?.isValid) {
isValidNumber = data;
}
}
}
try {
if (!isValidNumber) {
const { data } = await axios.post(
let _status: any;
if (!isValidNumber) {
console.log('kkkkkkkkkkkkkkkkkkkkkkkkkkkkk ')
const { data, status } = await axios.post(
`${process.env.WHATS_NUMBER_VALIDATOR_URL}/api/validate`,
{ mobile: number },
{
@ -40,9 +44,13 @@ const CheckIsValidContact = async (
);
isValidNumber = data;
_status = status;
}
if (ignoreThrow) return isValidNumber?.number;
console.log('_status: ', _status)
if (_status && _status == 422) throw new AppError("ERR_NO_WAPP_FOUND");
if (!isValidNumber || (isValidNumber && !isValidNumber.isValid)) {
throw new AppError("invalidNumber");

View File

@ -98,7 +98,7 @@ import FindOrCreateTicketServiceBot from "../TicketServices/FindOrCreateTicketSe
import ShowTicketService from "../TicketServices/ShowTicketService";
import ShowQueuesByUser from "../UserServices/ShowQueuesByUser";
import ListWhatsappQueuesByUserQueue from "../UserServices/ListWhatsappQueuesByUserQueue";
import CreateContactService from "../ContactServices/CreateContactService"
import CreateContactService from "../ContactServices/CreateContactService";
var lst: any[] = getWhatsappIds();
@ -318,13 +318,14 @@ const verifyQueue = async (
selectedOption = 1;
choosenQueue = queues[+selectedOption - 1];
} else {
selectedOption = msg.body;
selectedOption = msg?.body;
//////////////// EXTRAIR APENAS O NÚMERO ///////////////////
selectedOption = selectedOption.replace(/[^1-9]/g, "");
///////////////////////////////////
choosenQueue = queues[+selectedOption - 1];
if (selectedOption && selectedOption.trim().length > 0) {
//////////////// EXTRAIR APENAS O NÚMERO ///////////////////
selectedOption = selectedOption.replace(/[^1-9]/g, "");
///////////////////////////////////
choosenQueue = queues[+selectedOption - 1];
}
}
if (choosenQueue) {
@ -610,7 +611,7 @@ const handleMessage = async (
return;
}
}
}
if (!isValidMsg(msg)) {
return;
@ -780,33 +781,33 @@ const handleMessage = async (
await verifyQueue(wbot, msg, ticket, contact);
}
if (msg.type === "vcard") {
try {
const array = msg.body.split("\n");
const obj = [];
let contact = "";
for (let index = 0; index < array.length; index++) {
const v = array[index];
const values = v.split(":");
for (let ind = 0; ind < values.length; ind++) {
if (values[ind].indexOf("+") !== -1) {
obj.push({ number: values[ind] });
}
if (values[ind].indexOf("FN") !== -1) {
contact = values[ind + 1];
}
if (msg.type === "vcard") {
try {
const array = msg.body.split("\n");
const obj = [];
let contact = "";
for (let index = 0; index < array.length; index++) {
const v = array[index];
const values = v.split(":");
for (let ind = 0; ind < values.length; ind++) {
if (values[ind].indexOf("+") !== -1) {
obj.push({ number: values[ind] });
}
if (values[ind].indexOf("FN") !== -1) {
contact = values[ind + 1];
}
}
for await (const ob of obj) {
const cont = await CreateContactService({
name: contact,
number: ob.number.replace(/\D/g, "")
});
}
} catch (error) {
console.log(error);
}
for await (const ob of obj) {
const cont = await CreateContactService({
name: contact,
number: ob.number.replace(/\D/g, "")
});
}
} catch (error) {
console.log(error);
}
}
const botInfo = await BotIsOnQueue("botqueue");
@ -820,7 +821,7 @@ const handleMessage = async (
ticket.status == "pending" ||
ticket.status == "queueChoice")
) {
const filteredUsers = await findByContain("user:*", "name", msg?.body);
const filteredUsers = await findByContain("user:*", "name", msg?.body);
if (filteredUsers && filteredUsers.length > 0) {
if (botInfo.isOnQueue) {

View File

@ -125,11 +125,11 @@ const ContactModal = ({ open, onClose, contactId, initialValues, onSave }) => {
}
handleClose()
}
toast.success(i18n.t("contactModal.success"))
setSaving(false)
toast.success(i18n.t("contactModal.success"))
} catch (err) {
toastError(err)
}
setSaving(false)
}
return (