@wppconnect/server 1.1.12 → 1.1.13

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,4 +1,8 @@
1
- ## 1.1.12 (2021-11-18)
1
+ ## 1.1.13 (2021-12-09)
2
+
3
+
4
+
5
+ ## 1.1.12 (2021-12-09)
2
6
 
3
7
 
4
8
 
@@ -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.getNumberProfile = getNumberProfile;exports.getProfilePicFromServer = getProfilePicFromServer;exports.getStatus = getStatus;exports.getUnreadMessages = getUnreadMessages;exports.loadAndGetAllMessagesInChat = loadAndGetAllMessagesInChat;exports.loadEarlierMessages = loadEarlierMessages;exports.markUnseenMessage = markUnseenMessage;exports.pinChat = pinChat;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.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.getNumberProfile = getNumberProfile;exports.getPhoneNumber = getPhoneNumber;exports.getProfilePicFromServer = getProfilePicFromServer;exports.getStatus = getStatus;exports.getUnreadMessages = getUnreadMessages;exports.loadAndGetAllMessagesInChat = loadAndGetAllMessagesInChat;exports.loadEarlierMessages = loadEarlierMessages;exports.markUnseenMessage = markUnseenMessage;exports.pinChat = pinChat;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
 
@@ -186,13 +186,24 @@ async function getBatteryLevel(req, res) {
186
186
  async function getHostDevice(req, res) {
187
187
  try {
188
188
  const response = await req.client.getHostDevice();
189
- return res.status(200).json({ status: 'success', response: response, mapper: 'device' });
189
+ const phoneNumber = await req.client.getWid();
190
+ return res.status(200).json({ status: 'success', response: { ...response, phoneNumber }, mapper: 'device' });
190
191
  } catch (e) {
191
192
  req.logger.error(e);
192
193
  return res.status(500).json({ status: 'error', message: 'Erro ao recuperar dados do telefone' });
193
194
  }
194
195
  }
195
196
 
197
+ async function getPhoneNumber(req, res) {
198
+ try {
199
+ const phoneNumber = await req.client.getWid();
200
+ return res.status(200).json({ status: 'success', response: phoneNumber, mapper: 'device' });
201
+ } catch (e) {
202
+ req.logger.error(e);
203
+ return res.status(500).json({ status: 'error', message: 'Error retrieving phone number' });
204
+ }
205
+ }
206
+
196
207
  async function getBlockList(req, res) {
197
208
  let response = await req.client.getBlockList();
198
209
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/controller/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","getAllNewMessages","getAllUnreadMessages","getChatById","allMessages","dir","fs","existsSync","mkdirSync","map","type","serverOptions","host","port","t","mime","extension","mimetype","getMessageById","messageId","chatId","user","getBatteryLevel","getHostDevice","getBlockList","blocked","split","deleteChat","clearChat","archiveChat","value","deleteMessage","reply","text","messageid","forwardMessages","markUnseenMessage","blockContact","unblockContact","pinChat","state","setProfilePic","file","path","pathFile","getUnreadMessages","getChatIsOnline","getLastSeen","getListMutes","loadAndGetAllMessagesInChat","loadEarlierMessages","sendContactVcard","contactsId","sendMute","time","sendSeen","setChatState","chatstate","setTemporaryMessages","setTyping","startTyping","stopTyping","checkNumberStatus","getContact","getNumberProfile","getProfilePicFromServer","getStatus","setProfileStatus","starMessage","star","chatWoot","clientsArray","isConnected","event","message_type","conversation","meta","sender","phone_number","messages","attachments","base_url","config","baseURL","data_url","substring","indexOf","sendFile","content","sendText","console"],"mappings":"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","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 return res.status(200).json({ status: 'success', response: response, 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 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, isGroup = false } = req.body;\n\n try {\n if (isGroup) {\n await req.client.deleteChat(`${phone}@g.us`);\n } else {\n await req.client.deleteChat(`${phone}@c.us`);\n }\n return res.status(200).json({ status: 'success', response: { message: 'Conversa deleteada com sucesso' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Erro ao deletada conversa' });\n }\n}\n\nexport async function clearChat(req, res) {\n const { phone, isGroup = false } = req.body;\n\n try {\n if (isGroup) {\n await req.client.clearChat(`${phone}@g.us`);\n } else {\n await req.client.clearChat(`${phone}@c.us`);\n }\n return res.status(200).json({ status: 'success', response: { message: 'Successfully cleared conversation' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error clearing conversation' });\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 if (isGroup) {\n response = await req.client.archiveChat(`${phone}@g.us`, value);\n } else {\n response = await req.client.archiveChat(`${phone}@c.us`, value);\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 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, isGroup = false } = req.body;\n\n try {\n if (isGroup) {\n await req.client.markUnseenMessage(`${phone}@g.us`);\n } else {\n await req.client.markUnseenMessage(`${phone}@c.us`);\n }\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 loadEarlierMessages(req, res) {\n const { phone, includeMe = true, includeNotifications = false } = req.params;\n\n try {\n const response = await req.client.loadEarlierMessages(`${phone}`, includeMe, includeNotifications);\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, isGroup = false } = req.body;\n\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.sendSeen(`${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 send seen' });\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}\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') {\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,\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"],"file":"deviceController.js"}
1
+ {"version":3,"sources":["../../src/controller/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","getAllNewMessages","getAllUnreadMessages","getChatById","allMessages","dir","fs","existsSync","mkdirSync","map","type","serverOptions","host","port","t","mime","extension","mimetype","getMessageById","messageId","chatId","user","getBatteryLevel","getHostDevice","phoneNumber","getWid","getPhoneNumber","getBlockList","blocked","split","deleteChat","clearChat","archiveChat","value","deleteMessage","reply","text","messageid","forwardMessages","markUnseenMessage","blockContact","unblockContact","pinChat","state","setProfilePic","file","path","pathFile","getUnreadMessages","getChatIsOnline","getLastSeen","getListMutes","loadAndGetAllMessagesInChat","loadEarlierMessages","sendContactVcard","contactsId","sendMute","time","sendSeen","setChatState","chatstate","setTemporaryMessages","setTyping","startTyping","stopTyping","checkNumberStatus","getContact","getNumberProfile","getProfilePicFromServer","getStatus","setProfileStatus","starMessage","star","chatWoot","clientsArray","isConnected","event","message_type","conversation","meta","sender","phone_number","messages","attachments","base_url","config","baseURL","data_url","substring","indexOf","sendFile","content","sendText","console"],"mappings":"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","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, isGroup = false } = req.body;\n\n try {\n if (isGroup) {\n await req.client.deleteChat(`${phone}@g.us`);\n } else {\n await req.client.deleteChat(`${phone}@c.us`);\n }\n return res.status(200).json({ status: 'success', response: { message: 'Conversa deleteada com sucesso' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Erro ao deletada conversa' });\n }\n}\n\nexport async function clearChat(req, res) {\n const { phone, isGroup = false } = req.body;\n\n try {\n if (isGroup) {\n await req.client.clearChat(`${phone}@g.us`);\n } else {\n await req.client.clearChat(`${phone}@c.us`);\n }\n return res.status(200).json({ status: 'success', response: { message: 'Successfully cleared conversation' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error clearing conversation' });\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 if (isGroup) {\n response = await req.client.archiveChat(`${phone}@g.us`, value);\n } else {\n response = await req.client.archiveChat(`${phone}@c.us`, value);\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 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, isGroup = false } = req.body;\n\n try {\n if (isGroup) {\n await req.client.markUnseenMessage(`${phone}@g.us`);\n } else {\n await req.client.markUnseenMessage(`${phone}@c.us`);\n }\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 loadEarlierMessages(req, res) {\n const { phone, includeMe = true, includeNotifications = false } = req.params;\n\n try {\n const response = await req.client.loadEarlierMessages(`${phone}`, includeMe, includeNotifications);\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, isGroup = false } = req.body;\n\n try {\n let response;\n for (const contato of contactToArray(phone, isGroup)) {\n response = await req.client.sendSeen(`${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 send seen' });\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}\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') {\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,\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"],"file":"deviceController.js"}
@@ -220,6 +220,7 @@ routes.post('/api/:session/unblock-contact', _auth.default, _statusConnection.de
220
220
  // Device
221
221
  routes.get('/api/:session/get-battery-level', _auth.default, _statusConnection.default, DeviceController.getBatteryLevel);
222
222
  routes.get('/api/:session/host-device', _auth.default, _statusConnection.default, DeviceController.getHostDevice);
223
+ routes.get('/api/:session/get-phone-number', _auth.default, _statusConnection.default, DeviceController.getPhoneNumber);
223
224
 
224
225
  // Profile
225
226
  routes.post(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/routes/index.js"],"names":["upload","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","sendButtonsList","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","loadEarlierMessages","archiveChat","clearChat","deleteChat","deleteMessage","forwardMessages","markUnseenMessage","pinChat","sendContactVcard","sendMute","sendSeen","setChatState","setTemporaryMessages","setTyping","starMessage","sendTextStorie","sendImageStorie","sendVideoStorie","checkNumberStatus","getAllContacts","getContact","getNumberProfile","getProfilePicFromServer","getStatus","getBlockList","blockContact","unblockContact","getBatteryLevel","getHostDevice","setProfilePic","setProfileStatus","setProfileName","OrderController","getBusinessProfilesProducts","getOrderbyMsg","chatWoot","use","swaggerUi","serve","setup","swaggerDocument","HealthCheck","healthz","unhealthy"],"mappings":"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","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';\nimport { sendButtonsList } from '../controller/messageController';\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-buttons-list', verifyToken, statusConnection, MessageController.sendButtonsList);\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(\n '/api/:session/load-earlier-messages/:phone',\n verifyToken,\n statusConnection,\n DeviceController.loadEarlierMessages\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);\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);\n\n// Profile\nroutes.post(\n '/api/:session/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"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/routes/index.js"],"names":["upload","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","sendButtonsList","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","loadEarlierMessages","archiveChat","clearChat","deleteChat","deleteMessage","forwardMessages","markUnseenMessage","pinChat","sendContactVcard","sendMute","sendSeen","setChatState","setTemporaryMessages","setTyping","starMessage","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"],"mappings":"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","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';\nimport { sendButtonsList } from '../controller/messageController';\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-buttons-list', verifyToken, statusConnection, MessageController.sendButtonsList);\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(\n '/api/:session/load-earlier-messages/:phone',\n verifyToken,\n statusConnection,\n DeviceController.loadEarlierMessages\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);\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/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"],"file":"index.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wppconnect/server",
3
- "version": "1.1.12",
3
+ "version": "1.1.13",
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",
@@ -29,7 +29,7 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@wppconnect-team/wppconnect": "^1.10.3",
32
+ "@wppconnect-team/wppconnect": "^1.11.1",
33
33
  "axios": "^0.24.0",
34
34
  "bcrypt": "^5.0.1",
35
35
  "cors": "^2.8.5",
@@ -53,8 +53,8 @@
53
53
  "@babel/node": "^7.0.0",
54
54
  "@babel/plugin-transform-runtime": "^7.14.5",
55
55
  "@babel/preset-env": "^7.14.5",
56
- "@commitlint/cli": "^14.1.0",
57
- "@commitlint/config-conventional": "^14.1.0",
56
+ "@commitlint/cli": "^15.0.0",
57
+ "@commitlint/config-conventional": "^15.0.0",
58
58
  "@commitlint/cz-commitlint": "^15.0.0",
59
59
  "aws-sdk": "^2.903.0",
60
60
  "commitizen": "^4.2.4",
@@ -69,7 +69,7 @@
69
69
  "nodemon": "^2.0.7",
70
70
  "prettier": "^2.3.1",
71
71
  "pretty-quick": "^3.1.0",
72
- "redis": "^3.1.2",
72
+ "redis": "^4.0.0",
73
73
  "release-it": "^14.8.0",
74
74
  "rimraf": "^3.0.2",
75
75
  "shx": "^0.3.3",
@@ -79,6 +79,6 @@
79
79
  "aws-sdk": "^2.903.0",
80
80
  "crypto-js": "^4.0.0",
81
81
  "mongoose": "^6.0.0",
82
- "redis": "^3.1.2"
82
+ "redis": "^4.0.0"
83
83
  }
84
84
  }