@wppconnect/server 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # 1.5.0 (2022-07-12)
2
+
3
+
4
+ ### Features
5
+
6
+ * Delete all chats close [#483](https://github.com/wppconnect-team/wppconnect-server/issues/483) ([f47a253](https://github.com/wppconnect-team/wppconnect-server/commit/f47a253b1024778f9c3ed5d14a638689be464936))
7
+
8
+
9
+
1
10
  # 1.4.0 (2022-06-29)
2
11
 
3
12
 
package/dist/config.json CHANGED
@@ -3,6 +3,7 @@
3
3
  "host": "http://localhost",
4
4
  "port": "21465",
5
5
  "deviceName": "WppConnect",
6
+ "poweredBy": "WPPConnect-Server",
6
7
  "startAllSession": true,
7
8
  "tokenStoreType": "file",
8
9
  "maxListeners": 15,
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.archiveChat = archiveChat;exports.blockContact = blockContact;exports.chatWoot = chatWoot;exports.checkNumberStatus = checkNumberStatus;exports.clearChat = clearChat;exports.deleteChat = deleteChat;exports.deleteMessage = deleteMessage;exports.forwardMessages = forwardMessages;exports.getAllChats = getAllChats;exports.getAllChatsWithMessages = getAllChatsWithMessages;exports.getAllContacts = getAllContacts;exports.getAllMessagesInChat = getAllMessagesInChat;exports.getAllNewMessages = getAllNewMessages;exports.getAllUnreadMessages = getAllUnreadMessages;exports.getBatteryLevel = getBatteryLevel;exports.getBlockList = getBlockList;exports.getChatById = getChatById;exports.getChatIsOnline = getChatIsOnline;exports.getContact = getContact;exports.getHostDevice = getHostDevice;exports.getLastSeen = getLastSeen;exports.getListMutes = getListMutes;exports.getMessageById = getMessageById;exports.getMessages = getMessages;exports.getNumberProfile = getNumberProfile;exports.getPhoneNumber = getPhoneNumber;exports.getProfilePicFromServer = getProfilePicFromServer;exports.getStatus = getStatus;exports.getUnreadMessages = getUnreadMessages;exports.loadAndGetAllMessagesInChat = loadAndGetAllMessagesInChat;exports.markUnseenMessage = markUnseenMessage;exports.pinChat = pinChat;exports.rejectCall = rejectCall;exports.reply = reply;exports.sendContactVcard = sendContactVcard;exports.sendMute = sendMute;exports.sendSeen = sendSeen;exports.setChatState = setChatState;exports.setProfileName = setProfileName;exports.setProfilePic = setProfilePic;exports.setProfileStatus = setProfileStatus;exports.setTemporaryMessages = setTemporaryMessages;exports.setTyping = setTyping;exports.showAllContacts = showAllContacts;exports.starMessage = starMessage;exports.unblockContact = unblockContact;
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.archiveAllChats = archiveAllChats;exports.archiveChat = archiveChat;exports.blockContact = blockContact;exports.chatWoot = chatWoot;exports.checkNumberStatus = checkNumberStatus;exports.clearChat = clearChat;exports.deleteAllChats = deleteAllChats;exports.deleteChat = deleteChat;exports.deleteMessage = deleteMessage;exports.forwardMessages = forwardMessages;exports.getAllChats = getAllChats;exports.getAllChatsWithMessages = getAllChatsWithMessages;exports.getAllContacts = getAllContacts;exports.getAllMessagesInChat = getAllMessagesInChat;exports.getAllNewMessages = getAllNewMessages;exports.getAllUnreadMessages = getAllUnreadMessages;exports.getBatteryLevel = getBatteryLevel;exports.getBlockList = getBlockList;exports.getChatById = getChatById;exports.getChatIsOnline = getChatIsOnline;exports.getContact = getContact;exports.getHostDevice = getHostDevice;exports.getLastSeen = getLastSeen;exports.getListMutes = getListMutes;exports.getMessageById = getMessageById;exports.getMessages = getMessages;exports.getNumberProfile = getNumberProfile;exports.getPhoneNumber = getPhoneNumber;exports.getProfilePicFromServer = getProfilePicFromServer;exports.getStatus = getStatus;exports.getUnreadMessages = getUnreadMessages;exports.loadAndGetAllMessagesInChat = loadAndGetAllMessagesInChat;exports.markUnseenMessage = markUnseenMessage;exports.pinChat = pinChat;exports.rejectCall = rejectCall;exports.reply = reply;exports.sendContactVcard = sendContactVcard;exports.sendMute = sendMute;exports.sendSeen = sendSeen;exports.setChatState = setChatState;exports.setProfileName = setProfileName;exports.setProfilePic = setProfilePic;exports.setProfileStatus = setProfileStatus;exports.setTemporaryMessages = setTemporaryMessages;exports.setTyping = setTyping;exports.showAllContacts = showAllContacts;exports.starMessage = starMessage;exports.unblockContact = unblockContact;
2
2
 
3
3
 
4
4
 
@@ -233,6 +233,18 @@ async function deleteChat(req, res) {
233
233
  returnError(req, res, session, error);
234
234
  }
235
235
  }
236
+ async function deleteAllChats(req, res) {
237
+ try {
238
+ const chats = await req.client.getAllChats();
239
+ for (const chat of chats) {
240
+ await req.client.deleteChat(chat.chatId);
241
+ }
242
+ return res.status(200).json({ status: 'success' });
243
+ } catch (error) {
244
+ req.logger.error(error);
245
+ return res.status(500).json({ status: 'error', message: 'Error on delete all chats' });
246
+ }
247
+ }
236
248
 
237
249
  async function clearChat(req, res) {
238
250
  const { phone } = req.body;
@@ -262,6 +274,19 @@ async function archiveChat(req, res) {
262
274
  }
263
275
  }
264
276
 
277
+ async function archiveAllChats(req, res) {
278
+ try {
279
+ const chats = await req.client.getAllChats();
280
+ for (const chat of chats) {
281
+ await req.client.archiveChat(`${chat.chatId}`, true);
282
+ }
283
+ return res.status(201).json({ status: 'success' });
284
+ } catch (e) {
285
+ req.logger.error(e);
286
+ return res.status(500).json({ status: 'error', message: 'Error on archive all chats' });
287
+ }
288
+ }
289
+
265
290
  async function deleteMessage(req, res) {
266
291
  const { phone, messageId } = req.body;
267
292
 
@@ -1 +1 @@
1
- {"version":3,"file":"deviceController.js","names":["returnSucess","res","session","phone","data","status","json","response","message","contact","returnError","req","error","logger","log","setProfileName","name","body","result","client","showAllContacts","contacts","getAllContacts","getAllChats","mapper","e","getAllChatsWithMessages","getAllMessagesInChat","params","isGroup","includeMe","includeNotifications","query","contato","contactToArray","getAllNewMessages","getAllUnreadMessages","getChatById","allMessages","dir","fs","existsSync","mkdirSync","map","type","download","serverOptions","host","port","t","mime","extension","mimetype","getMessageById","messageId","chatId","user","getBatteryLevel","getHostDevice","phoneNumber","getWid","getPhoneNumber","getBlockList","blocked","split","deleteChat","results","clearChat","archiveChat","value","deleteMessage","reply","text","messageid","forwardMessages","markUnseenMessage","blockContact","unblockContact","pinChat","state","setProfilePic","file","path","pathFile","unlinkAsync","getUnreadMessages","getChatIsOnline","getLastSeen","getListMutes","loadAndGetAllMessagesInChat","getMessages","count","direction","id","parseInt","sendContactVcard","contactsId","sendMute","time","sendSeen","push","setChatState","chatstate","setTemporaryMessages","setTyping","startTyping","stopTyping","checkNumberStatus","getContact","getNumberProfile","getProfilePicFromServer","getStatus","setProfileStatus","rejectCall","callId","starMessage","star","chatWoot","clientsArray","isConnected","event","private","message_type","conversation","meta","sender","phone_number","replace","messages","attachments","base_url","config","baseURL","data_url","substring","indexOf","sendFile","content","sendText","console"],"sources":["../../src/controller/deviceController.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport fs from 'fs';\nimport { download } from './sessionController';\nimport { contactToArray, unlinkAsync } from '../util/functions';\nimport mime from 'mime-types';\nimport { clientsArray } from '../util/sessionUtil';\n\nfunction returnSucess(res, session, phone, data) {\n res.status(201).json({\n status: 'Success',\n response: {\n message: 'Information retrieved successfully.',\n contact: phone,\n session: session,\n data: data,\n },\n });\n}\n\nfunction returnError(req, res, session, error) {\n req.logger.error(error);\n res.status(400).json({\n status: 'Error',\n response: {\n message: 'Error retrieving information',\n session: session,\n log: error,\n },\n });\n}\n\nexport async function setProfileName(req, res) {\n const { name } = req.body;\n\n if (!name) return res.status(400).json({ status: 'error', message: 'Parameter name is required!' });\n\n try {\n const result = await req.client.setProfileName(name);\n return res.status(200).json({ status: 'success', response: result });\n } catch (error) {\n req.logger.error(error);\n res.status(500).json({ status: 'error', message: 'Error on set profile name.' });\n }\n}\n\nexport async function showAllContacts(req, res) {\n try {\n const contacts = await req.client.getAllContacts();\n res.status(200).json({ status: 'success', response: contacts });\n } catch (error) {\n req.logger.error(error);\n res.status(500).json({ status: 'error', message: 'Error fetching contacts' });\n }\n}\n\nexport async function getAllChats(req, res) {\n try {\n const response = await req.client.getAllChats();\n return res.status(200).json({ status: 'success', response: response, mapper: 'chat' });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all chats' });\n }\n}\n\nexport async function getAllChatsWithMessages(req, res) {\n try {\n const response = await req.client.getAllChatsWithMessages();\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all chats whit messages' });\n }\n}\n\nexport async function getAllMessagesInChat(req, res) {\n try {\n let { phone } = req.params;\n const { isGroup = false, includeMe = true, includeNotifications = true } = req.query;\n\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.getAllMessagesInChat(contato, includeMe, includeNotifications);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all messages in chat' });\n }\n}\n\nexport async function getAllNewMessages(req, res) {\n try {\n const response = await req.client.getAllNewMessages();\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all messages in chat' });\n }\n}\n\nexport async function getAllUnreadMessages(req, res) {\n try {\n const response = await req.client.getAllUnreadMessages();\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all messages in chat' });\n }\n}\n\nexport async function getChatById(req, res) {\n const { phone } = req.params;\n const { isGroup } = req.query;\n\n try {\n let allMessages = {};\n\n if (isGroup) {\n allMessages = await req.client.getAllMessagesInChat(`${phone}@g.us`, true, true);\n } else {\n allMessages = await req.client.getAllMessagesInChat(`${phone}@c.us`, true, true);\n }\n\n let dir = './WhatsAppImages';\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir);\n }\n\n allMessages.map((message) => {\n if (message.type === 'sticker') {\n download(message, req.client, req.logger);\n message.body = `${req.serverOptions.host}:${req.serverOptions.port}/files/file${message.t}.${mime.extension(\n message.mimetype\n )}`;\n }\n });\n\n return res.status(200).json({ status: 'success', response: allMessages });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error changing chat by Id' });\n }\n}\n\nexport async function getMessageById(req, res) {\n const session = req.session;\n const { messageId } = req.params;\n\n try {\n let result;\n\n result = await req.client.getMessageById(messageId);\n\n returnSucess(res, session, result.chatId.user, result);\n } catch (error) {\n returnError(req, res, session, error);\n }\n}\n\nexport async function getBatteryLevel(req, res) {\n try {\n let response = await req.client.getBatteryLevel();\n return res.status(200).json({ status: 'Success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error retrieving battery status' });\n }\n}\n\nexport async function getHostDevice(req, res) {\n try {\n const response = await req.client.getHostDevice();\n const phoneNumber = await req.client.getWid();\n return res.status(200).json({ status: 'success', response: { ...response, phoneNumber }, mapper: 'device' });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Erro ao recuperar dados do telefone' });\n }\n}\n\nexport async function getPhoneNumber(req, res) {\n try {\n const phoneNumber = await req.client.getWid();\n return res.status(200).json({ status: 'success', response: phoneNumber, mapper: 'device' });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error retrieving phone number' });\n }\n}\n\nexport async function getBlockList(req, res) {\n let response = await req.client.getBlockList();\n\n try {\n const blocked = response.map((contato) => {\n return { phone: contato ? contato.split('@')[0] : '' };\n });\n\n return res.status(200).json({ status: 'success', response: blocked });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error retrieving blocked contact list' });\n }\n}\n\nexport async function deleteChat(req, res) {\n const { phone } = req.body;\n const session = req.session;\n\n try {\n let results = {};\n for (const contato of phone) {\n results[contato] = await req.client.deleteChat(contato);\n }\n returnSucess(res, session, phone, results);\n } catch (error) {\n returnError(req, res, session, error);\n }\n}\n\nexport async function clearChat(req, res) {\n const { phone } = req.body;\n const session = req.session;\n\n try {\n let results = {};\n for (const contato of phone) {\n results[contato] = await req.client.clearChat(contato);\n }\n returnSucess(res, session, phone, results);\n } catch (error) {\n returnError(req, res, session, error);\n }\n}\n\nexport async function archiveChat(req, res) {\n const { phone, value = true, isGroup = false } = req.body;\n\n try {\n let response;\n response = await req.client.archiveChat(`${phone}`, value);\n return res.status(201).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on archive chat' });\n }\n}\n\nexport async function deleteMessage(req, res) {\n const { phone, messageId } = req.body;\n\n try {\n await req.client.deleteMessage(`${phone}@c.us`, [messageId]);\n\n return res.status(200).json({ status: 'success', response: { message: 'Message deleted' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on delete message' });\n }\n}\n\nexport async function reply(req, res) {\n const { phone, text, messageid } = req.body;\n\n try {\n let response = await req.client.reply(`${phone}@c.us`, text, messageid);\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error replying message' });\n }\n}\n\nexport async function forwardMessages(req, res) {\n const { phone, messageId, isGroup = false } = req.body;\n\n try {\n let response;\n\n if (!isGroup) {\n response = await req.client.forwardMessages(`${phone}`, [messageId], false);\n } else {\n response = await req.client.forwardMessages(`${phone}`, [messageId], false);\n }\n\n return res.status(201).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error forwarding message' });\n }\n}\n\nexport async function markUnseenMessage(req, res) {\n const { phone } = req.body;\n\n try {\n await req.client.markUnseenMessage(`${phone}`);\n return res.status(200).json({ status: 'success', response: { message: 'unseen checked' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on mark unseen' });\n }\n}\n\nexport async function blockContact(req, res) {\n const { phone } = req.body;\n\n try {\n await req.client.blockContact(`${phone}`);\n return res.status(200).json({ status: 'success', response: { message: 'Contact blocked' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on block contact' });\n }\n}\n\nexport async function unblockContact(req, res) {\n const { phone } = req.body;\n\n try {\n await req.client.unblockContact(`${phone}`);\n return res.status(200).json({ status: 'success', response: { message: 'Contact UnBlocked' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on unlock contact' });\n }\n}\n\nexport async function pinChat(req, res) {\n const { phone, state } = req.body;\n\n try {\n for (const contato of phone) {\n await req.client.pinChat(contato, state === 'true', false);\n }\n\n return res.status(200).json({ status: 'success', response: { message: 'Chat fixed' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: e.text || 'Error on pin chat' });\n }\n}\n\nexport async function setProfilePic(req, res) {\n if (!req.file) return res.status(400).json({ status: 'Error', message: 'File parameter is required!' });\n\n try {\n const { path: pathFile } = req.file;\n\n await req.client.setProfilePic(pathFile);\n await unlinkAsync(pathFile);\n\n return res.status(200).json({ status: 'success', response: { message: 'Profile photo successfully changed' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error changing profile photo' });\n }\n}\n\nexport async function getUnreadMessages(req, res) {\n try {\n const response = await req.client.getUnreadMessages(false, false, true);\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', response: 'Error on open list' });\n }\n}\n\nexport async function getChatIsOnline(req, res) {\n const { phone } = req.params;\n try {\n const response = await req.client.getChatIsOnline(`${phone}@c.us`);\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', response: 'Error on get chat is online' });\n }\n}\n\nexport async function getLastSeen(req, res) {\n const { phone } = req.params;\n try {\n const response = await req.client.getLastSeen(`${phone}@c.us`);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', response: 'Error on get chat last seen' });\n }\n}\n\nexport async function getListMutes(req, res) {\n const { type = 'all' } = req.params;\n try {\n const response = await req.client.getListMutes(type);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', response: 'Error on get list mutes' });\n }\n}\n\nexport async function loadAndGetAllMessagesInChat(req, res) {\n const { phone, includeMe = true, includeNotifications = false } = req.params;\n try {\n const response = await req.client.loadAndGetAllMessagesInChat(`${phone}@c.us`, includeMe, includeNotifications);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', response: 'Error on open list' });\n }\n}\nexport async function getMessages(req, res) {\n const { phone } = req.params;\n const { count = 20, direction = 'before', id = 0 } = req.query;\n try {\n const response = await req.client.getMessages(`${phone}`, {\n count: parseInt(count),\n direction: direction,\n id: id,\n });\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(401).json({ status: 'error', response: 'Error on open list' });\n }\n}\n\nexport async function sendContactVcard(req, res) {\n const { phone, contactsId, name = null, isGroup = false } = req.body;\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.sendContactVcard(`${contato}`, contactsId, name);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on send contact vcard' });\n }\n}\n\nexport async function sendMute(req, res) {\n const { phone, time, type = 'hours', isGroup = false } = req.body;\n\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.sendMute(`${contato}`, time, type);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on send mute' });\n }\n}\n\nexport async function sendSeen(req, res) {\n const { phone } = req.body;\n const session = req.session;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendSeen(contato));\n }\n returnSucess(res, session, phone, results);\n } catch (error) {\n returnError(req, res, session, error);\n }\n}\n\nexport async function setChatState(req, res) {\n const { phone, chatstate, isGroup = false } = req.body;\n\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.setChatState(`${contato}`, chatstate);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on send chat state' });\n }\n}\n\nexport async function setTemporaryMessages(req, res) {\n const { phone, value = true, isGroup = false } = req.body;\n\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.setTemporaryMessages(`${contato}`, value);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on set temporary messages' });\n }\n}\n\nexport async function setTyping(req, res) {\n const { phone, value = true, isGroup = false } = req.body;\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n if (value) response = await req.client.startTyping(contato);\n else response = await req.client.stopTyping(contato);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on set typing' });\n }\n}\n\nexport async function checkNumberStatus(req, res) {\n const { phone } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.checkNumberStatus(`${contato}`);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on check number status' });\n }\n}\n\nexport async function getContact(req, res) {\n const { phone = true } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.getContact(contato);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get contact' });\n }\n}\n\nexport async function getAllContacts(req, res) {\n try {\n const response = await req.client.getAllContacts();\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get all constacts' });\n }\n}\n\nexport async function getNumberProfile(req, res) {\n const { phone = true } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.getNumberProfile(contato);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get number profile' });\n }\n}\n\nexport async function getProfilePicFromServer(req, res) {\n const { phone = true } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.getProfilePicFromServer(contato);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get profile pic' });\n }\n}\n\nexport async function getStatus(req, res) {\n const { phone = true } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.getStatus(contato);\n }\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get status' });\n }\n}\n\nexport async function setProfileStatus(req, res) {\n const { status } = req.body;\n try {\n let response = await req.client.setProfileStatus(status);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on set profile status' });\n }\n}\nexport async function rejectCall(req, res) {\n const { callId } = req.body;\n try {\n let response = await req.client.rejectCall(callId);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on rejectCall' });\n }\n}\n\nexport async function starMessage(req, res) {\n const { messageId, star = true } = req.body;\n try {\n let response = await req.client.starMessage(messageId, star);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on start message' });\n }\n}\n\nexport async function chatWoot(req, res) {\n const { session } = req.params;\n const client = clientsArray[session];\n if (client == null || client.status !== 'CONNECTED') return;\n try {\n if (await client.isConnected()) {\n const event = req.body.event;\n\n if (event == 'conversation_status_changed' || event == 'conversation_resolved' || req.body.private) {\n return res.status(200).json({ status: 'success', message: 'Success on receive chatwoot' });\n }\n\n const {\n message_type,\n phone = req.body.conversation.meta.sender.phone_number.replace('+', ''),\n message = req.body.conversation.messages[0],\n } = req.body;\n\n if (event != 'message_created' && message_type != 'outgoing') return res.status(200);\n for (const contato of contactToArray(phone, false)) {\n if (message_type == 'outgoing') {\n if (message.attachments) {\n let base_url = `${client.config.chatWoot.baseURL}/${message.attachments[0].data_url.substring(\n message.attachments[0].data_url.indexOf('/rails/') + 1\n )}`;\n await client.sendFile(`${contato}`, base_url, 'file', message.content);\n } else {\n await client.sendText(contato, message.content);\n }\n }\n }\n return res.status(200).json({ status: 'success', message: 'Success on receive chatwoot' });\n }\n } catch (e) {\n console.log(e);\n return res.status(400).json({ status: 'error', message: 'Error on receive chatwoot' });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA;AACA;AACA;AACA;AACA,kD,CAnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAOA,SAASA,YAAT,CAAsBC,GAAtB,EAA2BC,OAA3B,EAAoCC,KAApC,EAA2CC,IAA3C,EAAiD,CAC/CH,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EACnBD,MAAM,EAAE,SADW,EAEnBE,QAAQ,EAAE,EACRC,OAAO,EAAE,qCADD,EAERC,OAAO,EAAEN,KAFD,EAGRD,OAAO,EAAEA,OAHD,EAIRE,IAAI,EAAEA,IAJE,EAFS,EAArB,EASD,CAED,SAASM,WAAT,CAAqBC,GAArB,EAA0BV,GAA1B,EAA+BC,OAA/B,EAAwCU,KAAxC,EAA+C;EAC7CD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;EACAX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;IACnBD,MAAM,EAAE,OADW;IAEnBE,QAAQ,EAAE;MACRC,OAAO,EAAE,8BADD;MAERN,OAAO,EAAEA,OAFD;MAGRY,GAAG,EAAEF,KAHG,EAFS,EAArB;;;AAQD;;AAEM,eAAeG,cAAf,CAA8BJ,GAA9B,EAAmCV,GAAnC,EAAwC;EAC7C,MAAM,EAAEe,IAAF,KAAWL,GAAG,CAACM,IAArB;;EAEA,IAAI,CAACD,IAAL,EAAW,OAAOf,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,6BAA5B,EAArB,CAAP;;EAEX,IAAI;IACF,MAAMU,MAAM,GAAG,MAAMP,GAAG,CAACQ,MAAJ,CAAWJ,cAAX,CAA0BC,IAA1B,CAArB;IACA,OAAOf,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEW,MAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAON,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACAX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,4BAA5B,EAArB;EACD;AACF;;AAEM,eAAeY,eAAf,CAA+BT,GAA/B,EAAoCV,GAApC,EAAyC;EAC9C,IAAI;IACF,MAAMoB,QAAQ,GAAG,MAAMV,GAAG,CAACQ,MAAJ,CAAWG,cAAX,EAAvB;IACArB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEc,QAA/B,EAArB;EACD,CAHD,CAGE,OAAOT,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACAX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,yBAA5B,EAArB;EACD;AACF;;AAEM,eAAee,WAAf,CAA2BZ,GAA3B,EAAgCV,GAAhC,EAAqC;EAC1C,IAAI;IACF,MAAMM,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWI,WAAX,EAAvB;IACA,OAAOtB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAAyCiB,MAAM,EAAE,MAAjD,EAArB,CAAP;EACD,CAHD,CAGE,OAAOC,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,wBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAekB,uBAAf,CAAuCf,GAAvC,EAA4CV,GAA5C,EAAiD;EACtD,IAAI;IACF,MAAMM,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWO,uBAAX,EAAvB;IACA,OAAOzB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,sCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAemB,oBAAf,CAAoChB,GAApC,EAAyCV,GAAzC,EAA8C;EACnD,IAAI;IACF,IAAI,EAAEE,KAAF,KAAYQ,GAAG,CAACiB,MAApB;IACA,MAAM,EAAEC,OAAO,GAAG,KAAZ,EAAmBC,SAAS,GAAG,IAA/B,EAAqCC,oBAAoB,GAAG,IAA5D,KAAqEpB,GAAG,CAACqB,KAA/E;;IAEA,IAAIzB,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB0B,OAAtB,CAAtB,EAAsD;MACpDtB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWQ,oBAAX,CAAgCM,OAAhC,EAAyCH,SAAzC,EAAoDC,oBAApD,CAAjB;IACD;;IAED,OAAO9B,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAVD,CAUE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,mCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe2B,iBAAf,CAAiCxB,GAAjC,EAAsCV,GAAtC,EAA2C;EAChD,IAAI;IACF,MAAMM,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWgB,iBAAX,EAAvB;IACA,OAAOlC,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,mCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe4B,oBAAf,CAAoCzB,GAApC,EAAyCV,GAAzC,EAA8C;EACnD,IAAI;IACF,MAAMM,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWiB,oBAAX,EAAvB;IACA,OAAOnC,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,mCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe6B,WAAf,CAA2B1B,GAA3B,EAAgCV,GAAhC,EAAqC;EAC1C,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACiB,MAAtB;EACA,MAAM,EAAEC,OAAF,KAAclB,GAAG,CAACqB,KAAxB;;EAEA,IAAI;IACF,IAAIM,WAAW,GAAG,EAAlB;;IAEA,IAAIT,OAAJ,EAAa;MACXS,WAAW,GAAG,MAAM3B,GAAG,CAACQ,MAAJ,CAAWQ,oBAAX,CAAiC,GAAExB,KAAM,OAAzC,EAAiD,IAAjD,EAAuD,IAAvD,CAApB;IACD,CAFD,MAEO;MACLmC,WAAW,GAAG,MAAM3B,GAAG,CAACQ,MAAJ,CAAWQ,oBAAX,CAAiC,GAAExB,KAAM,OAAzC,EAAiD,IAAjD,EAAuD,IAAvD,CAApB;IACD;;IAED,IAAIoC,GAAG,GAAG,kBAAV;IACA,IAAI,CAACC,WAAA,CAAGC,UAAH,CAAcF,GAAd,CAAL,EAAyB;MACvBC,WAAA,CAAGE,SAAH,CAAaH,GAAb;IACD;;IAEDD,WAAW,CAACK,GAAZ,CAAgB,CAACnC,OAAD,KAAa;MAC3B,IAAIA,OAAO,CAACoC,IAAR,KAAiB,SAArB,EAAgC;QAC9B,IAAAC,2BAAA,EAASrC,OAAT,EAAkBG,GAAG,CAACQ,MAAtB,EAA8BR,GAAG,CAACE,MAAlC;QACAL,OAAO,CAACS,IAAR,GAAgB,GAAEN,GAAG,CAACmC,aAAJ,CAAkBC,IAAK,IAAGpC,GAAG,CAACmC,aAAJ,CAAkBE,IAAK,cAAaxC,OAAO,CAACyC,CAAE,IAAGC,kBAAA,CAAKC,SAAL;QAC3F3C,OAAO,CAAC4C,QADmF;QAE3F,EAFF;MAGD;IACF,CAPD;;IASA,OAAOnD,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAE+B,WAA/B,EAArB,CAAP;EACD,CAxBD,CAwBE,OAAOb,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,2BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe6C,cAAf,CAA8B1C,GAA9B,EAAmCV,GAAnC,EAAwC;EAC7C,MAAMC,OAAO,GAAGS,GAAG,CAACT,OAApB;EACA,MAAM,EAAEoD,SAAF,KAAgB3C,GAAG,CAACiB,MAA1B;;EAEA,IAAI;IACF,IAAIV,MAAJ;;IAEAA,MAAM,GAAG,MAAMP,GAAG,CAACQ,MAAJ,CAAWkC,cAAX,CAA0BC,SAA1B,CAAf;;IAEAtD,YAAY,CAACC,GAAD,EAAMC,OAAN,EAAegB,MAAM,CAACqC,MAAP,CAAcC,IAA7B,EAAmCtC,MAAnC,CAAZ;EACD,CAND,CAME,OAAON,KAAP,EAAc;IACdF,WAAW,CAACC,GAAD,EAAMV,GAAN,EAAWC,OAAX,EAAoBU,KAApB,CAAX;EACD;AACF;;AAEM,eAAe6C,eAAf,CAA+B9C,GAA/B,EAAoCV,GAApC,EAAyC;EAC9C,IAAI;IACF,IAAIM,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWsC,eAAX,EAArB;IACA,OAAOxD,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,iCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAekD,aAAf,CAA6B/C,GAA7B,EAAkCV,GAAlC,EAAuC;EAC5C,IAAI;IACF,MAAMM,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWuC,aAAX,EAAvB;IACA,MAAMC,WAAW,GAAG,MAAMhD,GAAG,CAACQ,MAAJ,CAAWyC,MAAX,EAA1B;IACA,OAAO3D,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAE,EAAE,GAAGA,QAAL,EAAeoD,WAAf,EAA/B,EAA6DnC,MAAM,EAAE,QAArE,EAArB,CAAP;EACD,CAJD,CAIE,OAAOC,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,qCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeqD,cAAf,CAA8BlD,GAA9B,EAAmCV,GAAnC,EAAwC;EAC7C,IAAI;IACF,MAAM0D,WAAW,GAAG,MAAMhD,GAAG,CAACQ,MAAJ,CAAWyC,MAAX,EAA1B;IACA,OAAO3D,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEoD,WAA/B,EAA4CnC,MAAM,EAAE,QAApD,EAArB,CAAP;EACD,CAHD,CAGE,OAAOC,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,+BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAesD,YAAf,CAA4BnD,GAA5B,EAAiCV,GAAjC,EAAsC;EAC3C,IAAIM,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAW2C,YAAX,EAArB;;EAEA,IAAI;IACF,MAAMC,OAAO,GAAGxD,QAAQ,CAACoC,GAAT,CAAa,CAACV,OAAD,KAAa;MACxC,OAAO,EAAE9B,KAAK,EAAE8B,OAAO,GAAGA,OAAO,CAAC+B,KAAR,CAAc,GAAd,EAAmB,CAAnB,CAAH,GAA2B,EAA3C,EAAP;IACD,CAFe,CAAhB;;IAIA,OAAO/D,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEwD,OAA/B,EAArB,CAAP;EACD,CAND,CAME,OAAOtC,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,uCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeyD,UAAf,CAA0BtD,GAA1B,EAA+BV,GAA/B,EAAoC;EACzC,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACM,IAAtB;EACA,MAAMf,OAAO,GAAGS,GAAG,CAACT,OAApB;;EAEA,IAAI;IACF,IAAIgE,OAAO,GAAG,EAAd;IACA,KAAK,MAAMjC,OAAX,IAAsB9B,KAAtB,EAA6B;MAC3B+D,OAAO,CAACjC,OAAD,CAAP,GAAmB,MAAMtB,GAAG,CAACQ,MAAJ,CAAW8C,UAAX,CAAsBhC,OAAtB,CAAzB;IACD;IACDjC,YAAY,CAACC,GAAD,EAAMC,OAAN,EAAeC,KAAf,EAAsB+D,OAAtB,CAAZ;EACD,CAND,CAME,OAAOtD,KAAP,EAAc;IACdF,WAAW,CAACC,GAAD,EAAMV,GAAN,EAAWC,OAAX,EAAoBU,KAApB,CAAX;EACD;AACF;;AAEM,eAAeuD,SAAf,CAAyBxD,GAAzB,EAA8BV,GAA9B,EAAmC;EACxC,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACM,IAAtB;EACA,MAAMf,OAAO,GAAGS,GAAG,CAACT,OAApB;;EAEA,IAAI;IACF,IAAIgE,OAAO,GAAG,EAAd;IACA,KAAK,MAAMjC,OAAX,IAAsB9B,KAAtB,EAA6B;MAC3B+D,OAAO,CAACjC,OAAD,CAAP,GAAmB,MAAMtB,GAAG,CAACQ,MAAJ,CAAWgD,SAAX,CAAqBlC,OAArB,CAAzB;IACD;IACDjC,YAAY,CAACC,GAAD,EAAMC,OAAN,EAAeC,KAAf,EAAsB+D,OAAtB,CAAZ;EACD,CAND,CAME,OAAOtD,KAAP,EAAc;IACdF,WAAW,CAACC,GAAD,EAAMV,GAAN,EAAWC,OAAX,EAAoBU,KAApB,CAAX;EACD;AACF;;AAEM,eAAewD,WAAf,CAA2BzD,GAA3B,EAAgCV,GAAhC,EAAqC;EAC1C,MAAM,EAAEE,KAAF,EAASkE,KAAK,GAAG,IAAjB,EAAuBxC,OAAO,GAAG,KAAjC,KAA2ClB,GAAG,CAACM,IAArD;;EAEA,IAAI;IACF,IAAIV,QAAJ;IACAA,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWiD,WAAX,CAAwB,GAAEjE,KAAM,EAAhC,EAAmCkE,KAAnC,CAAjB;IACA,OAAOpE,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,uBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe8D,aAAf,CAA6B3D,GAA7B,EAAkCV,GAAlC,EAAuC;EAC5C,MAAM,EAAEE,KAAF,EAASmD,SAAT,KAAuB3C,GAAG,CAACM,IAAjC;;EAEA,IAAI;IACF,MAAMN,GAAG,CAACQ,MAAJ,CAAWmD,aAAX,CAA0B,GAAEnE,KAAM,OAAlC,EAA0C,CAACmD,SAAD,CAA1C,CAAN;;IAEA,OAAOrD,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAE,EAAEC,OAAO,EAAE,iBAAX,EAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOiB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,yBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe+D,KAAf,CAAqB5D,GAArB,EAA0BV,GAA1B,EAA+B;EACpC,MAAM,EAAEE,KAAF,EAASqE,IAAT,EAAeC,SAAf,KAA6B9D,GAAG,CAACM,IAAvC;;EAEA,IAAI;IACF,IAAIV,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWoD,KAAX,CAAkB,GAAEpE,KAAM,OAA1B,EAAkCqE,IAAlC,EAAwCC,SAAxC,CAArB;IACA,OAAOxE,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,wBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAekE,eAAf,CAA+B/D,GAA/B,EAAoCV,GAApC,EAAyC;EAC9C,MAAM,EAAEE,KAAF,EAASmD,SAAT,EAAoBzB,OAAO,GAAG,KAA9B,KAAwClB,GAAG,CAACM,IAAlD;;EAEA,IAAI;IACF,IAAIV,QAAJ;;IAEA,IAAI,CAACsB,OAAL,EAAc;MACZtB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWuD,eAAX,CAA4B,GAAEvE,KAAM,EAApC,EAAuC,CAACmD,SAAD,CAAvC,EAAoD,KAApD,CAAjB;IACD,CAFD,MAEO;MACL/C,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWuD,eAAX,CAA4B,GAAEvE,KAAM,EAApC,EAAuC,CAACmD,SAAD,CAAvC,EAAoD,KAApD,CAAjB;IACD;;IAED,OAAOrD,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAVD,CAUE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,0BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAemE,iBAAf,CAAiChE,GAAjC,EAAsCV,GAAtC,EAA2C;EAChD,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACM,IAAtB;;EAEA,IAAI;IACF,MAAMN,GAAG,CAACQ,MAAJ,CAAWwD,iBAAX,CAA8B,GAAExE,KAAM,EAAtC,CAAN;IACA,OAAOF,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAE,EAAEC,OAAO,EAAE,gBAAX,EAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOiB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,sBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeoE,YAAf,CAA4BjE,GAA5B,EAAiCV,GAAjC,EAAsC;EAC3C,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACM,IAAtB;;EAEA,IAAI;IACF,MAAMN,GAAG,CAACQ,MAAJ,CAAWyD,YAAX,CAAyB,GAAEzE,KAAM,EAAjC,CAAN;IACA,OAAOF,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAE,EAAEC,OAAO,EAAE,iBAAX,EAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOiB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,wBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeqE,cAAf,CAA8BlE,GAA9B,EAAmCV,GAAnC,EAAwC;EAC7C,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACM,IAAtB;;EAEA,IAAI;IACF,MAAMN,GAAG,CAACQ,MAAJ,CAAW0D,cAAX,CAA2B,GAAE1E,KAAM,EAAnC,CAAN;IACA,OAAOF,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAE,EAAEC,OAAO,EAAE,mBAAX,EAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOiB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,yBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAesE,OAAf,CAAuBnE,GAAvB,EAA4BV,GAA5B,EAAiC;EACtC,MAAM,EAAEE,KAAF,EAAS4E,KAAT,KAAmBpE,GAAG,CAACM,IAA7B;;EAEA,IAAI;IACF,KAAK,MAAMgB,OAAX,IAAsB9B,KAAtB,EAA6B;MAC3B,MAAMQ,GAAG,CAACQ,MAAJ,CAAW2D,OAAX,CAAmB7C,OAAnB,EAA4B8C,KAAK,KAAK,MAAtC,EAA8C,KAA9C,CAAN;IACD;;IAED,OAAO9E,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAE,EAAEC,OAAO,EAAE,YAAX,EAA/B,EAArB,CAAP;EACD,CAND,CAME,OAAOiB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAEiB,CAAC,CAAC+C,IAAF,IAAU,mBAAtC,EAArB,CAAP;EACD;AACF;;AAEM,eAAeQ,aAAf,CAA6BrE,GAA7B,EAAkCV,GAAlC,EAAuC;EAC5C,IAAI,CAACU,GAAG,CAACsE,IAAT,EAAe,OAAOhF,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,6BAA5B,EAArB,CAAP;;EAEf,IAAI;IACF,MAAM,EAAE0E,IAAI,EAAEC,QAAR,KAAqBxE,GAAG,CAACsE,IAA/B;;IAEA,MAAMtE,GAAG,CAACQ,MAAJ,CAAW6D,aAAX,CAAyBG,QAAzB,CAAN;IACA,MAAM,IAAAC,sBAAA,EAAYD,QAAZ,CAAN;;IAEA,OAAOlF,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAE,EAAEC,OAAO,EAAE,oCAAX,EAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOiB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,8BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe6E,iBAAf,CAAiC1E,GAAjC,EAAsCV,GAAtC,EAA2C;EAChD,IAAI;IACF,MAAMM,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWkE,iBAAX,CAA6B,KAA7B,EAAoC,KAApC,EAA2C,IAA3C,CAAvB;IACA,OAAOpF,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBE,QAAQ,EAAE,oBAA7B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe+E,eAAf,CAA+B3E,GAA/B,EAAoCV,GAApC,EAAyC;EAC9C,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACiB,MAAtB;EACA,IAAI;IACF,MAAMrB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWmE,eAAX,CAA4B,GAAEnF,KAAM,OAApC,CAAvB;IACA,OAAOF,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBE,QAAQ,EAAE,6BAA7B,EAArB,CAAP;EACD;AACF;;AAEM,eAAegF,WAAf,CAA2B5E,GAA3B,EAAgCV,GAAhC,EAAqC;EAC1C,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACiB,MAAtB;EACA,IAAI;IACF,MAAMrB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWoE,WAAX,CAAwB,GAAEpF,KAAM,OAAhC,CAAvB;;IAEA,OAAOF,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBE,QAAQ,EAAE,6BAA7B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeiF,YAAf,CAA4B7E,GAA5B,EAAiCV,GAAjC,EAAsC;EAC3C,MAAM,EAAE2C,IAAI,GAAG,KAAT,KAAmBjC,GAAG,CAACiB,MAA7B;EACA,IAAI;IACF,MAAMrB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWqE,YAAX,CAAwB5C,IAAxB,CAAvB;;IAEA,OAAO3C,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBE,QAAQ,EAAE,yBAA7B,EAArB,CAAP;EACD;AACF;;AAEM,eAAekF,2BAAf,CAA2C9E,GAA3C,EAAgDV,GAAhD,EAAqD;EAC1D,MAAM,EAAEE,KAAF,EAAS2B,SAAS,GAAG,IAArB,EAA2BC,oBAAoB,GAAG,KAAlD,KAA4DpB,GAAG,CAACiB,MAAtE;EACA,IAAI;IACF,MAAMrB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWsE,2BAAX,CAAwC,GAAEtF,KAAM,OAAhD,EAAwD2B,SAAxD,EAAmEC,oBAAnE,CAAvB;;IAEA,OAAO9B,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBE,QAAQ,EAAE,oBAA7B,EAArB,CAAP;EACD;AACF;AACM,eAAemF,WAAf,CAA2B/E,GAA3B,EAAgCV,GAAhC,EAAqC;EAC1C,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACiB,MAAtB;EACA,MAAM,EAAE+D,KAAK,GAAG,EAAV,EAAcC,SAAS,GAAG,QAA1B,EAAoCC,EAAE,GAAG,CAAzC,KAA+ClF,GAAG,CAACqB,KAAzD;EACA,IAAI;IACF,MAAMzB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWuE,WAAX,CAAwB,GAAEvF,KAAM,EAAhC,EAAmC;MACxDwF,KAAK,EAAEG,QAAQ,CAACH,KAAD,CADyC;MAExDC,SAAS,EAAEA,SAF6C;MAGxDC,EAAE,EAAEA,EAHoD,EAAnC,CAAvB;;IAKA,OAAO5F,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBE,QAAQ,EAAE,oBAA7B,EAArB,CAAP;EACD;AACF;;AAEM,eAAewF,gBAAf,CAAgCpF,GAAhC,EAAqCV,GAArC,EAA0C;EAC/C,MAAM,EAAEE,KAAF,EAAS6F,UAAT,EAAqBhF,IAAI,GAAG,IAA5B,EAAkCa,OAAO,GAAG,KAA5C,KAAsDlB,GAAG,CAACM,IAAhE;EACA,IAAI;IACF,IAAIV,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB0B,OAAtB,CAAtB,EAAsD;MACpDtB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAW4E,gBAAX,CAA6B,GAAE9D,OAAQ,EAAvC,EAA0C+D,UAA1C,EAAsDhF,IAAtD,CAAjB;IACD;;IAED,OAAOf,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,6BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeyF,QAAf,CAAwBtF,GAAxB,EAA6BV,GAA7B,EAAkC;EACvC,MAAM,EAAEE,KAAF,EAAS+F,IAAT,EAAetD,IAAI,GAAG,OAAtB,EAA+Bf,OAAO,GAAG,KAAzC,KAAmDlB,GAAG,CAACM,IAA7D;;EAEA,IAAI;IACF,IAAIV,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB0B,OAAtB,CAAtB,EAAsD;MACpDtB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAW8E,QAAX,CAAqB,GAAEhE,OAAQ,EAA/B,EAAkCiE,IAAlC,EAAwCtD,IAAxC,CAAjB;IACD;;IAED,OAAO3C,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,oBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe2F,QAAf,CAAwBxF,GAAxB,EAA6BV,GAA7B,EAAkC;EACvC,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACM,IAAtB;EACA,MAAMf,OAAO,GAAGS,GAAG,CAACT,OAApB;;EAEA,IAAI;IACF,IAAIgE,OAAO,GAAG,EAAd;IACA,KAAK,MAAMjC,OAAX,IAAsB9B,KAAtB,EAA6B;MAC3B+D,OAAO,CAACkC,IAAR,CAAa,MAAMzF,GAAG,CAACQ,MAAJ,CAAWgF,QAAX,CAAoBlE,OAApB,CAAnB;IACD;IACDjC,YAAY,CAACC,GAAD,EAAMC,OAAN,EAAeC,KAAf,EAAsB+D,OAAtB,CAAZ;EACD,CAND,CAME,OAAOtD,KAAP,EAAc;IACdF,WAAW,CAACC,GAAD,EAAMV,GAAN,EAAWC,OAAX,EAAoBU,KAApB,CAAX;EACD;AACF;;AAEM,eAAeyF,YAAf,CAA4B1F,GAA5B,EAAiCV,GAAjC,EAAsC;EAC3C,MAAM,EAAEE,KAAF,EAASmG,SAAT,EAAoBzE,OAAO,GAAG,KAA9B,KAAwClB,GAAG,CAACM,IAAlD;;EAEA,IAAI;IACF,IAAIV,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB0B,OAAtB,CAAtB,EAAsD;MACpDtB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWkF,YAAX,CAAyB,GAAEpE,OAAQ,EAAnC,EAAsCqE,SAAtC,CAAjB;IACD;;IAED,OAAOrG,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,0BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe+F,oBAAf,CAAoC5F,GAApC,EAAyCV,GAAzC,EAA8C;EACnD,MAAM,EAAEE,KAAF,EAASkE,KAAK,GAAG,IAAjB,EAAuBxC,OAAO,GAAG,KAAjC,KAA2ClB,GAAG,CAACM,IAArD;;EAEA,IAAI;IACF,IAAIV,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB0B,OAAtB,CAAtB,EAAsD;MACpDtB,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWoF,oBAAX,CAAiC,GAAEtE,OAAQ,EAA3C,EAA8CoC,KAA9C,CAAjB;IACD;;IAED,OAAOpE,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,iCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAegG,SAAf,CAAyB7F,GAAzB,EAA8BV,GAA9B,EAAmC;EACxC,MAAM,EAAEE,KAAF,EAASkE,KAAK,GAAG,IAAjB,EAAuBxC,OAAO,GAAG,KAAjC,KAA2ClB,GAAG,CAACM,IAArD;EACA,IAAI;IACF,IAAIV,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB0B,OAAtB,CAAtB,EAAsD;MACpD,IAAIwC,KAAJ,EAAW9D,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWsF,WAAX,CAAuBxE,OAAvB,CAAjB,CAAX;MACK1B,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWuF,UAAX,CAAsBzE,OAAtB,CAAjB;IACN;;IAED,OAAOhC,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CARD,CAQE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,qBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAemG,iBAAf,CAAiChG,GAAjC,EAAsCV,GAAtC,EAA2C;EAChD,MAAM,EAAEE,KAAF,KAAYQ,GAAG,CAACiB,MAAtB;EACA,IAAI;IACF,IAAIrB,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB,KAAtB,CAAtB,EAAoD;MAClDI,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWwF,iBAAX,CAA8B,GAAE1E,OAAQ,EAAxC,CAAjB;IACD;;IAED,OAAOhC,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,8BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeoG,UAAf,CAA0BjG,GAA1B,EAA+BV,GAA/B,EAAoC;EACzC,MAAM,EAAEE,KAAK,GAAG,IAAV,KAAmBQ,GAAG,CAACiB,MAA7B;EACA,IAAI;IACF,IAAIrB,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB,KAAtB,CAAtB,EAAoD;MAClDI,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWyF,UAAX,CAAsB3E,OAAtB,CAAjB;IACD;;IAED,OAAOhC,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,sBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAec,cAAf,CAA8BX,GAA9B,EAAmCV,GAAnC,EAAwC;EAC7C,IAAI;IACF,MAAMM,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWG,cAAX,EAAvB;;IAEA,OAAOrB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,4BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeqG,gBAAf,CAAgClG,GAAhC,EAAqCV,GAArC,EAA0C;EAC/C,MAAM,EAAEE,KAAK,GAAG,IAAV,KAAmBQ,GAAG,CAACiB,MAA7B;EACA,IAAI;IACF,IAAIrB,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB,KAAtB,CAAtB,EAAoD;MAClDI,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAW0F,gBAAX,CAA4B5E,OAA5B,CAAjB;IACD;;IAED,OAAOhC,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,6BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAesG,uBAAf,CAAuCnG,GAAvC,EAA4CV,GAA5C,EAAiD;EACtD,MAAM,EAAEE,KAAK,GAAG,IAAV,KAAmBQ,GAAG,CAACiB,MAA7B;EACA,IAAI;IACF,IAAIrB,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB,KAAtB,CAAtB,EAAoD;MAClDI,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAW2F,uBAAX,CAAmC7E,OAAnC,CAAjB;IACD;;IAED,OAAOhC,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,2BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeuG,SAAf,CAAyBpG,GAAzB,EAA8BV,GAA9B,EAAmC;EACxC,MAAM,EAAEE,KAAK,GAAG,IAAV,KAAmBQ,GAAG,CAACiB,MAA7B;EACA,IAAI;IACF,IAAIrB,QAAJ;IACA,KAAK,MAAM0B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB,KAAtB,CAAtB,EAAoD;MAClDI,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAW4F,SAAX,CAAqB9E,OAArB,CAAjB;IACD;IACD,OAAOhC,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAND,CAME,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,sBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAewG,gBAAf,CAAgCrG,GAAhC,EAAqCV,GAArC,EAA0C;EAC/C,MAAM,EAAEI,MAAF,KAAaM,GAAG,CAACM,IAAvB;EACA,IAAI;IACF,IAAIV,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAW6F,gBAAX,CAA4B3G,MAA5B,CAArB;;IAEA,OAAOJ,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,6BAA5B,EAArB,CAAP;EACD;AACF;AACM,eAAeyG,UAAf,CAA0BtG,GAA1B,EAA+BV,GAA/B,EAAoC;EACzC,MAAM,EAAEiH,MAAF,KAAavG,GAAG,CAACM,IAAvB;EACA,IAAI;IACF,IAAIV,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAW8F,UAAX,CAAsBC,MAAtB,CAArB;;IAEA,OAAOjH,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOkB,CAAP,EAAU;IACVd,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBa,CAAjB;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,qBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe2G,WAAf,CAA2BxG,GAA3B,EAAgCV,GAAhC,EAAqC;EAC1C,MAAM,EAAEqD,SAAF,EAAa8D,IAAI,GAAG,IAApB,KAA6BzG,GAAG,CAACM,IAAvC;EACA,IAAI;IACF,IAAIV,QAAQ,GAAG,MAAMI,GAAG,CAACQ,MAAJ,CAAWgG,WAAX,CAAuB7D,SAAvB,EAAkC8D,IAAlC,CAArB;;IAEA,OAAOnH,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOK,KAAP,EAAc;IACdD,GAAG,CAACE,MAAJ,CAAWD,KAAX,CAAiBA,KAAjB;IACA,OAAOX,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,yBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe6G,QAAf,CAAwB1G,GAAxB,EAA6BV,GAA7B,EAAkC;EACvC,MAAM,EAAEC,OAAF,KAAcS,GAAG,CAACiB,MAAxB;EACA,MAAMT,MAAM,GAAGmG,yBAAA,CAAapH,OAAb,CAAf;EACA,IAAIiB,MAAM,IAAI,IAAV,IAAkBA,MAAM,CAACd,MAAP,KAAkB,WAAxC,EAAqD;EACrD,IAAI;IACF,IAAI,MAAMc,MAAM,CAACoG,WAAP,EAAV,EAAgC;MAC9B,MAAMC,KAAK,GAAG7G,GAAG,CAACM,IAAJ,CAASuG,KAAvB;;MAEA,IAAIA,KAAK,IAAI,6BAAT,IAA0CA,KAAK,IAAI,uBAAnD,IAA8E7G,GAAG,CAACM,IAAJ,CAASwG,OAA3F,EAAoG;QAClG,OAAOxH,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBG,OAAO,EAAE,6BAA9B,EAArB,CAAP;MACD;;MAED,MAAM;QACJkH,YADI;QAEJvH,KAAK,GAAGQ,GAAG,CAACM,IAAJ,CAAS0G,YAAT,CAAsBC,IAAtB,CAA2BC,MAA3B,CAAkCC,YAAlC,CAA+CC,OAA/C,CAAuD,GAAvD,EAA4D,EAA5D,CAFJ;QAGJvH,OAAO,GAAGG,GAAG,CAACM,IAAJ,CAAS0G,YAAT,CAAsBK,QAAtB,CAA+B,CAA/B,CAHN;MAIFrH,GAAG,CAACM,IAJR;;MAMA,IAAIuG,KAAK,IAAI,iBAAT,IAA8BE,YAAY,IAAI,UAAlD,EAA8D,OAAOzH,GAAG,CAACI,MAAJ,CAAW,GAAX,CAAP;MAC9D,KAAK,MAAM4B,OAAX,IAAsB,IAAAC,yBAAA,EAAe/B,KAAf,EAAsB,KAAtB,CAAtB,EAAoD;QAClD,IAAIuH,YAAY,IAAI,UAApB,EAAgC;UAC9B,IAAIlH,OAAO,CAACyH,WAAZ,EAAyB;YACvB,IAAIC,QAAQ,GAAI,GAAE/G,MAAM,CAACgH,MAAP,CAAcd,QAAd,CAAuBe,OAAQ,IAAG5H,OAAO,CAACyH,WAAR,CAAoB,CAApB,EAAuBI,QAAvB,CAAgCC,SAAhC;YAClD9H,OAAO,CAACyH,WAAR,CAAoB,CAApB,EAAuBI,QAAvB,CAAgCE,OAAhC,CAAwC,SAAxC,IAAqD,CADH;YAElD,EAFF;YAGA,MAAMpH,MAAM,CAACqH,QAAP,CAAiB,GAAEvG,OAAQ,EAA3B,EAA8BiG,QAA9B,EAAwC,MAAxC,EAAgD1H,OAAO,CAACiI,OAAxD,CAAN;UACD,CALD,MAKO;YACL,MAAMtH,MAAM,CAACuH,QAAP,CAAgBzG,OAAhB,EAAyBzB,OAAO,CAACiI,OAAjC,CAAN;UACD;QACF;MACF;MACD,OAAOxI,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBG,OAAO,EAAE,8BAA9B,EAArB,CAAP;IACD;EACF,CA7BD,CA6BE,OAAOiB,CAAP,EAAU;IACVkH,OAAO,CAAC7H,GAAR,CAAYW,CAAZ;IACA,OAAOxB,GAAG,CAACI,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBG,OAAO,EAAE,4BAA5B,EAArB,CAAP;EACD;AACF"}
1
+ {"version":3,"file":"deviceController.js","names":["returnSucess","res","session","phone","data","status","json","response","message","contact","returnError","req","error","logger","log","setProfileName","name","body","result","client","showAllContacts","contacts","getAllContacts","getAllChats","mapper","e","getAllChatsWithMessages","getAllMessagesInChat","params","isGroup","includeMe","includeNotifications","query","contato","contactToArray","getAllNewMessages","getAllUnreadMessages","getChatById","allMessages","dir","fs","existsSync","mkdirSync","map","type","download","serverOptions","host","port","t","mime","extension","mimetype","getMessageById","messageId","chatId","user","getBatteryLevel","getHostDevice","phoneNumber","getWid","getPhoneNumber","getBlockList","blocked","split","deleteChat","results","deleteAllChats","chats","chat","clearChat","archiveChat","value","archiveAllChats","deleteMessage","reply","text","messageid","forwardMessages","markUnseenMessage","blockContact","unblockContact","pinChat","state","setProfilePic","file","path","pathFile","unlinkAsync","getUnreadMessages","getChatIsOnline","getLastSeen","getListMutes","loadAndGetAllMessagesInChat","getMessages","count","direction","id","parseInt","sendContactVcard","contactsId","sendMute","time","sendSeen","push","setChatState","chatstate","setTemporaryMessages","setTyping","startTyping","stopTyping","checkNumberStatus","getContact","getNumberProfile","getProfilePicFromServer","getStatus","setProfileStatus","rejectCall","callId","starMessage","star","chatWoot","clientsArray","isConnected","event","private","message_type","conversation","meta","sender","phone_number","replace","messages","attachments","base_url","config","baseURL","data_url","substring","indexOf","sendFile","content","sendText","console"],"sources":["../../src/controller/deviceController.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport fs from 'fs';\nimport { download } from './sessionController';\nimport { contactToArray, unlinkAsync } from '../util/functions';\nimport mime from 'mime-types';\nimport { clientsArray } from '../util/sessionUtil';\n\nfunction returnSucess(res, session, phone, data) {\n res.status(201).json({\n status: 'Success',\n response: {\n message: 'Information retrieved successfully.',\n contact: phone,\n session: session,\n data: data,\n },\n });\n}\n\nfunction returnError(req, res, session, error) {\n req.logger.error(error);\n res.status(400).json({\n status: 'Error',\n response: {\n message: 'Error retrieving information',\n session: session,\n log: error,\n },\n });\n}\n\nexport async function setProfileName(req, res) {\n const { name } = req.body;\n\n if (!name) return res.status(400).json({ status: 'error', message: 'Parameter name is required!' });\n\n try {\n const result = await req.client.setProfileName(name);\n return res.status(200).json({ status: 'success', response: result });\n } catch (error) {\n req.logger.error(error);\n res.status(500).json({ status: 'error', message: 'Error on set profile name.' });\n }\n}\n\nexport async function showAllContacts(req, res) {\n try {\n const contacts = await req.client.getAllContacts();\n res.status(200).json({ status: 'success', response: contacts });\n } catch (error) {\n req.logger.error(error);\n res.status(500).json({ status: 'error', message: 'Error fetching contacts' });\n }\n}\n\nexport async function getAllChats(req, res) {\n try {\n const response = await req.client.getAllChats();\n return res.status(200).json({ status: 'success', response: response, mapper: 'chat' });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all chats' });\n }\n}\n\nexport async function getAllChatsWithMessages(req, res) {\n try {\n const response = await req.client.getAllChatsWithMessages();\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all chats whit messages' });\n }\n}\n\nexport async function getAllMessagesInChat(req, res) {\n try {\n let { phone } = req.params;\n const { isGroup = false, includeMe = true, includeNotifications = true } = req.query;\n\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.getAllMessagesInChat(contato, includeMe, includeNotifications);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all messages in chat' });\n }\n}\n\nexport async function getAllNewMessages(req, res) {\n try {\n const response = await req.client.getAllNewMessages();\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all messages in chat' });\n }\n}\n\nexport async function getAllUnreadMessages(req, res) {\n try {\n const response = await req.client.getAllUnreadMessages();\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on get all messages in chat' });\n }\n}\n\nexport async function getChatById(req, res) {\n const { phone } = req.params;\n const { isGroup } = req.query;\n\n try {\n let allMessages = {};\n\n if (isGroup) {\n allMessages = await req.client.getAllMessagesInChat(`${phone}@g.us`, true, true);\n } else {\n allMessages = await req.client.getAllMessagesInChat(`${phone}@c.us`, true, true);\n }\n\n let dir = './WhatsAppImages';\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir);\n }\n\n allMessages.map((message) => {\n if (message.type === 'sticker') {\n download(message, req.client, req.logger);\n message.body = `${req.serverOptions.host}:${req.serverOptions.port}/files/file${message.t}.${mime.extension(\n message.mimetype\n )}`;\n }\n });\n\n return res.status(200).json({ status: 'success', response: allMessages });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error changing chat by Id' });\n }\n}\n\nexport async function getMessageById(req, res) {\n const session = req.session;\n const { messageId } = req.params;\n\n try {\n let result;\n\n result = await req.client.getMessageById(messageId);\n\n returnSucess(res, session, result.chatId.user, result);\n } catch (error) {\n returnError(req, res, session, error);\n }\n}\n\nexport async function getBatteryLevel(req, res) {\n try {\n let response = await req.client.getBatteryLevel();\n return res.status(200).json({ status: 'Success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error retrieving battery status' });\n }\n}\n\nexport async function getHostDevice(req, res) {\n try {\n const response = await req.client.getHostDevice();\n const phoneNumber = await req.client.getWid();\n return res.status(200).json({ status: 'success', response: { ...response, phoneNumber }, mapper: 'device' });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Erro ao recuperar dados do telefone' });\n }\n}\n\nexport async function getPhoneNumber(req, res) {\n try {\n const phoneNumber = await req.client.getWid();\n return res.status(200).json({ status: 'success', response: phoneNumber, mapper: 'device' });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error retrieving phone number' });\n }\n}\n\nexport async function getBlockList(req, res) {\n let response = await req.client.getBlockList();\n\n try {\n const blocked = response.map((contato) => {\n return { phone: contato ? contato.split('@')[0] : '' };\n });\n\n return res.status(200).json({ status: 'success', response: blocked });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error retrieving blocked contact list' });\n }\n}\n\nexport async function deleteChat(req, res) {\n const { phone } = req.body;\n const session = req.session;\n\n try {\n let results = {};\n for (const contato of phone) {\n results[contato] = await req.client.deleteChat(contato);\n }\n returnSucess(res, session, phone, results);\n } catch (error) {\n returnError(req, res, session, error);\n }\n}\nexport async function deleteAllChats(req, res) {\n try {\n const chats = await req.client.getAllChats();\n for (const chat of chats) {\n await req.client.deleteChat(chat.chatId);\n }\n return res.status(200).json({ status: 'success' });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on delete all chats' });\n }\n}\n\nexport async function clearChat(req, res) {\n const { phone } = req.body;\n const session = req.session;\n\n try {\n let results = {};\n for (const contato of phone) {\n results[contato] = await req.client.clearChat(contato);\n }\n returnSucess(res, session, phone, results);\n } catch (error) {\n returnError(req, res, session, error);\n }\n}\n\nexport async function archiveChat(req, res) {\n const { phone, value = true, isGroup = false } = req.body;\n\n try {\n let response;\n response = await req.client.archiveChat(`${phone}`, value);\n return res.status(201).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on archive chat' });\n }\n}\n\nexport async function archiveAllChats(req, res) {\n try {\n const chats = await req.client.getAllChats();\n for (const chat of chats) {\n await req.client.archiveChat(`${chat.chatId}`, true);\n }\n return res.status(201).json({ status: 'success' });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on archive all chats' });\n }\n}\n\nexport async function deleteMessage(req, res) {\n const { phone, messageId } = req.body;\n\n try {\n await req.client.deleteMessage(`${phone}@c.us`, [messageId]);\n\n return res.status(200).json({ status: 'success', response: { message: 'Message deleted' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on delete message' });\n }\n}\n\nexport async function reply(req, res) {\n const { phone, text, messageid } = req.body;\n\n try {\n let response = await req.client.reply(`${phone}@c.us`, text, messageid);\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error replying message' });\n }\n}\n\nexport async function forwardMessages(req, res) {\n const { phone, messageId, isGroup = false } = req.body;\n\n try {\n let response;\n\n if (!isGroup) {\n response = await req.client.forwardMessages(`${phone}`, [messageId], false);\n } else {\n response = await req.client.forwardMessages(`${phone}`, [messageId], false);\n }\n\n return res.status(201).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error forwarding message' });\n }\n}\n\nexport async function markUnseenMessage(req, res) {\n const { phone } = req.body;\n\n try {\n await req.client.markUnseenMessage(`${phone}`);\n return res.status(200).json({ status: 'success', response: { message: 'unseen checked' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on mark unseen' });\n }\n}\n\nexport async function blockContact(req, res) {\n const { phone } = req.body;\n\n try {\n await req.client.blockContact(`${phone}`);\n return res.status(200).json({ status: 'success', response: { message: 'Contact blocked' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on block contact' });\n }\n}\n\nexport async function unblockContact(req, res) {\n const { phone } = req.body;\n\n try {\n await req.client.unblockContact(`${phone}`);\n return res.status(200).json({ status: 'success', response: { message: 'Contact UnBlocked' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on unlock contact' });\n }\n}\n\nexport async function pinChat(req, res) {\n const { phone, state } = req.body;\n\n try {\n for (const contato of phone) {\n await req.client.pinChat(contato, state === 'true', false);\n }\n\n return res.status(200).json({ status: 'success', response: { message: 'Chat fixed' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: e.text || 'Error on pin chat' });\n }\n}\n\nexport async function setProfilePic(req, res) {\n if (!req.file) return res.status(400).json({ status: 'Error', message: 'File parameter is required!' });\n\n try {\n const { path: pathFile } = req.file;\n\n await req.client.setProfilePic(pathFile);\n await unlinkAsync(pathFile);\n\n return res.status(200).json({ status: 'success', response: { message: 'Profile photo successfully changed' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error changing profile photo' });\n }\n}\n\nexport async function getUnreadMessages(req, res) {\n try {\n const response = await req.client.getUnreadMessages(false, false, true);\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', response: 'Error on open list' });\n }\n}\n\nexport async function getChatIsOnline(req, res) {\n const { phone } = req.params;\n try {\n const response = await req.client.getChatIsOnline(`${phone}@c.us`);\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', response: 'Error on get chat is online' });\n }\n}\n\nexport async function getLastSeen(req, res) {\n const { phone } = req.params;\n try {\n const response = await req.client.getLastSeen(`${phone}@c.us`);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', response: 'Error on get chat last seen' });\n }\n}\n\nexport async function getListMutes(req, res) {\n const { type = 'all' } = req.params;\n try {\n const response = await req.client.getListMutes(type);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', response: 'Error on get list mutes' });\n }\n}\n\nexport async function loadAndGetAllMessagesInChat(req, res) {\n const { phone, includeMe = true, includeNotifications = false } = req.params;\n try {\n const response = await req.client.loadAndGetAllMessagesInChat(`${phone}@c.us`, includeMe, includeNotifications);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', response: 'Error on open list' });\n }\n}\nexport async function getMessages(req, res) {\n const { phone } = req.params;\n const { count = 20, direction = 'before', id = 0 } = req.query;\n try {\n const response = await req.client.getMessages(`${phone}`, {\n count: parseInt(count),\n direction: direction,\n id: id,\n });\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(401).json({ status: 'error', response: 'Error on open list' });\n }\n}\n\nexport async function sendContactVcard(req, res) {\n const { phone, contactsId, name = null, isGroup = false } = req.body;\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.sendContactVcard(`${contato}`, contactsId, name);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on send contact vcard' });\n }\n}\n\nexport async function sendMute(req, res) {\n const { phone, time, type = 'hours', isGroup = false } = req.body;\n\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.sendMute(`${contato}`, time, type);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on send mute' });\n }\n}\n\nexport async function sendSeen(req, res) {\n const { phone } = req.body;\n const session = req.session;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendSeen(contato));\n }\n returnSucess(res, session, phone, results);\n } catch (error) {\n returnError(req, res, session, error);\n }\n}\n\nexport async function setChatState(req, res) {\n const { phone, chatstate, isGroup = false } = req.body;\n\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.setChatState(`${contato}`, chatstate);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on send chat state' });\n }\n}\n\nexport async function setTemporaryMessages(req, res) {\n const { phone, value = true, isGroup = false } = req.body;\n\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.setTemporaryMessages(`${contato}`, value);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on set temporary messages' });\n }\n}\n\nexport async function setTyping(req, res) {\n const { phone, value = true, isGroup = false } = req.body;\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n if (value) response = await req.client.startTyping(contato);\n else response = await req.client.stopTyping(contato);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on set typing' });\n }\n}\n\nexport async function checkNumberStatus(req, res) {\n const { phone } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.checkNumberStatus(`${contato}`);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on check number status' });\n }\n}\n\nexport async function getContact(req, res) {\n const { phone = true } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.getContact(contato);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get contact' });\n }\n}\n\nexport async function getAllContacts(req, res) {\n try {\n const response = await req.client.getAllContacts();\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get all constacts' });\n }\n}\n\nexport async function getNumberProfile(req, res) {\n const { phone = true } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.getNumberProfile(contato);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get number profile' });\n }\n}\n\nexport async function getProfilePicFromServer(req, res) {\n const { phone = true } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.getProfilePicFromServer(contato);\n }\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get profile pic' });\n }\n}\n\nexport async function getStatus(req, res) {\n const { phone = true } = req.params;\n try {\n let response;\n for (const contato of contactToArray(phone, false)) {\n response = await req.client.getStatus(contato);\n }\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on get status' });\n }\n}\n\nexport async function setProfileStatus(req, res) {\n const { status } = req.body;\n try {\n let response = await req.client.setProfileStatus(status);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on set profile status' });\n }\n}\nexport async function rejectCall(req, res) {\n const { callId } = req.body;\n try {\n let response = await req.client.rejectCall(callId);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error on rejectCall' });\n }\n}\n\nexport async function starMessage(req, res) {\n const { messageId, star = true } = req.body;\n try {\n let response = await req.client.starMessage(messageId, star);\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on start message' });\n }\n}\n\nexport async function chatWoot(req, res) {\n const { session } = req.params;\n const client = clientsArray[session];\n if (client == null || client.status !== 'CONNECTED') return;\n try {\n if (await client.isConnected()) {\n const event = req.body.event;\n\n if (event == 'conversation_status_changed' || event == 'conversation_resolved' || req.body.private) {\n return res.status(200).json({ status: 'success', message: 'Success on receive chatwoot' });\n }\n\n const {\n message_type,\n phone = req.body.conversation.meta.sender.phone_number.replace('+', ''),\n message = req.body.conversation.messages[0],\n } = req.body;\n\n if (event != 'message_created' && message_type != 'outgoing') return res.status(200);\n for (const contato of contactToArray(phone, false)) {\n if (message_type == 'outgoing') {\n if (message.attachments) {\n let base_url = `${client.config.chatWoot.baseURL}/${message.attachments[0].data_url.substring(\n message.attachments[0].data_url.indexOf('/rails/') + 1\n )}`;\n await client.sendFile(`${contato}`, base_url, 'file', message.content);\n } else {\n await client.sendText(contato, message.content);\n }\n }\n }\n return res.status(200).json({ status: 'success', message: 'Success on receive chatwoot' });\n }\n } catch (e) {\n console.log(e);\n return res.status(400).json({ status: 'error', message: 'Error on receive chatwoot' });\n }\n}\n"],"mappings":"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"}
@@ -92,14 +92,16 @@ async function sendFile(req, res) {
92
92
  }
93
93
 
94
94
  async function sendFile64(req, res) {
95
- const { base64, phone, filename = 'file', message } = req.body;
95
+ const { base64, phone, filename } = req.body;
96
96
 
97
97
  if (!base64) return res.status(401).send({ message: 'The base64 of the file was not informed' });
98
98
 
99
+ const options = req.body.options || {};
100
+
99
101
  try {
100
102
  let results = [];
101
103
  for (const contato of phone) {
102
- results.push(await req.client.sendFileFromBase64(contato, base64, filename, message));
104
+ results.push(await req.client.sendFile(contato, base64, options.length > 0 ? options : filename));
103
105
  }
104
106
 
105
107
  if (results.length === 0) return res.status(400).json('Error sending message');
@@ -1 +1 @@
1
- {"version":3,"file":"messageController.js","names":["returnError","req","res","error","logger","status","json","message","returnSucess","data","response","mapper","sendMessage","phone","body","options","results","contato","push","client","sendText","length","io","emit","sendImage","filename","caption","path","file","send","pathFile","unlinkAsync","sendFile","sendFile64","base64","sendFileFromBase64","sendVoice","quotedMessageId","sendPtt","sendVoice64","base64Ptt","sendPttFromBase64","sendLinkPreview","url","sendLocation","lat","lng","title","sendButtons","contact","sendListMessage","description","sections","buttonText","sendStatusText","replyMessage","messageId","reply","to","sendMentioned","mentioned","sendTextStorie","text","sendImageStorie","sendVideoStorie"],"sources":["../../src/controller/messageController.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { unlinkAsync } from '../util/functions';\n\nfunction returnError(req, res, error) {\n req.logger.error(error);\n res.status(500).json({ status: 'Error', message: 'Erro ao enviar a mensagem.' });\n}\n\nasync function returnSucess(res, data) {\n res.status(201).json({ status: 'success', response: data, mapper: 'return' });\n}\n\nexport async function sendMessage(req, res) {\n const { phone, message } = req.body;\n\n const options = req.body.options || {};\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendText(contato, message, options));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n req.io.emit('mensagem-enviada', results);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendImage(req, res) {\n const { phone, filename = 'image-api.jpg', caption, path } = req.body;\n\n if (!path && !req.file)\n return res.status(401).send({\n message: 'Sending the file is mandatory',\n });\n\n const pathFile = path || req.file.path;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendImage(contato, pathFile, filename, caption));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n if (req.file) await unlinkAsync(pathFile);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendFile(req, res) {\n const { phone, path, filename = 'file', message } = req.body;\n\n if (!path && !req.file)\n return res.status(401).send({\n message: 'Sending the file is mandatory',\n });\n\n const pathFile = path || req.file.path;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendFile(contato, pathFile, filename, message));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n if (req.file) await unlinkAsync(pathFile);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendFile64(req, res) {\n const { base64, phone, filename = 'file', message } = req.body;\n\n if (!base64) return res.status(401).send({ message: 'The base64 of the file was not informed' });\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendFileFromBase64(contato, base64, filename, message));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendVoice(req, res) {\n const { phone, path, filename = 'Voice Audio', message, quotedMessageId } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendPtt(contato, path, filename, message, quotedMessageId));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendVoice64(req, res) {\n const { phone, base64Ptt } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendPttFromBase64(contato, base64Ptt, 'Voice Audio'));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendLinkPreview(req, res) {\n const { phone, url, caption } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendLinkPreview(`${contato}`, url, caption));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendLocation(req, res) {\n const { phone, lat, lng, title } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendLocation(contato, lat, lng, title));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendButtons(req, res) {\n const { phone, message, options } = req.body;\n\n try {\n let results = [];\n\n for (const contact of phone) {\n results.push(await req.client.sendText(contact, message, options));\n }\n\n if (results.length === 0) return returnError(req, res, 'Error sending message with buttons');\n\n returnSucess(res, phone, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendListMessage(req, res) {\n const { phone, description = '', sections, buttonText = 'SELECIONE UMA OPÇÃO' } = req.body;\n\n try {\n let results = [];\n\n for (const contact of phone) {\n results.push(\n await req.client.sendListMessage(contact, {\n buttonText: buttonText,\n description: description,\n sections: sections,\n })\n );\n }\n\n if (results.length === 0) return returnError(req, res, 'Error sending list buttons');\n\n returnSucess(res, phone, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendStatusText(req, res) {\n const { message } = req.body;\n\n try {\n let results = [];\n results.push(await req.client.sendText('status@broadcast', message));\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function replyMessage(req, res) {\n const { phone, message, messageId } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.reply(contato, message, messageId));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n req.io.emit('mensagem-enviada', { message: message, to: phone });\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendMentioned(req, res) {\n const { phone, message, mentioned } = req.body;\n\n try {\n let response;\n for (const contato of phone) {\n response = await req.client.sendMentioned(`${contato}`, message, mentioned);\n }\n\n return res.status(201).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on send message mentioned' });\n }\n}\n\nexport async function sendTextStorie(req, res) {\n const { text } = req.body;\n\n if (!text)\n return res.status(401).send({\n message: 'Text was not informed',\n });\n\n try {\n let results = [];\n results.push(await req.client.sendText('status@broadcast', text));\n\n if (results.length === 0) return res.status(400).json('Error sending the text of stories');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendImageStorie(req, res) {\n const { path, filename = 'image-storie', caption } = req.body;\n\n if (!path && !req.file)\n return res.status(401).send({\n message: 'Sending the image is mandatory',\n });\n\n const pathFile = path || req.file.path;\n\n try {\n let results = [];\n results.push(await req.client.sendImage('status@broadcast', pathFile, filename, caption));\n\n if (results.length === 0) return res.status(400).json('Error sending the image of stories');\n if (req.file) await unlinkAsync(pathFile);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendVideoStorie(req, res) {\n const { path, filename = 'video', caption } = req.body;\n\n if (!path && !req.file)\n return res.status(401).send({\n message: 'Sending the Video is mandatory',\n });\n\n const pathFile = path || req.file.path;\n\n try {\n let results = [];\n\n results.push(await req.client.sendFile('status@broadcast', pathFile, filename, caption));\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n if (req.file) await unlinkAsync(pathFile);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"messageController.js","names":["returnError","req","res","error","logger","status","json","message","returnSucess","data","response","mapper","sendMessage","phone","body","options","results","contato","push","client","sendText","length","io","emit","sendImage","filename","caption","path","file","send","pathFile","unlinkAsync","sendFile","sendFile64","base64","sendVoice","quotedMessageId","sendPtt","sendVoice64","base64Ptt","sendPttFromBase64","sendLinkPreview","url","sendLocation","lat","lng","title","sendButtons","contact","sendListMessage","description","sections","buttonText","sendStatusText","replyMessage","messageId","reply","to","sendMentioned","mentioned","sendTextStorie","text","sendImageStorie","sendVideoStorie"],"sources":["../../src/controller/messageController.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { unlinkAsync } from '../util/functions';\n\nfunction returnError(req, res, error) {\n req.logger.error(error);\n res.status(500).json({ status: 'Error', message: 'Erro ao enviar a mensagem.' });\n}\n\nasync function returnSucess(res, data) {\n res.status(201).json({ status: 'success', response: data, mapper: 'return' });\n}\n\nexport async function sendMessage(req, res) {\n const { phone, message } = req.body;\n\n const options = req.body.options || {};\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendText(contato, message, options));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n req.io.emit('mensagem-enviada', results);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendImage(req, res) {\n const { phone, filename = 'image-api.jpg', caption, path } = req.body;\n\n if (!path && !req.file)\n return res.status(401).send({\n message: 'Sending the file is mandatory',\n });\n\n const pathFile = path || req.file.path;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendImage(contato, pathFile, filename, caption));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n if (req.file) await unlinkAsync(pathFile);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendFile(req, res) {\n const { phone, path, filename = 'file', message } = req.body;\n\n if (!path && !req.file)\n return res.status(401).send({\n message: 'Sending the file is mandatory',\n });\n\n const pathFile = path || req.file.path;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendFile(contato, pathFile, filename, message));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n if (req.file) await unlinkAsync(pathFile);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendFile64(req, res) {\n const { base64, phone, filename } = req.body;\n\n if (!base64) return res.status(401).send({ message: 'The base64 of the file was not informed' });\n\n const options = req.body.options || {};\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendFile(contato, base64, options.length > 0 ? options : filename));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendVoice(req, res) {\n const { phone, path, filename = 'Voice Audio', message, quotedMessageId } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendPtt(contato, path, filename, message, quotedMessageId));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendVoice64(req, res) {\n const { phone, base64Ptt } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendPttFromBase64(contato, base64Ptt, 'Voice Audio'));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendLinkPreview(req, res) {\n const { phone, url, caption } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendLinkPreview(`${contato}`, url, caption));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendLocation(req, res) {\n const { phone, lat, lng, title } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.sendLocation(contato, lat, lng, title));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendButtons(req, res) {\n const { phone, message, options } = req.body;\n\n try {\n let results = [];\n\n for (const contact of phone) {\n results.push(await req.client.sendText(contact, message, options));\n }\n\n if (results.length === 0) return returnError(req, res, 'Error sending message with buttons');\n\n returnSucess(res, phone, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendListMessage(req, res) {\n const { phone, description = '', sections, buttonText = 'SELECIONE UMA OPÇÃO' } = req.body;\n\n try {\n let results = [];\n\n for (const contact of phone) {\n results.push(\n await req.client.sendListMessage(contact, {\n buttonText: buttonText,\n description: description,\n sections: sections,\n })\n );\n }\n\n if (results.length === 0) return returnError(req, res, 'Error sending list buttons');\n\n returnSucess(res, phone, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendStatusText(req, res) {\n const { message } = req.body;\n\n try {\n let results = [];\n results.push(await req.client.sendText('status@broadcast', message));\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function replyMessage(req, res) {\n const { phone, message, messageId } = req.body;\n\n try {\n let results = [];\n for (const contato of phone) {\n results.push(await req.client.reply(contato, message, messageId));\n }\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n req.io.emit('mensagem-enviada', { message: message, to: phone });\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendMentioned(req, res) {\n const { phone, message, mentioned } = req.body;\n\n try {\n let response;\n for (const contato of phone) {\n response = await req.client.sendMentioned(`${contato}`, message, mentioned);\n }\n\n return res.status(201).json({ status: 'success', response: response });\n } catch (error) {\n req.logger.error(error);\n return res.status(500).json({ status: 'error', message: 'Error on send message mentioned' });\n }\n}\n\nexport async function sendTextStorie(req, res) {\n const { text } = req.body;\n\n if (!text)\n return res.status(401).send({\n message: 'Text was not informed',\n });\n\n try {\n let results = [];\n results.push(await req.client.sendText('status@broadcast', text));\n\n if (results.length === 0) return res.status(400).json('Error sending the text of stories');\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendImageStorie(req, res) {\n const { path, filename = 'image-storie', caption } = req.body;\n\n if (!path && !req.file)\n return res.status(401).send({\n message: 'Sending the image is mandatory',\n });\n\n const pathFile = path || req.file.path;\n\n try {\n let results = [];\n results.push(await req.client.sendImage('status@broadcast', pathFile, filename, caption));\n\n if (results.length === 0) return res.status(400).json('Error sending the image of stories');\n if (req.file) await unlinkAsync(pathFile);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n\nexport async function sendVideoStorie(req, res) {\n const { path, filename = 'video', caption } = req.body;\n\n if (!path && !req.file)\n return res.status(401).send({\n message: 'Sending the Video is mandatory',\n });\n\n const pathFile = path || req.file.path;\n\n try {\n let results = [];\n\n results.push(await req.client.sendFile('status@broadcast', pathFile, filename, caption));\n\n if (results.length === 0) return res.status(400).json('Error sending message');\n if (req.file) await unlinkAsync(pathFile);\n returnSucess(res, results);\n } catch (error) {\n returnError(req, res, error);\n }\n}\n"],"mappings":"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"}
@@ -163,8 +163,10 @@ DeviceController.loadAndGetAllMessagesInChat);
163
163
  routes.get('/api/:session/get-messages/:phone', _auth.default, _statusConnection.default, DeviceController.getMessages);
164
164
 
165
165
  routes.post('/api/:session/archive-chat', _auth.default, _statusConnection.default, DeviceController.archiveChat);
166
+ routes.post('/api/:session/archive-all-chats', _auth.default, _statusConnection.default, DeviceController.archiveAllChats);
166
167
  routes.post('/api/:session/clear-chat', _auth.default, _statusConnection.default, DeviceController.clearChat);
167
168
  routes.post('/api/:session/delete-chat', _auth.default, _statusConnection.default, DeviceController.deleteChat);
169
+ routes.post('/api/:session/delete-all-chats', _auth.default, _statusConnection.default, DeviceController.deleteAllChats);
168
170
  routes.post('/api/:session/delete-message', _auth.default, _statusConnection.default, DeviceController.deleteMessage);
169
171
  routes.post('/api/:session/forward-messages', _auth.default, _statusConnection.default, DeviceController.forwardMessages);
170
172
  routes.post('/api/:session/mark-unseen', _auth.default, _statusConnection.default, DeviceController.markUnseenMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["upload","multer","uploadConfig","routes","Router","post","encryptSession","get","SessionController","showAllSessions","startAllSessions","verifyToken","checkConnectionSession","getMediaByMessage","getSessionState","getQrCode","startSession","statusConnection","logOutSession","closeSession","subscribePresence","downloadMediaByMessage","killServiceWorker","restartService","MessageController","sendMessage","single","sendImage","replyMessage","sendFile","sendFile64","sendVoice","sendVoice64","sendStatusText","sendLinkPreview","sendLocation","sendMentioned","sendButtons","sendListMessage","GroupController","getAllBroadcastList","getAllGroups","getGroupMembers","getGroupAdmins","getGroupInviteLink","revokeGroupInviteLink","getGroupMembersIds","createGroup","leaveGroup","joinGroupByCode","addParticipant","removeParticipant","promoteParticipant","demoteParticipant","getGroupInfoFromInviteLink","setGroupDescription","setGroupProperty","setGroupSubject","setMessagesAdminsOnly","setGroupProfilePic","changePrivacyGroup","DeviceController","getAllChats","getAllChatsWithMessages","getAllMessagesInChat","getAllNewMessages","getUnreadMessages","getAllUnreadMessages","getChatById","getMessageById","getChatIsOnline","getLastSeen","getListMutes","loadAndGetAllMessagesInChat","getMessages","archiveChat","clearChat","deleteChat","deleteMessage","forwardMessages","markUnseenMessage","pinChat","sendContactVcard","sendMute","sendSeen","setChatState","setTemporaryMessages","setTyping","starMessage","rejectCall","sendTextStorie","sendImageStorie","sendVideoStorie","checkNumberStatus","getAllContacts","getContact","getNumberProfile","getProfilePicFromServer","getStatus","getBlockList","blockContact","unblockContact","getBatteryLevel","getHostDevice","getPhoneNumber","setProfilePic","setProfileStatus","setProfileName","OrderController","getBusinessProfilesProducts","getOrderbyMsg","chatWoot","use","swaggerUi","serve","setup","swaggerDocument","HealthCheck","healthz","unhealthy"],"sources":["../../src/routes/index.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Router } from 'express';\nimport { encryptSession } from '../controller/encryptController';\nimport * as MessageController from '../controller/messageController';\nimport * as GroupController from '../controller/groupController';\nimport * as DeviceController from '../controller/deviceController';\nimport * as SessionController from '../controller/sessionController';\nimport * as OrderController from '../controller/orderController';\nimport * as HealthCheck from '../middleware/healthCheck';\nimport verifyToken from '../middleware/auth';\nimport statusConnection from '../middleware/statusConnection';\nimport multer from 'multer';\nimport uploadConfig from '../config/upload';\nimport swaggerUi from 'swagger-ui-express';\nimport swaggerDocument from '../swagger.json';\n\nconst upload = multer(uploadConfig);\nconst routes = new Router();\n\n// Generate Token\nroutes.post('/api/:session/:secretkey/generate-token', encryptSession);\n\n// All Sessions\nroutes.get('/api/:secretkey/show-all-sessions', SessionController.showAllSessions);\nroutes.post('/api/:secretkey/start-all', SessionController.startAllSessions);\n\n// Sessions\nroutes.get('/api/:session/check-connection-session', verifyToken, SessionController.checkConnectionSession);\nroutes.get('/api/:session/get-media-by-message/:messageId', verifyToken, SessionController.getMediaByMessage);\nroutes.get('/api/:session/status-session', verifyToken, SessionController.getSessionState);\nroutes.get('/api/:session/qrcode-session', verifyToken, SessionController.getQrCode);\nroutes.post('/api/:session/start-session', verifyToken, SessionController.startSession);\nroutes.post('/api/:session/logout-session', verifyToken, statusConnection, SessionController.logOutSession);\nroutes.post('/api/:session/close-session', verifyToken, SessionController.closeSession);\nroutes.post('/api/:session/subscribe-presence', verifyToken, SessionController.subscribePresence);\nroutes.post('/api/:session/download-media', verifyToken, statusConnection, SessionController.downloadMediaByMessage);\nroutes.post('/api/:session/kill-service-workier', verifyToken, statusConnection, SessionController.killServiceWorker);\nroutes.post('/api/:session/restart-service', verifyToken, statusConnection, SessionController.restartService);\n\n// Messages\nroutes.post('/api/:session/send-message', verifyToken, statusConnection, MessageController.sendMessage);\nroutes.post(\n '/api/:session/send-image',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImage\n);\nroutes.post('/api/:session/send-reply', verifyToken, statusConnection, MessageController.replyMessage);\nroutes.post(\n '/api/:session/send-file',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendFile\n);\nroutes.post('/api/:session/send-file-base64', verifyToken, statusConnection, MessageController.sendFile64);\nroutes.post('/api/:session/send-voice', verifyToken, statusConnection, MessageController.sendVoice);\nroutes.post('/api/:session/send-voice-base64', verifyToken, statusConnection, MessageController.sendVoice64);\nroutes.post('/api/:session/send-status', verifyToken, statusConnection, MessageController.sendStatusText);\nroutes.post('/api/:session/send-link-preview', verifyToken, statusConnection, MessageController.sendLinkPreview);\nroutes.post('/api/:session/send-location', verifyToken, statusConnection, MessageController.sendLocation);\nroutes.post('/api/:session/send-mentioned', verifyToken, statusConnection, MessageController.sendMentioned);\nroutes.post('/api/:session/send-buttons', verifyToken, statusConnection, MessageController.sendButtons);\nroutes.post('/api/:session/send-list-message', verifyToken, statusConnection, MessageController.sendListMessage);\n\n// Group\nroutes.get('/api/:session/all-broadcast-list', verifyToken, statusConnection, GroupController.getAllBroadcastList);\nroutes.get('/api/:session/all-groups', verifyToken, statusConnection, GroupController.getAllGroups);\nroutes.get('/api/:session/group-members/:groupId', verifyToken, statusConnection, GroupController.getGroupMembers);\nroutes.get('/api/:session/group-admins/:groupId', verifyToken, statusConnection, GroupController.getGroupAdmins);\nroutes.get(\n '/api/:session/group-invite-link/:groupId',\n verifyToken,\n statusConnection,\n GroupController.getGroupInviteLink\n);\nroutes.get(\n '/api/:session/group-revoke-link/:groupId',\n verifyToken,\n statusConnection,\n GroupController.revokeGroupInviteLink\n);\nroutes.get(\n '/api/:session/group-members-ids/:groupId',\n verifyToken,\n statusConnection,\n GroupController.getGroupMembersIds\n);\nroutes.post('/api/:session/create-group', verifyToken, statusConnection, GroupController.createGroup);\nroutes.post('/api/:session/leave-group', verifyToken, statusConnection, GroupController.leaveGroup);\nroutes.post('/api/:session/join-code', verifyToken, statusConnection, GroupController.joinGroupByCode);\nroutes.post('/api/:session/add-participant-group', verifyToken, statusConnection, GroupController.addParticipant);\nroutes.post('/api/:session/remove-participant-group', verifyToken, statusConnection, GroupController.removeParticipant);\nroutes.post(\n '/api/:session/promote-participant-group',\n verifyToken,\n statusConnection,\n GroupController.promoteParticipant\n);\nroutes.post('/api/:session/demote-participant-group', verifyToken, statusConnection, GroupController.demoteParticipant);\nroutes.post(\n '/api/:session/group-info-from-invite-link',\n verifyToken,\n statusConnection,\n GroupController.getGroupInfoFromInviteLink\n);\nroutes.post('/api/:session/group-description', verifyToken, statusConnection, GroupController.setGroupDescription);\nroutes.post('/api/:session/group-property', verifyToken, statusConnection, GroupController.setGroupProperty);\nroutes.post('/api/:session/group-subject', verifyToken, statusConnection, GroupController.setGroupSubject);\nroutes.post('/api/:session/messages-admins-only', verifyToken, statusConnection, GroupController.setMessagesAdminsOnly);\nroutes.post(\n '/api/:session/group-pic',\n upload.single('file'),\n verifyToken,\n statusConnection,\n GroupController.setGroupProfilePic\n);\nroutes.post('/api/:session/change-privacy-group', verifyToken, statusConnection, GroupController.changePrivacyGroup);\n\n// Chat\nroutes.get('/api/:session/all-chats', verifyToken, statusConnection, DeviceController.getAllChats);\nroutes.get(\n '/api/:session/all-chats-with-messages',\n verifyToken,\n statusConnection,\n DeviceController.getAllChatsWithMessages\n);\nroutes.get(\n '/api/:session/all-messages-in-chat/:phone',\n verifyToken,\n statusConnection,\n DeviceController.getAllMessagesInChat\n);\nroutes.get('/api/:session/all-new-messages', verifyToken, statusConnection, DeviceController.getAllNewMessages);\nroutes.get('/api/:session/unread-messages', verifyToken, statusConnection, DeviceController.getUnreadMessages);\nroutes.get('/api/:session/all-unread-messages', verifyToken, statusConnection, DeviceController.getAllUnreadMessages);\nroutes.get('/api/:session/chat-by-id/:phone', verifyToken, statusConnection, DeviceController.getChatById);\nroutes.get('/api/:session/message-by-id/:messageId', verifyToken, statusConnection, DeviceController.getMessageById);\nroutes.get('/api/:session/chat-is-online/:phone', verifyToken, statusConnection, DeviceController.getChatIsOnline);\nroutes.get('/api/:session/last-seen/:phone', verifyToken, statusConnection, DeviceController.getLastSeen);\nroutes.get('/api/:session/list-mutes/:type', verifyToken, statusConnection, DeviceController.getListMutes);\nroutes.get(\n '/api/:session/load-messages-in-chat/:phone',\n verifyToken,\n statusConnection,\n DeviceController.loadAndGetAllMessagesInChat\n);\nroutes.get('/api/:session/get-messages/:phone', verifyToken, statusConnection, DeviceController.getMessages);\n\nroutes.post('/api/:session/archive-chat', verifyToken, statusConnection, DeviceController.archiveChat);\nroutes.post('/api/:session/clear-chat', verifyToken, statusConnection, DeviceController.clearChat);\nroutes.post('/api/:session/delete-chat', verifyToken, statusConnection, DeviceController.deleteChat);\nroutes.post('/api/:session/delete-message', verifyToken, statusConnection, DeviceController.deleteMessage);\nroutes.post('/api/:session/forward-messages', verifyToken, statusConnection, DeviceController.forwardMessages);\nroutes.post('/api/:session/mark-unseen', verifyToken, statusConnection, DeviceController.markUnseenMessage);\nroutes.post('/api/:session/pin-chat', verifyToken, statusConnection, DeviceController.pinChat);\nroutes.post('/api/:session/contact-vcard', verifyToken, statusConnection, DeviceController.sendContactVcard);\nroutes.post('/api/:session/send-mute', verifyToken, statusConnection, DeviceController.sendMute);\nroutes.post('/api/:session/send-seen', verifyToken, statusConnection, DeviceController.sendSeen);\nroutes.post('/api/:session/chat-state', verifyToken, statusConnection, DeviceController.setChatState);\nroutes.post('/api/:session/temporary-messages', verifyToken, statusConnection, DeviceController.setTemporaryMessages);\nroutes.post('/api/:session/typing', verifyToken, statusConnection, DeviceController.setTyping);\nroutes.post('/api/:session/star-message', verifyToken, statusConnection, DeviceController.starMessage);\nroutes.post('/api/:session/reject-call', verifyToken, statusConnection, DeviceController.rejectCall);\n\n// Status\nroutes.post('/api/:session/send-text-storie', verifyToken, statusConnection, MessageController.sendTextStorie);\nroutes.post(\n '/api/:session/send-image-storie',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImageStorie\n);\nroutes.post(\n '/api/:session/send-video-storie',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendVideoStorie\n);\n\n// Contact\nroutes.get(\n '/api/:session/check-number-status/:phone',\n verifyToken,\n statusConnection,\n DeviceController.checkNumberStatus\n);\nroutes.get('/api/:session/all-contacts', verifyToken, statusConnection, DeviceController.getAllContacts);\nroutes.get('/api/:session/contact/:phone', verifyToken, statusConnection, DeviceController.getContact);\nroutes.get('/api/:session/profile/:phone', verifyToken, statusConnection, DeviceController.getNumberProfile);\nroutes.get('/api/:session/profile-pic/:phone', verifyToken, statusConnection, DeviceController.getProfilePicFromServer);\nroutes.get('/api/:session/profile-status/:phone', verifyToken, statusConnection, DeviceController.getStatus);\n\n// Blocklist\nroutes.get('/api/:session/blocklist', verifyToken, statusConnection, DeviceController.getBlockList);\nroutes.post('/api/:session/block-contact', verifyToken, statusConnection, DeviceController.blockContact);\nroutes.post('/api/:session/unblock-contact', verifyToken, statusConnection, DeviceController.unblockContact);\n\n// Device\nroutes.get('/api/:session/get-battery-level', verifyToken, statusConnection, DeviceController.getBatteryLevel);\nroutes.get('/api/:session/host-device', verifyToken, statusConnection, DeviceController.getHostDevice);\nroutes.get('/api/:session/get-phone-number', verifyToken, statusConnection, DeviceController.getPhoneNumber);\n\n// Profile\nroutes.post(\n '/api/:session/set-profile-pic',\n upload.single('file'),\n verifyToken,\n statusConnection,\n DeviceController.setProfilePic\n);\nroutes.post('/api/:session/profile-status', verifyToken, statusConnection, DeviceController.setProfileStatus);\nroutes.post('/api/:session/change-username', verifyToken, statusConnection, DeviceController.setProfileName);\n\n// Business\nroutes.get(\n '/api/:session/get-business-profiles-products',\n verifyToken,\n statusConnection,\n OrderController.getBusinessProfilesProducts\n);\nroutes.get('/api/:session/get-order-by-messageId', verifyToken, statusConnection, OrderController.getOrderbyMsg);\n\nroutes.post('/api/:session/chatwoot', DeviceController.chatWoot);\n\n// Api Doc\nroutes.use('/api-docs', swaggerUi.serve);\nroutes.get('/api-docs', swaggerUi.setup(swaggerDocument));\n\n//k8s\nroutes.get('/healthz', HealthCheck.healthz);\nroutes.get('/unhealthy', HealthCheck.unhealthy);\n\nexport default routes;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["upload","multer","uploadConfig","routes","Router","post","encryptSession","get","SessionController","showAllSessions","startAllSessions","verifyToken","checkConnectionSession","getMediaByMessage","getSessionState","getQrCode","startSession","statusConnection","logOutSession","closeSession","subscribePresence","downloadMediaByMessage","killServiceWorker","restartService","MessageController","sendMessage","single","sendImage","replyMessage","sendFile","sendFile64","sendVoice","sendVoice64","sendStatusText","sendLinkPreview","sendLocation","sendMentioned","sendButtons","sendListMessage","GroupController","getAllBroadcastList","getAllGroups","getGroupMembers","getGroupAdmins","getGroupInviteLink","revokeGroupInviteLink","getGroupMembersIds","createGroup","leaveGroup","joinGroupByCode","addParticipant","removeParticipant","promoteParticipant","demoteParticipant","getGroupInfoFromInviteLink","setGroupDescription","setGroupProperty","setGroupSubject","setMessagesAdminsOnly","setGroupProfilePic","changePrivacyGroup","DeviceController","getAllChats","getAllChatsWithMessages","getAllMessagesInChat","getAllNewMessages","getUnreadMessages","getAllUnreadMessages","getChatById","getMessageById","getChatIsOnline","getLastSeen","getListMutes","loadAndGetAllMessagesInChat","getMessages","archiveChat","archiveAllChats","clearChat","deleteChat","deleteAllChats","deleteMessage","forwardMessages","markUnseenMessage","pinChat","sendContactVcard","sendMute","sendSeen","setChatState","setTemporaryMessages","setTyping","starMessage","rejectCall","sendTextStorie","sendImageStorie","sendVideoStorie","checkNumberStatus","getAllContacts","getContact","getNumberProfile","getProfilePicFromServer","getStatus","getBlockList","blockContact","unblockContact","getBatteryLevel","getHostDevice","getPhoneNumber","setProfilePic","setProfileStatus","setProfileName","OrderController","getBusinessProfilesProducts","getOrderbyMsg","chatWoot","use","swaggerUi","serve","setup","swaggerDocument","HealthCheck","healthz","unhealthy"],"sources":["../../src/routes/index.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Router } from 'express';\nimport { encryptSession } from '../controller/encryptController';\nimport * as MessageController from '../controller/messageController';\nimport * as GroupController from '../controller/groupController';\nimport * as DeviceController from '../controller/deviceController';\nimport * as SessionController from '../controller/sessionController';\nimport * as OrderController from '../controller/orderController';\nimport * as HealthCheck from '../middleware/healthCheck';\nimport verifyToken from '../middleware/auth';\nimport statusConnection from '../middleware/statusConnection';\nimport multer from 'multer';\nimport uploadConfig from '../config/upload';\nimport swaggerUi from 'swagger-ui-express';\nimport swaggerDocument from '../swagger.json';\n\nconst upload = multer(uploadConfig);\nconst routes = new Router();\n\n// Generate Token\nroutes.post('/api/:session/:secretkey/generate-token', encryptSession);\n\n// All Sessions\nroutes.get('/api/:secretkey/show-all-sessions', SessionController.showAllSessions);\nroutes.post('/api/:secretkey/start-all', SessionController.startAllSessions);\n\n// Sessions\nroutes.get('/api/:session/check-connection-session', verifyToken, SessionController.checkConnectionSession);\nroutes.get('/api/:session/get-media-by-message/:messageId', verifyToken, SessionController.getMediaByMessage);\nroutes.get('/api/:session/status-session', verifyToken, SessionController.getSessionState);\nroutes.get('/api/:session/qrcode-session', verifyToken, SessionController.getQrCode);\nroutes.post('/api/:session/start-session', verifyToken, SessionController.startSession);\nroutes.post('/api/:session/logout-session', verifyToken, statusConnection, SessionController.logOutSession);\nroutes.post('/api/:session/close-session', verifyToken, SessionController.closeSession);\nroutes.post('/api/:session/subscribe-presence', verifyToken, SessionController.subscribePresence);\nroutes.post('/api/:session/download-media', verifyToken, statusConnection, SessionController.downloadMediaByMessage);\nroutes.post('/api/:session/kill-service-workier', verifyToken, statusConnection, SessionController.killServiceWorker);\nroutes.post('/api/:session/restart-service', verifyToken, statusConnection, SessionController.restartService);\n\n// Messages\nroutes.post('/api/:session/send-message', verifyToken, statusConnection, MessageController.sendMessage);\nroutes.post(\n '/api/:session/send-image',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImage\n);\nroutes.post('/api/:session/send-reply', verifyToken, statusConnection, MessageController.replyMessage);\nroutes.post(\n '/api/:session/send-file',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendFile\n);\nroutes.post('/api/:session/send-file-base64', verifyToken, statusConnection, MessageController.sendFile64);\nroutes.post('/api/:session/send-voice', verifyToken, statusConnection, MessageController.sendVoice);\nroutes.post('/api/:session/send-voice-base64', verifyToken, statusConnection, MessageController.sendVoice64);\nroutes.post('/api/:session/send-status', verifyToken, statusConnection, MessageController.sendStatusText);\nroutes.post('/api/:session/send-link-preview', verifyToken, statusConnection, MessageController.sendLinkPreview);\nroutes.post('/api/:session/send-location', verifyToken, statusConnection, MessageController.sendLocation);\nroutes.post('/api/:session/send-mentioned', verifyToken, statusConnection, MessageController.sendMentioned);\nroutes.post('/api/:session/send-buttons', verifyToken, statusConnection, MessageController.sendButtons);\nroutes.post('/api/:session/send-list-message', verifyToken, statusConnection, MessageController.sendListMessage);\n\n// Group\nroutes.get('/api/:session/all-broadcast-list', verifyToken, statusConnection, GroupController.getAllBroadcastList);\nroutes.get('/api/:session/all-groups', verifyToken, statusConnection, GroupController.getAllGroups);\nroutes.get('/api/:session/group-members/:groupId', verifyToken, statusConnection, GroupController.getGroupMembers);\nroutes.get('/api/:session/group-admins/:groupId', verifyToken, statusConnection, GroupController.getGroupAdmins);\nroutes.get(\n '/api/:session/group-invite-link/:groupId',\n verifyToken,\n statusConnection,\n GroupController.getGroupInviteLink\n);\nroutes.get(\n '/api/:session/group-revoke-link/:groupId',\n verifyToken,\n statusConnection,\n GroupController.revokeGroupInviteLink\n);\nroutes.get(\n '/api/:session/group-members-ids/:groupId',\n verifyToken,\n statusConnection,\n GroupController.getGroupMembersIds\n);\nroutes.post('/api/:session/create-group', verifyToken, statusConnection, GroupController.createGroup);\nroutes.post('/api/:session/leave-group', verifyToken, statusConnection, GroupController.leaveGroup);\nroutes.post('/api/:session/join-code', verifyToken, statusConnection, GroupController.joinGroupByCode);\nroutes.post('/api/:session/add-participant-group', verifyToken, statusConnection, GroupController.addParticipant);\nroutes.post('/api/:session/remove-participant-group', verifyToken, statusConnection, GroupController.removeParticipant);\nroutes.post(\n '/api/:session/promote-participant-group',\n verifyToken,\n statusConnection,\n GroupController.promoteParticipant\n);\nroutes.post('/api/:session/demote-participant-group', verifyToken, statusConnection, GroupController.demoteParticipant);\nroutes.post(\n '/api/:session/group-info-from-invite-link',\n verifyToken,\n statusConnection,\n GroupController.getGroupInfoFromInviteLink\n);\nroutes.post('/api/:session/group-description', verifyToken, statusConnection, GroupController.setGroupDescription);\nroutes.post('/api/:session/group-property', verifyToken, statusConnection, GroupController.setGroupProperty);\nroutes.post('/api/:session/group-subject', verifyToken, statusConnection, GroupController.setGroupSubject);\nroutes.post('/api/:session/messages-admins-only', verifyToken, statusConnection, GroupController.setMessagesAdminsOnly);\nroutes.post(\n '/api/:session/group-pic',\n upload.single('file'),\n verifyToken,\n statusConnection,\n GroupController.setGroupProfilePic\n);\nroutes.post('/api/:session/change-privacy-group', verifyToken, statusConnection, GroupController.changePrivacyGroup);\n\n// Chat\nroutes.get('/api/:session/all-chats', verifyToken, statusConnection, DeviceController.getAllChats);\nroutes.get(\n '/api/:session/all-chats-with-messages',\n verifyToken,\n statusConnection,\n DeviceController.getAllChatsWithMessages\n);\nroutes.get(\n '/api/:session/all-messages-in-chat/:phone',\n verifyToken,\n statusConnection,\n DeviceController.getAllMessagesInChat\n);\nroutes.get('/api/:session/all-new-messages', verifyToken, statusConnection, DeviceController.getAllNewMessages);\nroutes.get('/api/:session/unread-messages', verifyToken, statusConnection, DeviceController.getUnreadMessages);\nroutes.get('/api/:session/all-unread-messages', verifyToken, statusConnection, DeviceController.getAllUnreadMessages);\nroutes.get('/api/:session/chat-by-id/:phone', verifyToken, statusConnection, DeviceController.getChatById);\nroutes.get('/api/:session/message-by-id/:messageId', verifyToken, statusConnection, DeviceController.getMessageById);\nroutes.get('/api/:session/chat-is-online/:phone', verifyToken, statusConnection, DeviceController.getChatIsOnline);\nroutes.get('/api/:session/last-seen/:phone', verifyToken, statusConnection, DeviceController.getLastSeen);\nroutes.get('/api/:session/list-mutes/:type', verifyToken, statusConnection, DeviceController.getListMutes);\nroutes.get(\n '/api/:session/load-messages-in-chat/:phone',\n verifyToken,\n statusConnection,\n DeviceController.loadAndGetAllMessagesInChat\n);\nroutes.get('/api/:session/get-messages/:phone', verifyToken, statusConnection, DeviceController.getMessages);\n\nroutes.post('/api/:session/archive-chat', verifyToken, statusConnection, DeviceController.archiveChat);\nroutes.post('/api/:session/archive-all-chats', verifyToken, statusConnection, DeviceController.archiveAllChats);\nroutes.post('/api/:session/clear-chat', verifyToken, statusConnection, DeviceController.clearChat);\nroutes.post('/api/:session/delete-chat', verifyToken, statusConnection, DeviceController.deleteChat);\nroutes.post('/api/:session/delete-all-chats', verifyToken, statusConnection, DeviceController.deleteAllChats);\nroutes.post('/api/:session/delete-message', verifyToken, statusConnection, DeviceController.deleteMessage);\nroutes.post('/api/:session/forward-messages', verifyToken, statusConnection, DeviceController.forwardMessages);\nroutes.post('/api/:session/mark-unseen', verifyToken, statusConnection, DeviceController.markUnseenMessage);\nroutes.post('/api/:session/pin-chat', verifyToken, statusConnection, DeviceController.pinChat);\nroutes.post('/api/:session/contact-vcard', verifyToken, statusConnection, DeviceController.sendContactVcard);\nroutes.post('/api/:session/send-mute', verifyToken, statusConnection, DeviceController.sendMute);\nroutes.post('/api/:session/send-seen', verifyToken, statusConnection, DeviceController.sendSeen);\nroutes.post('/api/:session/chat-state', verifyToken, statusConnection, DeviceController.setChatState);\nroutes.post('/api/:session/temporary-messages', verifyToken, statusConnection, DeviceController.setTemporaryMessages);\nroutes.post('/api/:session/typing', verifyToken, statusConnection, DeviceController.setTyping);\nroutes.post('/api/:session/star-message', verifyToken, statusConnection, DeviceController.starMessage);\nroutes.post('/api/:session/reject-call', verifyToken, statusConnection, DeviceController.rejectCall);\n\n// Status\nroutes.post('/api/:session/send-text-storie', verifyToken, statusConnection, MessageController.sendTextStorie);\nroutes.post(\n '/api/:session/send-image-storie',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImageStorie\n);\nroutes.post(\n '/api/:session/send-video-storie',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendVideoStorie\n);\n\n// Contact\nroutes.get(\n '/api/:session/check-number-status/:phone',\n verifyToken,\n statusConnection,\n DeviceController.checkNumberStatus\n);\nroutes.get('/api/:session/all-contacts', verifyToken, statusConnection, DeviceController.getAllContacts);\nroutes.get('/api/:session/contact/:phone', verifyToken, statusConnection, DeviceController.getContact);\nroutes.get('/api/:session/profile/:phone', verifyToken, statusConnection, DeviceController.getNumberProfile);\nroutes.get('/api/:session/profile-pic/:phone', verifyToken, statusConnection, DeviceController.getProfilePicFromServer);\nroutes.get('/api/:session/profile-status/:phone', verifyToken, statusConnection, DeviceController.getStatus);\n\n// Blocklist\nroutes.get('/api/:session/blocklist', verifyToken, statusConnection, DeviceController.getBlockList);\nroutes.post('/api/:session/block-contact', verifyToken, statusConnection, DeviceController.blockContact);\nroutes.post('/api/:session/unblock-contact', verifyToken, statusConnection, DeviceController.unblockContact);\n\n// Device\nroutes.get('/api/:session/get-battery-level', verifyToken, statusConnection, DeviceController.getBatteryLevel);\nroutes.get('/api/:session/host-device', verifyToken, statusConnection, DeviceController.getHostDevice);\nroutes.get('/api/:session/get-phone-number', verifyToken, statusConnection, DeviceController.getPhoneNumber);\n\n// Profile\nroutes.post(\n '/api/:session/set-profile-pic',\n upload.single('file'),\n verifyToken,\n statusConnection,\n DeviceController.setProfilePic\n);\nroutes.post('/api/:session/profile-status', verifyToken, statusConnection, DeviceController.setProfileStatus);\nroutes.post('/api/:session/change-username', verifyToken, statusConnection, DeviceController.setProfileName);\n\n// Business\nroutes.get(\n '/api/:session/get-business-profiles-products',\n verifyToken,\n statusConnection,\n OrderController.getBusinessProfilesProducts\n);\nroutes.get('/api/:session/get-order-by-messageId', verifyToken, statusConnection, OrderController.getOrderbyMsg);\n\nroutes.post('/api/:session/chatwoot', DeviceController.chatWoot);\n\n// Api Doc\nroutes.use('/api-docs', swaggerUi.serve);\nroutes.get('/api-docs', swaggerUi.setup(swaggerDocument));\n\n//k8s\nroutes.get('/healthz', HealthCheck.healthz);\nroutes.get('/unhealthy', HealthCheck.unhealthy);\n\nexport default routes;\n"],"mappings":"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"}
package/dist/swagger.json CHANGED
@@ -3619,6 +3619,116 @@
3619
3619
  "deprecated": false
3620
3620
  }
3621
3621
  },
3622
+
3623
+ "/archive-all-chats": {
3624
+ "post": {
3625
+ "tags": ["Chat"],
3626
+ "summary": "Archive all chats",
3627
+ "description": "Archive all chats in device",
3628
+ "operationId": "archiveAllChats",
3629
+ "parameters": [],
3630
+ "requestBody": {
3631
+ "description": "",
3632
+ "content": {
3633
+ "application/json": {
3634
+ "schema": {
3635
+ "$ref": "#/components/schemas/archiveAllChatsRequest"
3636
+ },
3637
+ "example": {}
3638
+ }
3639
+ },
3640
+ "required": true
3641
+ },
3642
+ "responses": {
3643
+ "200": {
3644
+ "description": "OK",
3645
+ "headers": {
3646
+ "X-Powered-By": {
3647
+ "content": {
3648
+ "text/plain": {
3649
+ "schema": {
3650
+ "type": "string"
3651
+ },
3652
+ "example": "Express"
3653
+ }
3654
+ }
3655
+ },
3656
+ "Access-Control-Allow-Origin": {
3657
+ "content": {
3658
+ "text/plain": {
3659
+ "schema": {
3660
+ "type": "string"
3661
+ },
3662
+ "example": "*"
3663
+ }
3664
+ }
3665
+ },
3666
+ "Content-Length": {
3667
+ "content": {
3668
+ "text/plain": {
3669
+ "schema": {
3670
+ "type": "string"
3671
+ },
3672
+ "example": "36"
3673
+ }
3674
+ }
3675
+ },
3676
+ "ETag": {
3677
+ "content": {
3678
+ "text/plain": {
3679
+ "schema": {
3680
+ "type": "string"
3681
+ },
3682
+ "example": "W/\"24-Xm9Fmv/piJ8aftrp5VK0tqiuuAc\""
3683
+ }
3684
+ }
3685
+ },
3686
+ "Date": {
3687
+ "content": {
3688
+ "text/plain": {
3689
+ "schema": {
3690
+ "type": "string"
3691
+ },
3692
+ "example": "Fri, 14 May 2021 13:37:24 GMT"
3693
+ }
3694
+ }
3695
+ },
3696
+ "Connection": {
3697
+ "content": {
3698
+ "text/plain": {
3699
+ "schema": {
3700
+ "type": "string"
3701
+ },
3702
+ "example": "keep-alive"
3703
+ }
3704
+ }
3705
+ },
3706
+ "Keep-Alive": {
3707
+ "content": {
3708
+ "text/plain": {
3709
+ "schema": {
3710
+ "type": "string"
3711
+ },
3712
+ "example": "timeout=5"
3713
+ }
3714
+ }
3715
+ }
3716
+ },
3717
+ "content": {
3718
+ "application/json; charset=utf-8": {
3719
+ "schema": {
3720
+ "$ref": "#/components/schemas/archiveAllChatsRequest"
3721
+ },
3722
+ "example": {
3723
+ "status": "success"
3724
+ }
3725
+ }
3726
+ }
3727
+ }
3728
+ },
3729
+ "deprecated": false
3730
+ }
3731
+ },
3622
3732
  "/clear-chat": {
3623
3733
  "post": {
3624
3734
  "tags": ["Chat"],
@@ -3844,6 +3954,116 @@
3844
3954
  "deprecated": false
3845
3955
  }
3846
3956
  },
3957
+ "/delete-all-chats": {
3958
+ "post": {
3959
+ "tags": ["Chat"],
3960
+ "summary": "Delete all Chat",
3961
+ "description": "Deletes all chats",
3962
+ "operationId": "DeleteAllChats",
3963
+ "parameters": [],
3964
+ "requestBody": {
3965
+ "description": "",
3966
+ "content": {
3967
+ "application/json": {
3968
+ "schema": {
3969
+ "$ref": "#/components/schemas/DeleteAllChatsRequest"
3970
+ },
3971
+ "example": {}
3972
+ }
3973
+ },
3974
+ "required": true
3975
+ },
3976
+ "responses": {
3977
+ "200": {
3978
+ "description": "OK",
3979
+ "headers": {
3980
+ "X-Powered-By": {
3981
+ "content": {
3982
+ "text/plain": {
3983
+ "schema": {
3984
+ "type": "string"
3985
+ },
3986
+ "example": "Express"
3987
+ }
3988
+ }
3989
+ },
3990
+ "Access-Control-Allow-Origin": {
3991
+ "content": {
3992
+ "text/plain": {
3993
+ "schema": {
3994
+ "type": "string"
3995
+ },
3996
+ "example": "*"
3997
+ }
3998
+ }
3999
+ },
4000
+ "Content-Length": {
4001
+ "content": {
4002
+ "text/plain": {
4003
+ "schema": {
4004
+ "type": "string"
4005
+ },
4006
+ "example": "63"
4007
+ }
4008
+ }
4009
+ },
4010
+ "ETag": {
4011
+ "content": {
4012
+ "text/plain": {
4013
+ "schema": {
4014
+ "type": "string"
4015
+ },
4016
+ "example": "W/\"3f-q668acKEQBOoHvDmmrr2pSlP/zk\""
4017
+ }
4018
+ }
4019
+ },
4020
+ "Date": {
4021
+ "content": {
4022
+ "text/plain": {
4023
+ "schema": {
4024
+ "type": "string"
4025
+ },
4026
+ "example": "Thu, 13 May 2021 19:26:37 GMT"
4027
+ }
4028
+ }
4029
+ },
4030
+ "Connection": {
4031
+ "content": {
4032
+ "text/plain": {
4033
+ "schema": {
4034
+ "type": "string"
4035
+ },
4036
+ "example": "keep-alive"
4037
+ }
4038
+ }
4039
+ },
4040
+ "Keep-Alive": {
4041
+ "content": {
4042
+ "text/plain": {
4043
+ "schema": {
4044
+ "type": "string"
4045
+ },
4046
+ "example": "timeout=5"
4047
+ }
4048
+ }
4049
+ }
4050
+ },
4051
+ "content": {
4052
+ "application/json; charset=utf-8": {
4053
+ "schema": {
4054
+ "$ref": "#/components/schemas/DeleteChat"
4055
+ },
4056
+ "example": {
4057
+ "status": "Success",
4058
+ "message": "Conversas deleteadas com sucesso"
4059
+ }
4060
+ }
4061
+ }
4062
+ }
4063
+ },
4064
+ "deprecated": false
4065
+ }
4066
+ },
3847
4067
  "/delete-message": {
3848
4068
  "post": {
3849
4069
  "tags": ["Chat"],
@@ -4853,7 +5073,8 @@
4853
5073
  },
4854
5074
  "example": {
4855
5075
  "phone": "554498005216",
4856
- "base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQgAAAEICAYAAACj9mr/AAAbDElEQVR4Xu3dUZIcxw0E0NUV7HtIYd//DI7QQXyGdQzX9IdZ1drXTLC7ydQnhUWhEoksFKan57e//f6P97eb//fvP//1TYR//+OfFPXKx5GDnX/1s1pDY9/FuYtlMnYC/e3tTWMRe8VxGq/J2BX3lP1vFYg1lJJsTYYSuwLx9jZ5SKRyLX5SHFDuqX0FYoOYJFtBT5Fj+kTUfUm3lIhdcUysmeo6NfZELs74qEBUIM7w5tN/o0Ir9lpkFYhPp+1/hhWICoSzBv5CCv7lVuwrEJCIk6ZLgUgM4s7EI+Q4419aYL33/2jfZ/afwPduRSk43Cn2RC5k739lu4unAjH4aUiKkH+V3M/+/wQpU3tKxPLZfX+1u1PsV+z/zPykAlGBWH5CsCPTnYqsAqEI7O3bQeCsoVeMNQIVCJuTqNDe7XrfDqIdRDuITRVPfurRK8aJ7ucK0FInYoeU64RPFplSLJXrBE8TPnT/4zMIBVjb9EnQ1LfuNfGkXwqvJHE+60tb40l8U7FMits0H1NcoiuGJjUVpCZcTnMlgezpKrw+W9RJO82RYiMCnIpFuSHrViAO2DcJfGooNElgLUzFS/0n7KU4XutN4puKRXGXdSsQFQguAulOzhRZQgg0RhVs8a9FprFUIN7eesVYfJX8TPFJC6yFqkRV/wl7OT2n8U3ForjLuipu2nGJ0B7lowJRgUjoA31UWoHwZykqEPhFHWV1CmBZV06UVNEc+dF4ZK/avqvvyQ4tddqKn3YQD5lBKFHFXgtSRWyyBZZ9HtnqnhJFlopd8U3EnlpTYukV48TUPEGyCoR/WiHETomPrJnq9NpBtIO45F7eK0ZC2j98pE5zuR6l1kyJ3i8/pMzR6VtP7SDaQeyEph1EO4h2EMGrnZzCKdFPneYSe2rNdhAbBPRemjrl1c8q/KtOlURBXUFszXVin2d8VCAQNSWTFJ+SRnxP3+8rEHsiSZEhHcfNJXatDQ1e/f90M4gKhFImY6/E01WlyNT3tL3EfgWORwdfBWLzJOWONHrKC/nUt4qhxKK2VxD7Tvs/wqsCgWxSMsk1QEkjvnvFsCvAEV5Imcgva+maKfsKBCJZgVgD1g7CBEgPA6RpzPyXEYgYYhtHWiASj5IpIWKpNWWfV3U5GqPiK/7v1BVecVUVrL7a7rhKM4gzC8vfVCC+/RVzwe+vkq2Fs1pbRW8XfwVi/ev0iRwlOVOB2KCpBJY2UotGE34nodW9JgRIi2wSr3YQyt4D+8lEKfEqEDYnURoovuK/AiFofdj2ihH6/QsRsZQoabolxpRv9VOB6BVDOUO/7KzOU8UqxZdaM7VXPVk7g8jMhATHRI6UL9xBnFlg8m/kfq8n06T9pO8X3pP+J32nYhexPiqCK/aqh8dkfR35Xg4prwpGBlpPIMcVxEsVwhNifwIHdmJYgQiqTDsIu68mCqcCkXuxrPA3WDYRV+0g8K3WUjhim2q720HMXr1SeWoHEdGvDyeiwHcqyjvFosR+QuyJTklxSdlXICoQo0PEFFF3HUcFoleMFzd+e39/fw/W8g9zpaeHBqb+5UTQ4tPYZdirvmWf6nvaXnG/6iPHaRzEfwVig1YFYg1MBULK6/m2FYgKBLG4AkFwPd64AlGBIBJXIAiuxxtXICoQROIKBMH1eGN6DkKHPDos03v/yr8SWPc0ObjS2J/MPsVd9qo5SvBu92nQ698TH9PL/s/Y0rc5U4Wd8iMJ1yJTokosmiiNXf3fyV5xl9g1RxUI/Lp3qrBTfiThWmRKVIlFSH10AqmfJ9gr7rInzVEFogKx5ZcSVcknxFZxE993s1XcJX7NUQWiAlGBkAr7AbYVCPsC3nRKOoPYIKxE1dNJEtsOIvNr4JqjdhChDkLIfsZWilVsd5PkM/d+IZ8WvO5JMU7EnopRYtE8pWJUfGXmpqJ0FZfoY84UYALkjhxKArXXGFf2VyV1MvYrcKxAeGeVylMFIvQy2wrE+k6dEKsKRAXiC49E9cRWfR91StIat4PYIyk4ViAqEBUIFMgz1z0pyqvuyLt9idjq4XEGS/mbVTxX4Ss4vvbYK0avGEuuX0XgCsT6Vfta2CmRpJ/eS5EmFbyouNrKaZsapKbu67rXxPwksWbKRyJ3Z66lwmuNUbFRQdn5r0BskNEErhIihEnNPZRIiRM7tWbKTyJ3FYiPbFQgKhB0xUgV8aSfCoQPNdtBICMTJGsHgaCHzBO5awfRDuKQjgmSVSBCFY9uErmrQFQgKhAHCKSGXFjbEfMKRPCKsXrtvX5akRp0aWIjbAo5mRxSaoiJzkVzkeKM7HV6TfWv9qu9qo+UkO/yvXwnpQZZgVgrdqJQpWC+2ibWrUDM/nCO1kwip0dcqkCcqTT4m3YQP/79BqmDbLpYRWx1T+0goEivNK1AVCC0uHvFGHyM+Uox+Gxip9vCHQaJdeXUe8WRKA7N6fSa6l/tP8ujM5+oKJa9YihiaN8Ooh3ETykQf/v9H9/8eK+eHlhLW/MEwKlY1I8IRML30amSulPLCafdjMYomCU6qDP4yp60xlK1oX7oUWtJ0hlbDf7MGlN/U4FYI5sqBMlbBWKPltZYBUKYd2BbgahAtIMIFZMAmWz1JsOvQFQghNepzmraTzuIkGpUICoQFYhQMQmQ7SByHyHq/bNDyvXbnbQMEodHInevuNXP8lFrBUDtNUgBePrJMhW3lb0O0abtJX+pllbW3B0SqVzvYkntdeUnUQOK4ZnDtgKxQTlFjgqEvQ5firUC4RKhvK5AVCCIZUqwVBHLKUwbOjBO7VVi125R96p7qkBUIIhjSrAKxPr3XnrFOKBdApy7Ka0UgsY+bS8KUYHYoyW8Ftuj4aLkrjOIgyntNJAViDXCgstRjqRN11zL3OPItxS92F4qEPJdjNSm9ESUhKtvPRElFrVNFZOu+1T7VK6neb3CN7WmipuuSw9KqfOUvRA4RRpZM2VbgTAkU7lO8VQOm9SaFQjjDP0A8Jk7GYZD5hUIgiuW61SxViA2L4CZVnKhTSoWWTNlW4EwJFO5rkCsP2l5ZaNXjD8zj9MatWcHeolYnuCjArHPUgqbS37dW1qx3QQ3BUCqEORxcF3zTp2F4q57FXvl0c73NL6JT2Cuwr0CIYw8sK1AZB6plnRUIHI/kLPDvQIhjKxA8GAwBO/STQWiAvGFGHI668ApRWCJUdecboElnqta3VWMFYgKRAUi+HSoCMHOtgLhKHYGgZip8svp3A4Ck4HmFQgE7M2+rHU3YaZvc2rxXdEaq/houmVPWkwp+8S0fhpHxV3sJUdHfhUDrY/V2upD96ocq0AI87Dd12Sk7CsQmU9UKhBvbxWICsToJwQIb8RcT1Vt61WARWjaQUQosHciyTgTipAv1REoaZTAk58QnMH4e/9GctQrxgcCO8zaQSAbhXwVCAQ3ZC45qkBUIEK0OwZSTmHtCNS+HURnEHpt2nYQqxfGqPNoBX6nMy0mPW3kCqO+v3Pr//tz7VxkXfWdsl/FqPhqLFoHEs90LJLTwytGBcJOmwrE+tuvKWGexHe6KCsQN/pqtLbR0+RInHCq+pMnXMq34l6BmDuwjvjVK8ZG3ET1XwBPErgCMYuvilVKJBPzKY1FuVSBqEBsP8oSMmmRpewTHZrGokUph810LJLTziAOTn5JajuI/QnfGYR9s/IxAvH+/v7+/2qjRTOptKqEKftUAqW91LmK4p7A5gohSMR9dEpqrtVeOKC1p7Go/fJBKQ1SiZrynyLOZALFdwViMqP7E16LRu2FA1obGovaVyA2nFQghdoy6Dw6+VSYJUYVK8VLMXhC7FLcipfmOtXpVSAqEFR7KeJVIOx5kgoE0XTeOKXw0l7qqa2kSaBWgfBBrXBAupCXX+Wp2reDaAdBulGB8KJ8tEDIo9bEJHyoSH2rvSqzns4p/7IvPQ10TxLLFcKRWlNxuVOuU13nzs/oa++vuGdOA5YqSim+aQIn8pQqVoklteY0vpO5nuZ7BQKzV4FYA5Yq1grEGl/B5eUh1eVUICoQ9P0SPbFUUKUQUqLUDmJfBBWICkQF4oJBNdKOc9QOAhFOAaYnIoZJ5qlY5NRuB5Fr3yXZmqMU3yMdRIqoApjaaoyakFU8bYFnH29WfFPipn6Uq2KvPFXMKhB/rF/QocBXIOzJwIRgK9m1sJUDqVO7AiEIhGwThNRQlMBKMN2Txi/2GkvCXvGtQHhH1w6iHYTowNY2UfBHH8+t/Fcg7A1ciu/LvgJRgahAhDigHWAC+NQ1aOenAhEiR2cQnUH8lAKxeqOUKpsCo6rX4rPi2+VvEnfljMaoHFv512vQ9J7Ef2L/st5XW/rpPR3yKAlkA3r/VICvItMksSsQGaEVnr5sn4D7bk8ViA0yFYg1MCq0qWJKrHtVTisQm3t8Owgtj7V9ithPIGpqr5OdmGb1Cbi3gwiJWOIkSxFMY3kCUSsQ13RuFYgKxCPuwhWImwmEvFEqlTz1Iw/JpE5n9SOftExevV6+EwPcRI6OMEzEmMjRGR8JbFL711h0v/QcRCoY9VOBsLQmyJfIUQXiAwHhbwp3vX5urxjtINYffVlJZtrCxIygHUQic8c+EkWcEPGd+BxxQNFpB7H5UV8FslcME9pUgSTypD4qEBvEFBi9awtpUi1U6tSuQFQgEvzVGlN7FcNIB7FbVADTwO8mEKt4NHkqVoqB+r9C9HRPqxh1n4k1j/ir8QjuKY7tMKhAhK4YFYh1iWhxJIr1ijUrECeeKW8HYc/+TxNb/ctJptdJ7Tqlw9R9JkSpAlGBOORoO4h2ECmRFGHuFWODekr19bSRky+VPFnzqpMsVRyJvGpOE2tehXuKY51B4Ccz0tK+bNtBtINIieStOgh5Ycy00mpRJuynFfgJU/YEjqniuGJupRyYxCvlO7Uneh9EBWL2p99TV4kUyRJ+Uu2++pk8hRO4TPuoQIQQViDVvh3E7ANUQgPtTp58ICZ4+sK2HcTmOYhJMulp+DMSVbslxawdhH3EvstHBaICIYcw22phqzBLQOr7ZxRm3VMFogIhNca2FQiGLPIHo1eMlNIqOQQZjVF8v2xVaVd71RjvZj/ZpqcInJjxKDcS9gl+HfE0he+yg5gm6iTAKVFKJHAax2n/FYgEU9c+EvyqQBzkR4tDU51IoMZ4N/sKhLLm8/YJflUgKhBfENB2MWVfgfh8watlBeLEl7sEZD1txXdnEHu0FPeUveQvdc2UNdW2AlGBiLxduh2Ell7mp+58VfuLxwiEvLR2B4G2tAbl2jp1SmiiJPZUjLs19XSW2NU2haNwSWyPhFb3qvYrbJQbmmu13+2J3ihVgTBqKAnMu//+hfoX+wqEXcuUG1rwal+B2CCQIvbKvZJACvJoTjK97irOFI7SFYhtO4iPrCk32kHgT/JJEWsyxHcFIvfpjuKu9r1i4OPKCvDk6Zw6+SZj7AzimhfyJHi6E3I9PPTKoPa9YvSKkeL70k9KaOXaILZn2usUYI/uIFZvlEqpT8qPJEqJqiSTWNS32u9iSZ1Osle11b3KnqZ5p/4TAqFdpOZj20FUIDLfm5crRoJgRwSQYjqaZaRINonNyrfiq/tU/xUIbN+VwJLAdhA+qVbMJB/a5WjxVSD+mUjH1kfk25za/lQg1knVtluLT/M0yTzdq3AmITJHe1f/7SDaQSwRSBWBnvBSTL1iuAxWIDbPBqSIp34khaliUj+T92yNRfFV/5IP7XK0+HrFGL5irL6LoSdfgjDqQ2NUe41H7FMFrHvSdWVPKjJPiEX3pGIo4ia5eNkqvru9Lp+kVOJp8Al7jVHtEzEmCHN0BdA9KWkEAy2mJ8Sie0rk+4o1jzhWgRh81DpBmAqEyNSHrRaZCq1GJGKosU9zrAJRgVC+L+2V2FI0GmAqFvWTKNYr1mwHceK1bUpKsdfi0MGd2kvsO1sltmIgMaZiUT8ViAtOWwVdiyNFAiGwFkdqT7qu7ElxfEIsuifl6sr+ijW5g9CNKoGFeGqbikUTtSJ8wscd79SSExUCyZ/YHsWseUrVh+Cotqm5Cr0PQhdVcigIosAai5KmArHOXgp3wTe1pvJR60P9i30qlgrEBvUKhNBxb5sq1gqE5aMCgYWdIqq0lwmR6RXjA/EKRAXCEKhAbPFKnR6JhKSEuQJh2UhxgH7dexeinpS2VTs91LfaC/BaHNP4JmK/Ite7Lmoa32n/q3zrmjqo1fxVIFAhEkWGS/KTgXIN0uJTgule74SvFmtC4HXNCgTeP5WQan8nAl8RewVCUbdHvysQji8NqE64pz+pQMx+vfhO+GqxtoPAwSBV3oGxDKhSa0626Rpj6tROFF8qlifgW4F4e+sMAqs1UWS4ZGcQm29oThfwtP/HDin1lFAgE4MVKdRXItReT7iVfWKfR7EnWloVK8VFuZSKR/yk+KvYSIwpHLUO6KW1KQAShaMbVfvEXhP7rEBIGZ2zrUDsB6kVCPyGqpCpAmET/HPl/f1/JTl9raanufqXblR3rwdlBaICoRxb2ivxIouGnGgBVyAGi+ZIgYVkYtsZRKiSDtxoPuYj+vwKFYheMTqk/Hy9nLKsQOxhUwG61RVj9dr7UwyBP0qQKQH6UciTbaT61oFpwr/iq/OW3Z4kdo0RKBo1Xe0pUQPJzni3YXofRAq1BDjT5BCi6icN6rsCsUZgmgMpvlcgEMkKROZx5QSOKj568msRi3iqb6RpzLwCgVAmiD1NDiFqO4j9kEvzJLirb6RpzLwCgVBWINpBaCeysq9A5J4Q7gwCRUxOsnYQ7SB04J04JH+5ISXW8NJcp+mT9pMik8BKST295rT/q4pSOp1pzijfb/UpRoIgCsCk/XSyE3glWv3JOJK+KxDe6VUgNk+NKplW9hWIZHl/vy/NqX7Co4fNyv80ZzTGCkQFgq5q31+m13moQLSD2H7TTsmRsJ8+DSZLTWOfjCXlW3PaDuLtrR1EO4h2EKEvJ2r7/ogrxvv7+3tKof/fjwJ2p1NLJs+vfcvDMKnBYCJG/YhWuaIcSGGjcYp9qhNZrTnp+yjXuzxF3kmpSZ0GQZKtbaTsNVXAkzFWIJwtk/yd9F2B8Fxv/yJR3AkfR1tK+Vc/AnM7CEFr/slIFaB2EJv8adH0irEGsgJRgdgioOToDMK+o5EQsV4xrIDPtOmygp7w4vtM7O0g2kFs37al5FvZ6yEhM55EfGd8TBbxpO+YQEyf5HryCfFSA70zxPnev0nhriRLPAX6BNynxSrB6+/l0Ne/T+018lZr3VQCSC2mxJq6T7XXPWlRCmmmY1FsEvay/6P1Un4Se9KOS+ugAjGZJfQ9XZRC7OlYEJqIuey/AvGBQAUiQr2Mk+milAKZjiWDmHmR/VcgKhDGrh9gPV2UUiDTsfwAOL9ZQvZfgahAXMHRwzWni1IKZDqWK8CX/Vcg/isQq9/F0EGGkkmn7KtkXRWjDIU0RvH9sk3gOF2oioEUsdi+9qk8ncbmTv53eVp+mzOV1B0ACWJfFaMUscYovisQ/m6DCsRekioQoa/0ShFXIPZdjuC4E8N2ELkepAJRgcixCTypSErRi22vGMdJq0BUIKCsc6YViByWk54qEBWISX5tfVcgLoGdF90KxOQbpThK+IO7tZfyfQYd0qq9DocB9vFPAlJ7Xe1Jfav9nXDX2CsQ2EFI0UwP0TTZdyJqAsfU/EBxVPs74a6xVyAqEJGvdU9/VKjEFgFS32pfgZBsDNv2iuEP/ug8YJXCCsQzcFdxawfRDqIdxJ//Wh5b04fNFcIcE4jVo9bDhz+7nwQ44VvvyFesuZuT7GJPEWyy45jGUf2L0Iit8uuowHRPl/xwjiqEbkpa44RvTeAVa1Yg9qzTYt15Ej9iq/yqQKjCHHxR54pivWLNCkQF4ogDO3TaQWzupapB0kpXIBTdtf00jupfugKxbQfxF3zRRPWKYQW1ImtnED/nF820ltpBtIOg3xW96uRbSZ6SPTE7ODrLBBuxvV0HkQJeG0kF7amdglxHFMPkgOoKfGW/0zhqHST4qyImeJ3hRuSFMakgEwAnfJw5JeSEmyb2Ln4lfAVi/dyEFvEk7qna2z4olXjlXCrIRHEnfFQg5if+Cc5MC60W9iT3rtprOwhkqiRKB30YCpsr4dtBtIOoQGCZVSDWPzCcEB9MxWVfPe8VIzTZTyVcyDfZ5uk0uR2EMsDsRazN84e18O6IG+pHOrcz+5J5GXUQqYRo4azsU0Kge5LYlRiTsaSIpAPQVJ4kfsVR96QdhMSutimORYaU08ALmcQ2NXQ8OlXkYaMUwUSslHhqr7EosSWeaZ6m8id7mhaxCsQGYSWTFIIWwWQsCTIe+RBczrTvEr/iOF18ErvapjhWgahAKPfIvgLhL5IhgDfGFYjNsKhXjHv99F4FogIR+1gpQaYKRAViehaQOp0TncL0NeiXuWIokKn7aoIESsjJAlERT+EuGOghkcq1xKg5UtzVXvP0033MqQCkSFOBWCOgBJbiq0Dkush2EPjC0kTBqw8pjiPfCdHTwk4Js2BQgahAfOGdPCiVIqoWd8JeiqMCsR8KpsRNuSQcSIlbaq/tINpBCH+3jxlrd6IEFpFMFRkBc+IR7JX/VOyKr4peZxDDv5ch5JPiaAfRDmLXXb/+PSXkjxWI1HRY/UwWvJ4qEssRaeQKN31iCbFTsSiOuu4kvhrLL9NBaGHr6SxEVdCnY0/4V7FSvBLETvhQcThzalcgEGVNrBS3EluLSbYqcesJL3F8tRVsxDbZ0orQKI/OYLb6G123AoHIJwDWwk4Vq2w1tab6SWBTgdhnOsHfFL4ai3a7nUFsEJOTTEFPFLAIVTuIM2hVIF4IVCAqEPScyfSJJcKcikXlQ9f9Za4YCqTaS9sltsk7suxJY9TOYrpzkb0miuZMniTGFF6JNUUIE+ud9UEdxNlFPvt3UlBie4Z4iXu/xliB8M/vP8utI7tErjWOCoQihr/ArcWnCUmQRmOsQFQgTpTN6J+0g9jAW4Ew3vWKYXjpgWXec9YViAoEP5a7gqwCYUVZgTC8vlhLSy62nUEcJyNB1gqEET6Bua14znrZQZxzNfdX8jHRLooUgWWXTxCx6bnHNAbSzUju9MA68i1icAVPj2KvQGy+zXnFDEKI9EpqIsYKxL48VNwSWFYgVMYvemFMoviUYBWIzKcYidy1g/go1HYQ7SCWkp0Sq2mR7BXDfoFcz+cKRAWiArGpGhW3XjFUfkL2HVKugUy10ivv7SDsU7WfdUj5HznvJrq6KG7aAAAAAElFTkSuQmCC",
5076
+ "filename": "sample-pdf.pdf",
5077
+ "base64": "data:file/pdf;base64,JVBERi0xLjYNJeLjz9MNCjM3IDAgb2JqIDw8L0xpbmVhcml6ZWQgMS9MIDIwNTk3L08gNDAvRSAxNDExNS9OIDEvVCAxOTc5NS9IIFsgMTAwNSAyMTVdPj4NZW5kb2JqDSAgICAgICAgICAgICAgICAgDQp4cmVmDQozNyAzNA0KMDAwMDAwMDAxNiAwMDAwMCBuDQowMDAwMDAxMzg2IDAwMDAwIG4NCjAwMDAwMDE1MjIgMDAwMDAgbg0KMDAwMDAwMTc4NyAwMDAwMCBuDQowMDAwMDAyMjUwIDAwMDAwIG4NCjAwMDAwMDIyNzQgMDAwMDAgbg0KMDAwMDAwMjQyMyAwMDAwMCBuDQowMDAwMDAyODQ0IDAwMDAwIG4NCjAwMDAwMDI4ODggMDAwMDAgbg0KMDAwMDAwMjkzMiAwMDAwMCBuDQowMDAwMDA0MTEzIDAwMDAwIG4NCjAwMDAwMDQxNDcgMDAwMDAgbg0KMDAwMDAwNDIxMSAwMDAwMCBuDQowMDAwMDA2ODgwIDAwMDAwIG4NCjAwMDAwMDcwMjMgMDAwMDAgbg0KMDAwMDAwNzE3MiAwMDAwMCBuDQowMDAwMDA3MzEyIDAwMDAwIG4NCjAwMDAwMDc0NTUgMDAwMDAgbg0KMDAwMDAwODE3NiAwMDAwMCBuDQowMDAwMDA4NTY2IDAwMDAwIG4NCjAwMDAwMDkwNjYgMDAwMDAgbg0KMDAwMDAxMjUxOCAwMDAwMCBuDQowMDAwMDEyNjY3IDAwMDAwIG4NCjAwMDAwMTI4MDMgMDAwMDAgbg0KMDAwMDAxMjkzOSAwMDAwMCBuDQowMDAwMDEzMDcyIDAwMDAwIG4NCjAwMDAwMTMyMDggMDAwMDAgbg0KMDAwMDAxMzM0NCAwMDAwMCBuDQowMDAwMDEzNDgwIDAwMDAwIG4NCjAwMDAwMTM2MzIgMDAwMDAgbg0KMDAwMDAxMzgxOCAwMDAwMCBuDQowMDAwMDE0MDM5IDAwMDAwIG4NCjAwMDAwMDEyMjAgMDAwMDAgbg0KMDAwMDAwMTAwNSAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDcxL1ByZXYgMTk3ODQvWFJlZlN0bSAxMjIwL1Jvb3QgMzkgMCBSL0VuY3J5cHQgMzggMCBSL0luZm8gNiAwIFIvSURbPEMyMUYyMUVBNDRDMUUyRUQyNTgxNDM1RkE1QTJEQ0NFPjwxNTM0OTEwNkQ5ODVEQTQ0OTkxMDk5RjlDMENCRjAwND5dPj4NCnN0YXJ0eHJlZg0KMA0KJSVFT0YNCiAgICAgICAgICAgICAgIA0KNzAgMCBvYmo8PC9MZW5ndGggMTIzL0MgMTI4L0ZpbHRlci9GbGF0ZURlY29kZS9JIDE1MS9MIDExMi9TIDQwPj5zdHJlYW0NCjA+v2UNc4Zmn6u4IiQguoMZnwg0NH0ymtRAWZUZqNfHLCiMQS0kyMfdiuvi04hlG2GJLNJzPFccsqvk0nZ7AHI4uCBvKj3L7sGXnAk1tHgOFgzOJjqRioIZMmIdwW51On/CmLK6+gsvbo3ivOa3aWeWo5GxxRL0DzNdRQ0KZW5kc3RyZWFtDWVuZG9iag02OSAwIG9iajw8L0xlbmd0aCAyMC9GaWx0ZXIvRmxhdGVEZWNvZGUvV1sxIDEgMV0vSW5kZXhbNyAzMF0vRGVjb2RlUGFybXM8PC9Db2x1bW5zIDMvUHJlZGljdG9yIDEyPj4vU2l6ZSAzNy9UeXBlL1hSZWY+PnN0cmVhbQ0KeNpiYmJkYGJgYKQ3BggwABbZAF0NCmVuZHN0cmVhbQ1lbmRvYmoNMzggMCBvYmo8PC9MZW5ndGggMTI4L0ZpbHRlci9TdGFuZGFyZC9PKJ6imv11rrw5sF4j3R+ObJ1lZ2RcbuwZDDZAs8jdl58OFSkvUCAtMTM0MC9SIDMvVSjj41C/LnKptSQ/7nBNpOwWAAAAAAAAAAAAAAAAAAAAACkvViAyPj4NZW5kb2JqDTM5IDAgb2JqPDwvTWFya0luZm88PC9MZXR0ZXJzcGFjZUZsYWdzIDAvTWFya2VkIHRydWU+Pi9NZXRhZGF0YSA1IDAgUi9QaWVjZUluZm88PC9NYXJrZWRQREY8PC9MYXN0TW9kaWZpZWQoCM1RrvFnz1Fb5exxrGnDVyk+Pj4+L1BhZ2VzIDQgMCBSL1BhZ2VMYXlvdXQvT25lQ29sdW1uL1N0cnVjdFRyZWVSb290IDcgMCBSL1R5cGUvQ2F0YWxvZy9MYW5nKAm5TsuSKS9MYXN0TW9kaWZpZWQoCM1RrvFnz1Fb5exxrGnDVykvUGFnZUxhYmVscyAyIDAgUj4+DWVuZG9iag00MCAwIG9iajw8L0Nyb3BCb3hbMCAwIDYxMiA3OTJdL0Fubm90cyA0MSAwIFIvUGFyZW50IDQgMCBSL1N0cnVjdFBhcmVudHMgMC9Db250ZW50cyA0NiAwIFIvUm90YXRlIDAvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1Jlc291cmNlczw8L1hPYmplY3Q8PC9JbTEwIDUwIDAgUi9JbTExIDUxIDAgUi9JbTEyIDUyIDAgUi9JbTEzIDUzIDAgUi9JbTE0IDU1IDAgUi9JbTAgNTcgMCBSL0ltMSA1OCAwIFIvSW0yIDU5IDAgUi9JbTMgNjAgMCBSL0ltNCA2MSAwIFIvSW01IDYyIDAgUi9JbTYgNjMgMCBSL0ltNyA2NCAwIFIvSW04IDY1IDAgUi9JbTkgNjYgMCBSPj4vQ29sb3JTcGFjZTw8L0NTMCA0NCAwIFIvQ1MxIDQ3IDAgUi9DUzIgNDUgMCBSPj4vRm9udDw8L1RUMCA0MyAwIFI+Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUMvSW1hZ2VJXS9FeHRHU3RhdGU8PC9HUzAgNjggMCBSPj4+Pi9UeXBlL1BhZ2U+Pg1lbmRvYmoNNDEgMCBvYmpbNDIgMCBSXQ1lbmRvYmoNNDIgMCBvYmo8PC9SZWN0WzIyMC42OCA0NjcuODggMzg5LjQ2MSA0ODMuODUyXS9TdWJ0eXBlL0xpbmsvQlM8PC9TL1MvVyAwL1R5cGUvQm9yZGVyPj4vQSA0OCAwIFIvSC9JL1N0cnVjdFBhcmVudCAxL0JvcmRlclswIDAgMF0vVHlwZS9Bbm5vdD4+DWVuZG9iag00MyAwIG9iajw8L1N1YnR5cGUvVHJ1ZVR5cGUvRm9udERlc2NyaXB0b3IgNjcgMCBSL0xhc3RDaGFyIDEyMS9XaWR0aHNbMjc4IDI3OCAwIDAgMCAwIDAgMCAzMzMgMzMzIDAgMCAyNzggMCAyNzggMjc4IDU1NiA1NTYgNTU2IDU1NiAwIDAgNTU2IDU1NiAwIDAgMjc4IDAgMCAwIDAgMCAwIDY2NyA2NjcgNzIyIDcyMiA2NjcgNjExIDAgMCAwIDAgMCAwIDAgMCAwIDY2NyAwIDAgMCA2MTEgMCAwIDk0NCAwIDY2NyAwIDAgMCAwIDAgMCAwIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1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aWdodCAzL1R5cGUvWE9iamVjdD4+c3RyZWFtDQo3R633u5PILuNh2uqR/GEFIj0vDQplbmRzdHJlYW0NZW5kb2JqDTU5IDAgb2JqPDwvU3VidHlwZS9JbWFnZS9MZW5ndGggNy9CaXRzUGVyQ29tcG9uZW50IDgvQ29sb3JTcGFjZSA0NyAwIFIvV2lkdGggMS9IZWlnaHQgMi9UeXBlL1hPYmplY3Q+PnN0cmVhbQ0K14/pGKyXxA0KZW5kc3RyZWFtDWVuZG9iag02MCAwIG9iajw8L1N1YnR5cGUvSW1hZ2UvTGVuZ3RoIDcvQml0c1BlckNvbXBvbmVudCA4L0NvbG9yU3BhY2UgNDcgMCBSL1dpZHRoIDIvSGVpZ2h0IDEvVHlwZS9YT2JqZWN0Pj5zdHJlYW0NCrN3Ds5BHkkNCmVuZHN0cmVhbQ1lbmRvYmoNNjEgMCBvYmo8PC9TdWJ0eXBlL0ltYWdlL0xlbmd0aCA0L0JpdHNQZXJDb21wb25lbnQgOC9Db2xvclNwYWNlIDQ3IDAgUi9XaWR0aCAxL0hlaWdodCAxL1R5cGUvWE9iamVjdD4+c3RyZWFtDQrx8DB4DQplbmRzdHJlYW0NZW5kb2JqDTYyIDAgb2JqPDwvU3VidHlwZS9JbWFnZS9MZW5ndGggNy9CaXRzUGVyQ29tcG9uZW50IDgvQ29sb3JTcGFjZSA0NyAwIFIvV2lkdGggMi9IZWlnaHQgMS9UeXBlL1hPYmplY3Q+PnN0cmVhbQ0K9/8xai1TaA0KZW5kc3RyZWFtDWVuZG9iag02MyAwIG9iajw8L1N1YnR5cGUvSW1hZ2UvTGVuZ3RoIDcvQml0c1BlckNvbXBvbmVudCA4L0NvbG9yU3BhY2UgNDcgMCBSL1dpZHRoIDIvSGVpZ2h0IDEvVHlwZS9YT2JqZWN0Pj5zdHJlYW0NCiN83Skmd7gNCmVuZHN0cmVhbQ1lbmRvYmoNNjQgMCBvYmo8PC9TdWJ0eXBlL0ltYWdlL0xlbmd0aCA3L0JpdHNQZXJDb21wb25lbnQgOC9Db2xvclNwYWNlIDQ3IDAgUi9XaWR0aCAyL0hlaWdodCAxL1R5cGUvWE9iamVjdD4+c3RyZWFtDQpDpbHuCaveDQplbmRzdHJlYW0NZW5kb2JqDTY1IDAgb2JqPDwvU3VidHlwZS9J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MDAwMDAwIDY1NTM1IGYNCjAwMDAwMTQxMTUgMDAwMDAgbg0KMDAwMDAxNDk2NSAwMDAwMCBuDQowMDAwMDE0OTk4IDAwMDAwIG4NCjAwMDAwMTUwMjEgMDAwMDAgbg0KMDAwMDAxNTA3MiAwMDAwMCBuDQowMDAwMDE5NDg0IDAwMDAwIG4NCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCnRyYWlsZXINCjw8L1NpemUgMzcvRW5jcnlwdCAzOCAwIFI+Pg0Kc3RhcnR4cmVmDQoxMTYNCiUlRU9GDQo=",
4857
5078
  "isGroup": false
4858
5079
  }
4859
5080
  }
@@ -14736,6 +14957,13 @@
14736
14957
  "phone": "556593077171"
14737
14958
  }
14738
14959
  },
14960
+ "DeleteAllChatsRequest": {
14961
+ "title": "DeleteAllChatsRequest",
14962
+ "required": [""],
14963
+ "type": "object",
14964
+ "properties": {},
14965
+ "example": {}
14966
+ },
14739
14967
  "DeleteChat": {
14740
14968
  "title": "DeleteChat",
14741
14969
  "required": ["status", "message"],
@@ -15401,9 +15629,16 @@
15401
15629
  "callId": "89898ADSd5456SD5656DSADSAD322"
15402
15630
  }
15403
15631
  },
15632
+ "archiveAllChatsRequest": {
15633
+ "title": "archiveAllChatsRequest",
15634
+ "required": [""],
15635
+ "type": "object",
15636
+ "properties": {},
15637
+ "example": {}
15638
+ },
15404
15639
  "SendFileRequest": {
15405
15640
  "title": "SendFileRequest",
15406
- "required": ["phone", "base64", "isGroup"],
15641
+ "required": ["phone", "base64", "isGroup", "filename"],
15407
15642
  "type": "object",
15408
15643
  "properties": {
15409
15644
  "phone": {
@@ -15412,12 +15647,16 @@
15412
15647
  "base64": {
15413
15648
  "type": "string"
15414
15649
  },
15650
+ "filename": {
15651
+ "type": "string"
15652
+ },
15415
15653
  "isGroup": {
15416
15654
  "type": "boolean"
15417
15655
  }
15418
15656
  },
15419
15657
  "example": {
15420
15658
  "phone": "554498005216",
15659
+ "filename": "file.png",
15421
15660
  "base64": "data:image/png;base64,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",
15422
15661
  "isGroup": false
15423
15662
  }
@@ -15554,29 +15793,27 @@
15554
15793
  }
15555
15794
  },
15556
15795
  "example": {
15557
- "isGroup": "false",
15796
+ "isGroup": false,
15558
15797
  "phone": "554498005216",
15559
15798
  "buttonText": "CLIQUE AQUI",
15560
15799
  "description": "Hello World",
15561
- "sections": {
15562
- "sections": [
15563
- {
15564
- "title": "Section 1",
15565
- "rows": [
15566
- {
15567
- "rowId": "my_custom_id",
15568
- "title": "Test 1",
15569
- "description": "Description 1"
15570
- },
15571
- {
15572
- "rowId": "2",
15573
- "title": "Test 2",
15574
- "description": "Description 2"
15575
- }
15576
- ]
15577
- }
15578
- ]
15579
- }
15800
+ "sections": [
15801
+ {
15802
+ "title": "Section 1",
15803
+ "rows": [
15804
+ {
15805
+ "rowId": "my_custom_id",
15806
+ "title": "Test 1",
15807
+ "description": "Description 1"
15808
+ },
15809
+ {
15810
+ "rowId": "2",
15811
+ "title": "Test 2",
15812
+ "description": "Description 2"
15813
+ }
15814
+ ]
15815
+ }
15816
+ ]
15580
15817
  }
15581
15818
  },
15582
15819
  "ForwardMessages(Encaminharmensagem)Request": {
@@ -50,6 +50,7 @@ var _chatWootClient = _interopRequireDefault(require("./chatWootClient")); /*
50
50
  Object.assign({}, { tokenStore: myTokenStore }, req.serverOptions.createOptions, {
51
51
  session: session,
52
52
  deviceName: req.serverOptions.deviceName,
53
+ poweredBy: req.serverOptions.poweredBy || 'WPPConnect-Server',
53
54
  catchQR: (base64Qr, asciiQR, attempt, urlCode) => {
54
55
  this.exportQR(req, base64Qr, urlCode, client, res);
55
56
  },
@@ -1 +1 @@
1
- {"version":3,"file":"createSessionUtil.js","names":["CreateSessionUtil","startChatWootClient","client","config","chatWoot","_chatWootClient","chatWootClient","session","createSessionUtil","req","clientsArray","res","getClient","status","body","tokenStore","Factory","myTokenStore","createTokenStory","getToken","serverOptions","customUserDataDir","createOptions","puppeteerOptions","userDataDir","wppClient","create","Object","assign","deviceName","catchQR","base64Qr","asciiQR","attempt","urlCode","exportQR","statusFind","eventEmitter","emit","qrcode","close","undefined","callWebHook","logger","info","error","start","webhook","onParticipantsChanged","e","opendata","qrCode","urlcode","replace","imageBuffer","Buffer","from","io","data","toString","_headerSent","json","isConnected","message","startHelper","checkStateSession","listenMessages","listenAcks","onPresenceChanged","onStateChange","state","conflits","SocketState","CONFLICT","includes","useHere","onMessage","type","onLiveLocation","sender","id","location","onAnyMessage","download","response","onIncomingCall","call","onAck","ack","presenceChangedEvent","encodeFunction","JSON","stringify","decodeFunction","text","object","parse"],"sources":["../../src/util/createSessionUtil.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { clientsArray, eventEmitter } from './sessionUtil';\nimport { create, SocketState } from '@wppconnect-team/wppconnect';\nimport { callWebHook, startHelper } from './functions';\nimport { download } from '../controller/sessionController';\nimport Factory from './tokenStore/factory';\nimport chatWootClient from './chatWootClient';\n\nexport default class CreateSessionUtil {\n startChatWootClient(client) {\n if (client.config.chatWoot && !client._chatWootClient)\n client._chatWootClient = new chatWootClient(client.config.chatWoot, client.session);\n return client._chatWootClient;\n }\n\n async createSessionUtil(req, clientsArray, session, res) {\n try {\n let client = this.getClient(session);\n if (client.status != null && client.status !== 'CLOSED') return;\n client.status = 'INITIALIZING';\n client.config = req.body;\n\n const tokenStore = new Factory();\n const myTokenStore = tokenStore.createTokenStory(client);\n\n await myTokenStore.getToken(session);\n this.startChatWootClient(client);\n\n if (req.serverOptions.customUserDataDir) {\n req.serverOptions.createOptions.puppeteerOptions = {\n userDataDir: req.serverOptions.customUserDataDir + session,\n };\n }\n\n let wppClient = await create(\n Object.assign({}, { tokenStore: myTokenStore }, req.serverOptions.createOptions, {\n session: session,\n deviceName: req.serverOptions.deviceName,\n catchQR: (base64Qr, asciiQR, attempt, urlCode) => {\n this.exportQR(req, base64Qr, urlCode, client, res);\n },\n statusFind: (statusFind) => {\n try {\n eventEmitter.emit(`status-${client.session}`, client, statusFind);\n if (statusFind === 'autocloseCalled' || statusFind === 'desconnectedMobile') {\n client.status = 'CLOSED';\n client.qrcode = null;\n client.close();\n clientsArray[session] = undefined;\n }\n callWebHook(client, req, 'status-find', { status: statusFind });\n req.logger.info(statusFind + '\\n\\n');\n } catch (error) {}\n },\n })\n );\n\n client = clientsArray[session] = Object.assign(wppClient, client);\n await this.start(req, client);\n\n if (req.serverOptions.webhook.onParticipantsChanged) {\n await this.onParticipantsChanged(req, client);\n }\n } catch (e) {\n req.logger.error(e);\n }\n }\n\n async opendata(req, session, res) {\n await this.createSessionUtil(req, clientsArray, session, res);\n }\n\n exportQR(req, qrCode, urlCode, client, res) {\n eventEmitter.emit(`qrcode-${client.session}`, qrCode, urlCode, client);\n Object.assign(client, {\n status: 'QRCODE',\n qrcode: qrCode,\n urlcode: urlCode,\n });\n\n qrCode = qrCode.replace('data:image/png;base64,', '');\n const imageBuffer = Buffer.from(qrCode, 'base64');\n\n req.io.emit('qrCode', {\n data: 'data:image/png;base64,' + imageBuffer.toString('base64'),\n session: client.session,\n });\n\n callWebHook(client, req, 'qrcode', { qrcode: qrCode, urlcode: urlCode });\n if (res && !res._headerSent) res.status(200).json({ status: 'qrcode', qrcode: qrCode, urlcode: urlCode });\n }\n\n async onParticipantsChanged(req, client) {\n await client.isConnected();\n await client.onParticipantsChanged((message) => {\n callWebHook(client, req, 'onparticipantschanged', message);\n });\n }\n\n async start(req, client) {\n try {\n await client.isConnected();\n Object.assign(client, { status: 'CONNECTED', qrcode: null });\n\n req.logger.info(`Started Session: ${client.session}`);\n //callWebHook(client, req, 'session-logged', { status: 'CONNECTED'});\n req.io.emit('session-logged', { status: true, session: client.session });\n startHelper(client, req);\n } catch (error) {\n req.logger.error(error);\n req.io.emit('session-error', client.session);\n }\n\n await this.checkStateSession(client, req);\n await this.listenMessages(client, req);\n\n if (req.serverOptions.webhook.listenAcks) {\n await this.listenAcks(client, req);\n }\n\n if (req.serverOptions.webhook.onPresenceChanged) {\n await this.onPresenceChanged(client, req);\n }\n }\n\n async checkStateSession(client, req) {\n await client.onStateChange((state) => {\n req.logger.info(`State Change ${state}: ${client.session}`);\n const conflits = [SocketState.CONFLICT];\n\n if (conflits.includes(state)) {\n client.useHere();\n }\n });\n }\n\n async listenMessages(client, req) {\n await client.onMessage(async (message) => {\n eventEmitter.emit(`mensagem-${client.session}`, client, message);\n callWebHook(client, req, 'onmessage', message);\n if (message.type === 'location')\n client.onLiveLocation(message.sender.id, (location) => {\n callWebHook(client, req, 'location', location);\n });\n });\n\n await client.onAnyMessage((message) => {\n message.session = client.session;\n\n if (message.type === 'sticker') {\n download(message, client, req.logger);\n }\n\n req.io.emit('received-message', { response: message });\n });\n\n await client.onIncomingCall(async (call) => {\n req.io.emit('incomingcall', call);\n callWebHook(client, req, 'incomingcall', call);\n });\n }\n\n async listenAcks(client, req) {\n await client.onAck(async (ack) => {\n req.io.emit('onack', ack);\n callWebHook(client, req, 'onack', ack);\n });\n }\n\n async onPresenceChanged(client, req) {\n await client.onPresenceChanged(async (presenceChangedEvent) => {\n req.io.emit('onpresencechanged', presenceChangedEvent);\n callWebHook(client, req, 'onpresencechanged', presenceChangedEvent);\n });\n }\n\n encodeFunction(data, webhook) {\n data.webhook = webhook;\n return JSON.stringify(data);\n }\n\n decodeFunction(text, client) {\n let object = JSON.parse(text);\n if (object.webhook && !client.webhook) client.webhook = object.webhook;\n delete object.webhook;\n return object;\n }\n\n getClient(session) {\n let client = clientsArray[session];\n\n if (!client) client = clientsArray[session] = { status: null, session: session };\n return client;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"createSessionUtil.js","names":["CreateSessionUtil","startChatWootClient","client","config","chatWoot","_chatWootClient","chatWootClient","session","createSessionUtil","req","clientsArray","res","getClient","status","body","tokenStore","Factory","myTokenStore","createTokenStory","getToken","serverOptions","customUserDataDir","createOptions","puppeteerOptions","userDataDir","wppClient","create","Object","assign","deviceName","poweredBy","catchQR","base64Qr","asciiQR","attempt","urlCode","exportQR","statusFind","eventEmitter","emit","qrcode","close","undefined","callWebHook","logger","info","error","start","webhook","onParticipantsChanged","e","opendata","qrCode","urlcode","replace","imageBuffer","Buffer","from","io","data","toString","_headerSent","json","isConnected","message","startHelper","checkStateSession","listenMessages","listenAcks","onPresenceChanged","onStateChange","state","conflits","SocketState","CONFLICT","includes","useHere","onMessage","type","onLiveLocation","sender","id","location","onAnyMessage","download","response","onIncomingCall","call","onAck","ack","presenceChangedEvent","encodeFunction","JSON","stringify","decodeFunction","text","object","parse"],"sources":["../../src/util/createSessionUtil.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { clientsArray, eventEmitter } from './sessionUtil';\nimport { create, SocketState } from '@wppconnect-team/wppconnect';\nimport { callWebHook, startHelper } from './functions';\nimport { download } from '../controller/sessionController';\nimport Factory from './tokenStore/factory';\nimport chatWootClient from './chatWootClient';\n\nexport default class CreateSessionUtil {\n startChatWootClient(client) {\n if (client.config.chatWoot && !client._chatWootClient)\n client._chatWootClient = new chatWootClient(client.config.chatWoot, client.session);\n return client._chatWootClient;\n }\n\n async createSessionUtil(req, clientsArray, session, res) {\n try {\n let client = this.getClient(session);\n if (client.status != null && client.status !== 'CLOSED') return;\n client.status = 'INITIALIZING';\n client.config = req.body;\n\n const tokenStore = new Factory();\n const myTokenStore = tokenStore.createTokenStory(client);\n\n await myTokenStore.getToken(session);\n this.startChatWootClient(client);\n\n if (req.serverOptions.customUserDataDir) {\n req.serverOptions.createOptions.puppeteerOptions = {\n userDataDir: req.serverOptions.customUserDataDir + session,\n };\n }\n\n let wppClient = await create(\n Object.assign({}, { tokenStore: myTokenStore }, req.serverOptions.createOptions, {\n session: session,\n deviceName: req.serverOptions.deviceName,\n poweredBy: req.serverOptions.poweredBy || 'WPPConnect-Server',\n catchQR: (base64Qr, asciiQR, attempt, urlCode) => {\n this.exportQR(req, base64Qr, urlCode, client, res);\n },\n statusFind: (statusFind) => {\n try {\n eventEmitter.emit(`status-${client.session}`, client, statusFind);\n if (statusFind === 'autocloseCalled' || statusFind === 'desconnectedMobile') {\n client.status = 'CLOSED';\n client.qrcode = null;\n client.close();\n clientsArray[session] = undefined;\n }\n callWebHook(client, req, 'status-find', { status: statusFind });\n req.logger.info(statusFind + '\\n\\n');\n } catch (error) {}\n },\n })\n );\n\n client = clientsArray[session] = Object.assign(wppClient, client);\n await this.start(req, client);\n\n if (req.serverOptions.webhook.onParticipantsChanged) {\n await this.onParticipantsChanged(req, client);\n }\n } catch (e) {\n req.logger.error(e);\n }\n }\n\n async opendata(req, session, res) {\n await this.createSessionUtil(req, clientsArray, session, res);\n }\n\n exportQR(req, qrCode, urlCode, client, res) {\n eventEmitter.emit(`qrcode-${client.session}`, qrCode, urlCode, client);\n Object.assign(client, {\n status: 'QRCODE',\n qrcode: qrCode,\n urlcode: urlCode,\n });\n\n qrCode = qrCode.replace('data:image/png;base64,', '');\n const imageBuffer = Buffer.from(qrCode, 'base64');\n\n req.io.emit('qrCode', {\n data: 'data:image/png;base64,' + imageBuffer.toString('base64'),\n session: client.session,\n });\n\n callWebHook(client, req, 'qrcode', { qrcode: qrCode, urlcode: urlCode });\n if (res && !res._headerSent) res.status(200).json({ status: 'qrcode', qrcode: qrCode, urlcode: urlCode });\n }\n\n async onParticipantsChanged(req, client) {\n await client.isConnected();\n await client.onParticipantsChanged((message) => {\n callWebHook(client, req, 'onparticipantschanged', message);\n });\n }\n\n async start(req, client) {\n try {\n await client.isConnected();\n Object.assign(client, { status: 'CONNECTED', qrcode: null });\n\n req.logger.info(`Started Session: ${client.session}`);\n //callWebHook(client, req, 'session-logged', { status: 'CONNECTED'});\n req.io.emit('session-logged', { status: true, session: client.session });\n startHelper(client, req);\n } catch (error) {\n req.logger.error(error);\n req.io.emit('session-error', client.session);\n }\n\n await this.checkStateSession(client, req);\n await this.listenMessages(client, req);\n\n if (req.serverOptions.webhook.listenAcks) {\n await this.listenAcks(client, req);\n }\n\n if (req.serverOptions.webhook.onPresenceChanged) {\n await this.onPresenceChanged(client, req);\n }\n }\n\n async checkStateSession(client, req) {\n await client.onStateChange((state) => {\n req.logger.info(`State Change ${state}: ${client.session}`);\n const conflits = [SocketState.CONFLICT];\n\n if (conflits.includes(state)) {\n client.useHere();\n }\n });\n }\n\n async listenMessages(client, req) {\n await client.onMessage(async (message) => {\n eventEmitter.emit(`mensagem-${client.session}`, client, message);\n callWebHook(client, req, 'onmessage', message);\n if (message.type === 'location')\n client.onLiveLocation(message.sender.id, (location) => {\n callWebHook(client, req, 'location', location);\n });\n });\n\n await client.onAnyMessage((message) => {\n message.session = client.session;\n\n if (message.type === 'sticker') {\n download(message, client, req.logger);\n }\n\n req.io.emit('received-message', { response: message });\n });\n\n await client.onIncomingCall(async (call) => {\n req.io.emit('incomingcall', call);\n callWebHook(client, req, 'incomingcall', call);\n });\n }\n\n async listenAcks(client, req) {\n await client.onAck(async (ack) => {\n req.io.emit('onack', ack);\n callWebHook(client, req, 'onack', ack);\n });\n }\n\n async onPresenceChanged(client, req) {\n await client.onPresenceChanged(async (presenceChangedEvent) => {\n req.io.emit('onpresencechanged', presenceChangedEvent);\n callWebHook(client, req, 'onpresencechanged', presenceChangedEvent);\n });\n }\n\n encodeFunction(data, webhook) {\n data.webhook = webhook;\n return JSON.stringify(data);\n }\n\n decodeFunction(text, client) {\n let object = JSON.parse(text);\n if (object.webhook && !client.webhook) client.webhook = object.webhook;\n delete object.webhook;\n return object;\n }\n\n getClient(session) {\n let client = clientsArray[session];\n\n if (!client) client = clientsArray[session] = { status: null, session: session };\n return client;\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wppconnect/server",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Projeto feito para autenticar a automomacao do WhatsappWeb com multi-clientes de forma dinamica. Backend feito em Nodejs(express, socketio), FrontEnd (ReactJS)",
5
5
  "main": "dist/index.js",
6
6
  "author": "kingaspx",
@@ -40,45 +40,45 @@
40
40
  "form-data": "^4.0.0",
41
41
  "json-mapper-json": "^1.3.3",
42
42
  "merge-deep": "^3.0.3",
43
- "moment": "^2.29.3",
43
+ "moment": "^2.29.4",
44
44
  "multer": "^1.4.4",
45
45
  "socket.io": "^4.5.1",
46
46
  "swagger-ui-express": "^4.4.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@babel/cli": "^7.17.10",
50
- "@babel/core": "^7.18.5",
49
+ "@babel/cli": "^7.18.6",
50
+ "@babel/core": "^7.18.6",
51
51
  "@babel/eslint-parser": "^7.18.2",
52
52
  "@babel/eslint-plugin": "^7.17.7",
53
- "@babel/node": "^7.18.5",
54
- "@babel/plugin-transform-runtime": "^7.18.5",
55
- "@babel/preset-env": "^7.18.2",
56
- "@commitlint/cli": "^17.0.2",
57
- "@commitlint/config-conventional": "^17.0.2",
58
- "@commitlint/cz-commitlint": "^17.0.0",
59
- "aws-sdk": "^2.1162.0",
53
+ "@babel/node": "^7.18.6",
54
+ "@babel/plugin-transform-runtime": "^7.18.6",
55
+ "@babel/preset-env": "^7.18.6",
56
+ "@commitlint/cli": "^17.0.3",
57
+ "@commitlint/config-conventional": "^17.0.3",
58
+ "@commitlint/cz-commitlint": "^17.0.3",
59
+ "aws-sdk": "^2.1171.0",
60
60
  "commitizen": "^4.2.4",
61
61
  "conventional-changelog-cli": "^2.2.2",
62
62
  "crypto-js": "^4.1.1",
63
- "eslint": "^8.18.0",
63
+ "eslint": "^8.19.0",
64
64
  "eslint-config-prettier": "^8.5.0",
65
- "eslint-plugin-prettier": "^4.0.0",
65
+ "eslint-plugin-prettier": "^4.2.1",
66
66
  "husky": "^8.0.1",
67
67
  "license-check-and-add": "^4.0.5",
68
- "mongoose": "^6.4.1",
69
- "nodemon": "^2.0.18",
68
+ "mongoose": "^6.4.4",
69
+ "nodemon": "^2.0.19",
70
70
  "prettier": "^2.7.1",
71
71
  "pretty-quick": "^3.1.3",
72
- "redis": "^4.1.0",
73
- "release-it": "^15.1.0",
72
+ "redis": "^4.2.0",
73
+ "release-it": "^15.1.1",
74
74
  "rimraf": "^3.0.2",
75
75
  "shx": "^0.3.4",
76
76
  "swagger-ui-dist": "^4.12.0"
77
77
  },
78
78
  "peerDependencies": {
79
- "aws-sdk": "^2.1162.0",
79
+ "aws-sdk": "^2.1171.0",
80
80
  "crypto-js": "^4.1.1",
81
- "mongoose": "^6.4.1",
82
- "redis": "^4.1.0"
81
+ "mongoose": "^6.4.4",
82
+ "redis": "^4.2.0"
83
83
  }
84
84
  }