@wppconnect/server 1.3.1 → 1.3.4
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 +12 -0
- package/dist/config/upload.js.map +1 -1
- package/dist/config.json +1 -0
- package/dist/controller/deviceController.js +9 -5
- package/dist/controller/deviceController.js.map +1 -1
- package/dist/controller/encryptController.js.map +1 -1
- package/dist/controller/groupController.js.map +1 -1
- package/dist/controller/messageController.js +4 -11
- package/dist/controller/messageController.js.map +1 -1
- package/dist/controller/orderController.js +15 -20
- package/dist/controller/orderController.js.map +1 -1
- package/dist/controller/sessionController.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mapper/index.js.map +1 -1
- package/dist/middleware/auth.js.map +1 -1
- package/dist/middleware/statusConnection.js.map +1 -1
- package/dist/routes/index.js +2 -7
- package/dist/routes/index.js.map +1 -1
- package/dist/server.js.map +1 -1
- package/dist/swagger.json +152 -0
- package/dist/util/chatWootClient.js.map +1 -1
- package/dist/util/createSessionUtil.js.map +1 -1
- package/dist/util/db/mongodb/db.js.map +1 -1
- package/dist/util/db/redis/db.js.map +1 -1
- package/dist/util/functions.js +1 -2
- package/dist/util/functions.js.map +1 -1
- package/dist/util/logger.js.map +1 -1
- package/dist/util/tokenStore/factory.js.map +1 -1
- package/dist/util/tokenStore/model/token.js.map +1 -1
- package/dist/util/tokenStore/mongodbTokenStory.js.map +1 -1
- package/dist/util/tokenStore/redisTokenStory.js.map +1 -1
- package/package.json +35 -35
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","names":["storage","multer","diskStorage","destination","req","file","cb","__dirname","path","resolve","dirname","filename","Date","now","originalname","uploads"],"sources":["../../src/config/upload.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 path from 'path';\nimport multer from 'multer';\n\nconst storage = multer.diskStorage({\n destination: function (req, file, cb) {\n const __dirname = path.resolve(path.dirname(''));\n cb(null, path.resolve(__dirname, 'uploads'));\n },\n filename: function (req, file, cb) {\n let filename = `wppConnect-${Date.now()}-${file.originalname}`;\n cb(null, filename);\n },\n});\n\nconst uploads = multer({ storage: storage });\nexport default uploads;\n"],"mappings":";;;;;;;;;;;;;;;AAeA;AACA,wD,CAhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAIA,MAAMA,OAAO,GAAGC,
|
|
1
|
+
{"version":3,"file":"upload.js","names":["storage","multer","diskStorage","destination","req","file","cb","__dirname","path","resolve","dirname","filename","Date","now","originalname","uploads"],"sources":["../../src/config/upload.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 path from 'path';\nimport multer from 'multer';\n\nconst storage = multer.diskStorage({\n destination: function (req, file, cb) {\n const __dirname = path.resolve(path.dirname(''));\n cb(null, path.resolve(__dirname, 'uploads'));\n },\n filename: function (req, file, cb) {\n let filename = `wppConnect-${Date.now()}-${file.originalname}`;\n cb(null, filename);\n },\n});\n\nconst uploads = multer({ storage: storage });\nexport default uploads;\n"],"mappings":";;;;;;;;;;;;;;;AAeA;AACA,wD,CAhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAIA,MAAMA,OAAO,GAAGC,eAAA,CAAOC,WAAP,CAAmB,EACjCC,WAAW,EAAE,UAAUC,GAAV,EAAeC,IAAf,EAAqBC,EAArB,EAAyB,CACpC,MAAMC,SAAS,GAAGC,aAAA,CAAKC,OAAL,CAAaD,aAAA,CAAKE,OAAL,CAAa,EAAb,CAAb,CAAlB,CACAJ,EAAE,CAAC,IAAD,EAAOE,aAAA,CAAKC,OAAL,CAAaF,SAAb,EAAwB,SAAxB,CAAP,CAAF,CACD,CAJgC,EAKjCI,QAAQ,EAAE,UAAUP,GAAV,EAAeC,IAAf,EAAqBC,EAArB,EAAyB,CACjC,IAAIK,QAAQ,GAAI,cAAaC,IAAI,CAACC,GAAL,EAAW,IAAGR,IAAI,CAACS,YAAa,EAA7D,CACAR,EAAE,CAAC,IAAD,EAAOK,QAAP,CAAF,CACD,CARgC,EAAnB,CAAhB,CAWA,MAAMI,OAAO,GAAG,IAAAd,eAAA,EAAO,EAAED,OAAO,EAAEA,OAAX,EAAP,CAAhB,C,eACee,O"}
|
package/dist/config.json
CHANGED
|
@@ -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.getPhoneNumber = getPhoneNumber;exports.getProfilePicFromServer = getProfilePicFromServer;exports.getStatus = getStatus;exports.getUnreadMessages = getUnreadMessages;exports.loadAndGetAllMessagesInChat = loadAndGetAllMessagesInChat;exports.
|
|
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.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
|
|
|
@@ -437,11 +437,15 @@ async function loadAndGetAllMessagesInChat(req, res) {
|
|
|
437
437
|
return res.status(500).json({ status: 'error', response: 'Error on open list' });
|
|
438
438
|
}
|
|
439
439
|
}
|
|
440
|
-
async function
|
|
441
|
-
const { phone
|
|
442
|
-
|
|
440
|
+
async function getMessages(req, res) {
|
|
441
|
+
const { phone } = req.params;
|
|
442
|
+
const { count = 20, direction = 'before', id = 0 } = req.query;
|
|
443
443
|
try {
|
|
444
|
-
const response = await req.client.
|
|
444
|
+
const response = await req.client.getMessages(`${phone}`, {
|
|
445
|
+
count: parseInt(count),
|
|
446
|
+
direction: direction,
|
|
447
|
+
id: id });
|
|
448
|
+
|
|
445
449
|
return res.status(200).json({ status: 'success', response: response });
|
|
446
450
|
} catch (e) {
|
|
447
451
|
req.logger.error(e);
|
|
@@ -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","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","results","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","push","setChatState","chatstate","setTemporaryMessages","setTyping","startTyping","stopTyping","checkNumberStatus","getContact","getNumberProfile","getProfilePicFromServer","getStatus","setProfileStatus","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 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 } = 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}\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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"}
|
|
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","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 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 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}\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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryptController.js","names":["saltRounds","encryptSession","req","res","session","secretkey","params","authorization","token","headers","secureTokenEnv","serverOptions","secretKey","tokenDecrypt","undefined","split","status","json","response","message","bcrypt","hash","err","hashFormat","replace","full"],"sources":["../../src/controller/encryptController.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 bcrypt from 'bcrypt';\n\nconst saltRounds = 10;\n\nexport async function encryptSession(req, res) {\n const { session, secretkey } = req.params;\n const { authorization: token } = req.headers;\n const secureTokenEnv = req.serverOptions.secretKey;\n\n let tokenDecrypt = '';\n\n if (secretkey === undefined) {\n tokenDecrypt = token.split(' ')[0];\n } else {\n tokenDecrypt = secretkey;\n }\n\n if (tokenDecrypt !== secureTokenEnv) {\n return res.status(400).json({\n response: false,\n message: 'The SECRET_KEY is incorrect',\n });\n }\n\n bcrypt.hash(session + secureTokenEnv, saltRounds, function (err, hash) {\n if (err) return res.status(500).json(err);\n\n const hashFormat = hash.replace(/\\//g, '_').replace(/\\+/g, '-');\n return res.status(201).json({\n status: 'success',\n session: session,\n token: hashFormat,\n full: `${session}:${hashFormat}`,\n });\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA,wD,CAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAGA,MAAMA,UAAU,GAAG,EAAnB,CAEO,eAAeC,cAAf,CAA8BC,GAA9B,EAAmCC,GAAnC,EAAwC,CAC7C,MAAM,EAAEC,OAAF,EAAWC,SAAX,KAAyBH,GAAG,CAACI,MAAnC,CACA,MAAM,EAAEC,aAAa,EAAEC,KAAjB,KAA2BN,GAAG,CAACO,OAArC,CACA,MAAMC,cAAc,GAAGR,GAAG,CAACS,aAAJ,CAAkBC,SAAzC,CAEA,IAAIC,YAAY,GAAG,EAAnB,CAEA,IAAIR,SAAS,KAAKS,SAAlB,EAA6B,CAC3BD,YAAY,GAAGL,KAAK,CAACO,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAf,CACD,CAFD,MAEO,CACLF,YAAY,GAAGR,SAAf;EACD;;EAED,IAAIQ,YAAY,KAAKH,cAArB,EAAqC;IACnC,OAAOP,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BC,QAAQ,EAAE,KADgB;MAE1BC,OAAO,EAAE,6BAFiB,EAArB,CAAP;;EAID;;EAEDC,
|
|
1
|
+
{"version":3,"file":"encryptController.js","names":["saltRounds","encryptSession","req","res","session","secretkey","params","authorization","token","headers","secureTokenEnv","serverOptions","secretKey","tokenDecrypt","undefined","split","status","json","response","message","bcrypt","hash","err","hashFormat","replace","full"],"sources":["../../src/controller/encryptController.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 bcrypt from 'bcrypt';\n\nconst saltRounds = 10;\n\nexport async function encryptSession(req, res) {\n const { session, secretkey } = req.params;\n const { authorization: token } = req.headers;\n const secureTokenEnv = req.serverOptions.secretKey;\n\n let tokenDecrypt = '';\n\n if (secretkey === undefined) {\n tokenDecrypt = token.split(' ')[0];\n } else {\n tokenDecrypt = secretkey;\n }\n\n if (tokenDecrypt !== secureTokenEnv) {\n return res.status(400).json({\n response: false,\n message: 'The SECRET_KEY is incorrect',\n });\n }\n\n bcrypt.hash(session + secureTokenEnv, saltRounds, function (err, hash) {\n if (err) return res.status(500).json(err);\n\n const hashFormat = hash.replace(/\\//g, '_').replace(/\\+/g, '-');\n return res.status(201).json({\n status: 'success',\n session: session,\n token: hashFormat,\n full: `${session}:${hashFormat}`,\n });\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA,wD,CAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAGA,MAAMA,UAAU,GAAG,EAAnB,CAEO,eAAeC,cAAf,CAA8BC,GAA9B,EAAmCC,GAAnC,EAAwC,CAC7C,MAAM,EAAEC,OAAF,EAAWC,SAAX,KAAyBH,GAAG,CAACI,MAAnC,CACA,MAAM,EAAEC,aAAa,EAAEC,KAAjB,KAA2BN,GAAG,CAACO,OAArC,CACA,MAAMC,cAAc,GAAGR,GAAG,CAACS,aAAJ,CAAkBC,SAAzC,CAEA,IAAIC,YAAY,GAAG,EAAnB,CAEA,IAAIR,SAAS,KAAKS,SAAlB,EAA6B,CAC3BD,YAAY,GAAGL,KAAK,CAACO,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAf,CACD,CAFD,MAEO,CACLF,YAAY,GAAGR,SAAf;EACD;;EAED,IAAIQ,YAAY,KAAKH,cAArB,EAAqC;IACnC,OAAOP,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BC,QAAQ,EAAE,KADgB;MAE1BC,OAAO,EAAE,6BAFiB,EAArB,CAAP;;EAID;;EAEDC,eAAA,CAAOC,IAAP,CAAYjB,OAAO,GAAGM,cAAtB,EAAsCV,UAAtC,EAAkD,UAAUsB,GAAV,EAAeD,IAAf,EAAqB;IACrE,IAAIC,GAAJ,EAAS,OAAOnB,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqBK,GAArB,CAAP;;IAET,MAAMC,UAAU,GAAGF,IAAI,CAACG,OAAL,CAAa,KAAb,EAAoB,GAApB,EAAyBA,OAAzB,CAAiC,KAAjC,EAAwC,GAAxC,CAAnB;IACA,OAAOrB,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,SADkB;MAE1BZ,OAAO,EAAEA,OAFiB;MAG1BI,KAAK,EAAEe,UAHmB;MAI1BE,IAAI,EAAG,GAAErB,OAAQ,IAAGmB,UAAW,EAJL,EAArB,CAAP;;EAMD,CAVD;AAWD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupController.js","names":["getAllGroups","req","res","response","client","status","json","e","logger","error","message","joinGroupByCode","inviteCode","body","send","joinGroup","contact","createGroup","participants","name","infoGroup","group","push","id","gid","user","map","Object","keys","groupInfo","leaveGroup","groupId","messages","getGroupMembers","params","addParticipant","phone","arrayGroups","groups","removeParticipant","promoteParticipant","demoteParticipant","getGroupAdmins","getGroupInviteLink","revokeGroupInviteLink","getAllBroadcastList","getGroupInfoFromInviteLink","invitecode","getGroupMembersIds","setGroupDescription","description","setGroupProperty","property","value","setGroupSubject","title","setMessagesAdminsOnly","changePrivacyGroup","setGroupProfilePic","file","path","pathFile","contato","setProfilePic"],"sources":["../../src/controller/groupController.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 { contactToArray, groupNameToArray, groupToArray, unlinkAsync } from '../util/functions';\n\nexport async function getAllGroups(req, res) {\n try {\n const response = await req.client.getAllGroups();\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n res.status(500).json({ status: 'error', message: 'Error fetching groups' });\n }\n}\n\nexport async function joinGroupByCode(req, res) {\n const { inviteCode } = req.body;\n\n if (!inviteCode) return res.status(400).send({ message: 'Invitation Code is required' });\n\n try {\n await req.client.joinGroup(inviteCode);\n res.status(201).json({\n status: 'success',\n response: { message: 'The informed contact(s) entered the group successfully', contact: inviteCode },\n });\n } catch (error) {\n req.logger.error(error);\n res.status(500).json({ status: 'error', message: 'The informed contact(s) did not join the group successfully' });\n }\n}\n\nexport async function createGroup(req, res) {\n const { participants, name } = req.body;\n\n try {\n let response = {};\n let infoGroup = [];\n\n for (const group of groupNameToArray(name)) {\n response = await req.client.createGroup(group, contactToArray(participants));\n\n infoGroup.push({\n name: group,\n id: response.gid.user,\n participants: response.participants.map((user) => {\n return { user: Object.keys(user)[0] };\n }),\n });\n }\n\n return res.status(201).json({\n status: 'success',\n response: { message: 'Group(s) created successfully', group: name, groupInfo: infoGroup },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error creating group(s)' });\n }\n}\n\nexport async function leaveGroup(req, res) {\n const { groupId } = req.body;\n\n try {\n for (const group of groupToArray(groupId)) {\n await req.client.leaveGroup(group);\n }\n\n return res.status(200).json({\n status: 'success',\n response: { messages: 'Você saiu do grupo com sucesso', group: groupId },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Erro ao sair do(s) grupo(s)' });\n }\n}\n\nexport async function getGroupMembers(req, res) {\n const { groupId } = req.params;\n\n try {\n let response = {};\n for (const group of groupToArray(groupId)) {\n response = await req.client.getGroupMembers(group);\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 group members' });\n }\n}\n\nexport async function addParticipant(req, res) {\n const { groupId, phone } = req.body;\n\n try {\n let response = {};\n let arrayGroups = [];\n\n for (const group of groupToArray(groupId)) {\n response = await req.client.addParticipant(group, contactToArray(phone));\n arrayGroups.push(response);\n }\n\n return res.status(201).json({\n status: 'success',\n response: { message: 'Participant(s) added successfully', participants: phone, groups: arrayGroups },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error adding participant(s)' });\n }\n}\n\nexport async function removeParticipant(req, res) {\n const { groupId, phone } = req.body;\n\n try {\n let response = {};\n let arrayGroups = [];\n\n for (const group of groupToArray(groupId)) {\n response = await req.client.removeParticipant(group, contactToArray(phone));\n arrayGroups.push(response);\n }\n\n return res.status(200).json({\n status: 'success',\n response: { message: 'Participant(s) removed successfully', participants: phone, groups: arrayGroups },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error removing participant(s)' });\n }\n}\n\nexport async function promoteParticipant(req, res) {\n const { groupId, phone } = req.body;\n\n try {\n let arrayGroups = [];\n for (const group of groupToArray(groupId)) {\n await req.client.promoteParticipant(group, contactToArray(phone));\n arrayGroups.push(group);\n }\n\n return res.status(201).json({\n status: 'success',\n response: { message: 'Successful promoted participant(s)', participants: phone, groups: arrayGroups },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error promoting participant(s)' });\n }\n}\n\nexport async function demoteParticipant(req, res) {\n const { groupId, phone } = req.body;\n\n try {\n let arrayGroups = [];\n for (const group of groupToArray(groupId)) {\n await req.client.demoteParticipant(group, contactToArray(phone));\n arrayGroups.push(group);\n }\n\n return res.status(201).json({\n status: 'success',\n response: { message: 'Admin of participant(s) revoked successfully', participants: phone, groups: arrayGroups },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: \"Error revoking participant's admin(s)\" });\n }\n}\n\nexport async function getGroupAdmins(req, res) {\n const { groupId } = req.params;\n\n try {\n let response = {};\n let arrayGroups = [];\n\n for (const group of groupToArray(groupId)) {\n response = await req.client.getGroupAdmins(group);\n arrayGroups.push(response);\n }\n\n return res.status(200).json({ status: 'success', response: arrayGroups });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error retrieving group admin(s)' });\n }\n}\n\nexport async function getGroupInviteLink(req, res) {\n const { groupId } = req.params;\n try {\n let response = {};\n for (const group of groupToArray(groupId)) {\n response = await req.client.getGroupInviteLink(group);\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 group invite link' });\n }\n}\n\nexport async function revokeGroupInviteLink(req, res) {\n const { groupId } = req.params;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.revokeGroupInviteLink(group);\n }\n\n return res.status(200).json({\n status: 'Success',\n response: response,\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(400).json('Error on revoke group invite link');\n }\n}\n\nexport async function getAllBroadcastList(req, res) {\n try {\n let response = await req.client.getAllBroadcastList();\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 broad cast list' });\n }\n}\n\nexport async function getGroupInfoFromInviteLink(req, res) {\n try {\n const { invitecode } = req.body;\n let response = await req.client.getGroupInfoFromInviteLink(invitecode);\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 group info from invite link' });\n }\n}\n\nexport async function getGroupMembersIds(req, res) {\n const { groupId } = req.params;\n let response = {};\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.getGroupMembersIds(group);\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 group members ids' });\n }\n}\n\nexport async function setGroupDescription(req, res) {\n const { groupId, description } = req.body;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.setGroupDescription(group, description);\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 set group description' });\n }\n}\n\nexport async function setGroupProperty(req, res) {\n const { groupId, property, value = true } = req.body;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.setGroupProperty(group, property, value);\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 set group property' });\n }\n}\n\nexport async function setGroupSubject(req, res) {\n const { groupId, title } = req.body;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.setGroupSubject(group, title);\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 set group subject' });\n }\n}\n\nexport async function setMessagesAdminsOnly(req, res) {\n const { groupId, value = true } = req.body;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.setMessagesAdminsOnly(group, value);\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 set messages admins only' });\n }\n}\n\nexport async function changePrivacyGroup(req, res) {\n const { groupId, status } = req.body;\n\n try {\n for (const group of contactToArray(groupId)) {\n await req.client.setMessagesAdminsOnly(group, status === 'true');\n }\n\n return res.status(200).json({ status: 'success', response: { message: 'Group privacy changed successfully' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error changing group privacy' });\n }\n}\n\nexport async function setGroupProfilePic(req, res) {\n const { phone } = req.body;\n\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 for (const contato of contactToArray(phone, true)) {\n await req.client.setProfilePic(pathFile, contato);\n }\n await unlinkAsync(pathFile);\n\n return res\n .status(201)\n .json({ status: 'success', response: { message: 'Group profile photo successfully changed' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error changing group photo' });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"groupController.js","names":["getAllGroups","req","res","response","client","status","json","e","logger","error","message","joinGroupByCode","inviteCode","body","send","joinGroup","contact","createGroup","participants","name","infoGroup","group","groupNameToArray","contactToArray","push","id","gid","user","map","Object","keys","groupInfo","leaveGroup","groupId","groupToArray","messages","getGroupMembers","params","addParticipant","phone","arrayGroups","groups","removeParticipant","promoteParticipant","demoteParticipant","getGroupAdmins","getGroupInviteLink","revokeGroupInviteLink","getAllBroadcastList","getGroupInfoFromInviteLink","invitecode","getGroupMembersIds","setGroupDescription","description","setGroupProperty","property","value","setGroupSubject","title","setMessagesAdminsOnly","changePrivacyGroup","setGroupProfilePic","file","path","pathFile","contato","setProfilePic","unlinkAsync"],"sources":["../../src/controller/groupController.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 { contactToArray, groupNameToArray, groupToArray, unlinkAsync } from '../util/functions';\n\nexport async function getAllGroups(req, res) {\n try {\n const response = await req.client.getAllGroups();\n\n return res.status(200).json({ status: 'success', response: response });\n } catch (e) {\n req.logger.error(e);\n res.status(500).json({ status: 'error', message: 'Error fetching groups' });\n }\n}\n\nexport async function joinGroupByCode(req, res) {\n const { inviteCode } = req.body;\n\n if (!inviteCode) return res.status(400).send({ message: 'Invitation Code is required' });\n\n try {\n await req.client.joinGroup(inviteCode);\n res.status(201).json({\n status: 'success',\n response: { message: 'The informed contact(s) entered the group successfully', contact: inviteCode },\n });\n } catch (error) {\n req.logger.error(error);\n res.status(500).json({ status: 'error', message: 'The informed contact(s) did not join the group successfully' });\n }\n}\n\nexport async function createGroup(req, res) {\n const { participants, name } = req.body;\n\n try {\n let response = {};\n let infoGroup = [];\n\n for (const group of groupNameToArray(name)) {\n response = await req.client.createGroup(group, contactToArray(participants));\n\n infoGroup.push({\n name: group,\n id: response.gid.user,\n participants: response.participants.map((user) => {\n return { user: Object.keys(user)[0] };\n }),\n });\n }\n\n return res.status(201).json({\n status: 'success',\n response: { message: 'Group(s) created successfully', group: name, groupInfo: infoGroup },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error creating group(s)' });\n }\n}\n\nexport async function leaveGroup(req, res) {\n const { groupId } = req.body;\n\n try {\n for (const group of groupToArray(groupId)) {\n await req.client.leaveGroup(group);\n }\n\n return res.status(200).json({\n status: 'success',\n response: { messages: 'Você saiu do grupo com sucesso', group: groupId },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Erro ao sair do(s) grupo(s)' });\n }\n}\n\nexport async function getGroupMembers(req, res) {\n const { groupId } = req.params;\n\n try {\n let response = {};\n for (const group of groupToArray(groupId)) {\n response = await req.client.getGroupMembers(group);\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 group members' });\n }\n}\n\nexport async function addParticipant(req, res) {\n const { groupId, phone } = req.body;\n\n try {\n let response = {};\n let arrayGroups = [];\n\n for (const group of groupToArray(groupId)) {\n response = await req.client.addParticipant(group, contactToArray(phone));\n arrayGroups.push(response);\n }\n\n return res.status(201).json({\n status: 'success',\n response: { message: 'Participant(s) added successfully', participants: phone, groups: arrayGroups },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error adding participant(s)' });\n }\n}\n\nexport async function removeParticipant(req, res) {\n const { groupId, phone } = req.body;\n\n try {\n let response = {};\n let arrayGroups = [];\n\n for (const group of groupToArray(groupId)) {\n response = await req.client.removeParticipant(group, contactToArray(phone));\n arrayGroups.push(response);\n }\n\n return res.status(200).json({\n status: 'success',\n response: { message: 'Participant(s) removed successfully', participants: phone, groups: arrayGroups },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error removing participant(s)' });\n }\n}\n\nexport async function promoteParticipant(req, res) {\n const { groupId, phone } = req.body;\n\n try {\n let arrayGroups = [];\n for (const group of groupToArray(groupId)) {\n await req.client.promoteParticipant(group, contactToArray(phone));\n arrayGroups.push(group);\n }\n\n return res.status(201).json({\n status: 'success',\n response: { message: 'Successful promoted participant(s)', participants: phone, groups: arrayGroups },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error promoting participant(s)' });\n }\n}\n\nexport async function demoteParticipant(req, res) {\n const { groupId, phone } = req.body;\n\n try {\n let arrayGroups = [];\n for (const group of groupToArray(groupId)) {\n await req.client.demoteParticipant(group, contactToArray(phone));\n arrayGroups.push(group);\n }\n\n return res.status(201).json({\n status: 'success',\n response: { message: 'Admin of participant(s) revoked successfully', participants: phone, groups: arrayGroups },\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: \"Error revoking participant's admin(s)\" });\n }\n}\n\nexport async function getGroupAdmins(req, res) {\n const { groupId } = req.params;\n\n try {\n let response = {};\n let arrayGroups = [];\n\n for (const group of groupToArray(groupId)) {\n response = await req.client.getGroupAdmins(group);\n arrayGroups.push(response);\n }\n\n return res.status(200).json({ status: 'success', response: arrayGroups });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error retrieving group admin(s)' });\n }\n}\n\nexport async function getGroupInviteLink(req, res) {\n const { groupId } = req.params;\n try {\n let response = {};\n for (const group of groupToArray(groupId)) {\n response = await req.client.getGroupInviteLink(group);\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 group invite link' });\n }\n}\n\nexport async function revokeGroupInviteLink(req, res) {\n const { groupId } = req.params;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.revokeGroupInviteLink(group);\n }\n\n return res.status(200).json({\n status: 'Success',\n response: response,\n });\n } catch (e) {\n req.logger.error(e);\n return res.status(400).json('Error on revoke group invite link');\n }\n}\n\nexport async function getAllBroadcastList(req, res) {\n try {\n let response = await req.client.getAllBroadcastList();\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 broad cast list' });\n }\n}\n\nexport async function getGroupInfoFromInviteLink(req, res) {\n try {\n const { invitecode } = req.body;\n let response = await req.client.getGroupInfoFromInviteLink(invitecode);\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 group info from invite link' });\n }\n}\n\nexport async function getGroupMembersIds(req, res) {\n const { groupId } = req.params;\n let response = {};\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.getGroupMembersIds(group);\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 group members ids' });\n }\n}\n\nexport async function setGroupDescription(req, res) {\n const { groupId, description } = req.body;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.setGroupDescription(group, description);\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 set group description' });\n }\n}\n\nexport async function setGroupProperty(req, res) {\n const { groupId, property, value = true } = req.body;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.setGroupProperty(group, property, value);\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 set group property' });\n }\n}\n\nexport async function setGroupSubject(req, res) {\n const { groupId, title } = req.body;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.setGroupSubject(group, title);\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 set group subject' });\n }\n}\n\nexport async function setMessagesAdminsOnly(req, res) {\n const { groupId, value = true } = req.body;\n\n let response = {};\n\n try {\n for (const group of groupToArray(groupId)) {\n response = await req.client.setMessagesAdminsOnly(group, value);\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 set messages admins only' });\n }\n}\n\nexport async function changePrivacyGroup(req, res) {\n const { groupId, status } = req.body;\n\n try {\n for (const group of contactToArray(groupId)) {\n await req.client.setMessagesAdminsOnly(group, status === 'true');\n }\n\n return res.status(200).json({ status: 'success', response: { message: 'Group privacy changed successfully' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error changing group privacy' });\n }\n}\n\nexport async function setGroupProfilePic(req, res) {\n const { phone } = req.body;\n\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 for (const contato of contactToArray(phone, true)) {\n await req.client.setProfilePic(pathFile, contato);\n }\n await unlinkAsync(pathFile);\n\n return res\n .status(201)\n .json({ status: 'success', response: { message: 'Group profile photo successfully changed' } });\n } catch (e) {\n req.logger.error(e);\n return res.status(500).json({ status: 'error', message: 'Error changing group photo' });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA,8C,CAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAGO,eAAeA,YAAf,CAA4BC,GAA5B,EAAiCC,GAAjC,EAAsC,CAC3C,IAAI,CACF,MAAMC,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWJ,YAAX,EAAvB,CAEA,OAAOE,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP,CACD,CAJD,CAIE,OAAOI,CAAP,EAAU,CACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB,EACAL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,uBAA5B,EAArB,EACD,CACF,CAEM,eAAeC,eAAf,CAA+BV,GAA/B,EAAoCC,GAApC,EAAyC,CAC9C,MAAM,EAAEU,UAAF,KAAiBX,GAAG,CAACY,IAA3B;;EAEA,IAAI,CAACD,UAAL,EAAiB,OAAOV,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBS,IAAhB,CAAqB,EAAEJ,OAAO,EAAE,6BAAX,EAArB,CAAP;;EAEjB,IAAI;IACF,MAAMT,GAAG,CAACG,MAAJ,CAAWW,SAAX,CAAqBH,UAArB,CAAN;IACAV,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MACnBD,MAAM,EAAE,SADW;MAEnBF,QAAQ,EAAE,EAAEO,OAAO,EAAE,wDAAX,EAAqEM,OAAO,EAAEJ,UAA9E,EAFS,EAArB;;EAID,CAND,CAME,OAAOH,KAAP,EAAc;IACdR,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBA,KAAjB;IACAP,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,6DAA5B,EAArB;EACD;AACF;;AAEM,eAAeO,WAAf,CAA2BhB,GAA3B,EAAgCC,GAAhC,EAAqC;EAC1C,MAAM,EAAEgB,YAAF,EAAgBC,IAAhB,KAAyBlB,GAAG,CAACY,IAAnC;;EAEA,IAAI;IACF,IAAIV,QAAQ,GAAG,EAAf;IACA,IAAIiB,SAAS,GAAG,EAAhB;;IAEA,KAAK,MAAMC,KAAX,IAAoB,IAAAC,2BAAA,EAAiBH,IAAjB,CAApB,EAA4C;MAC1ChB,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWa,WAAX,CAAuBI,KAAvB,EAA8B,IAAAE,yBAAA,EAAeL,YAAf,CAA9B,CAAjB;;MAEAE,SAAS,CAACI,IAAV,CAAe;QACbL,IAAI,EAAEE,KADO;QAEbI,EAAE,EAAEtB,QAAQ,CAACuB,GAAT,CAAaC,IAFJ;QAGbT,YAAY,EAAEf,QAAQ,CAACe,YAAT,CAAsBU,GAAtB,CAA0B,CAACD,IAAD,KAAU;UAChD,OAAO,EAAEA,IAAI,EAAEE,MAAM,CAACC,IAAP,CAAYH,IAAZ,EAAkB,CAAlB,CAAR,EAAP;QACD,CAFa,CAHD,EAAf;;IAOD;;IAED,OAAOzB,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,SADkB;MAE1BF,QAAQ,EAAE,EAAEO,OAAO,EAAE,+BAAX,EAA4CW,KAAK,EAAEF,IAAnD,EAAyDY,SAAS,EAAEX,SAApE,EAFgB,EAArB,CAAP;;EAID,CApBD,CAoBE,OAAOb,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,yBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAesB,UAAf,CAA0B/B,GAA1B,EAA+BC,GAA/B,EAAoC;EACzC,MAAM,EAAE+B,OAAF,KAAchC,GAAG,CAACY,IAAxB;;EAEA,IAAI;IACF,KAAK,MAAMQ,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC,MAAMhC,GAAG,CAACG,MAAJ,CAAW4B,UAAX,CAAsBX,KAAtB,CAAN;IACD;;IAED,OAAOnB,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,SADkB;MAE1BF,QAAQ,EAAE,EAAEgC,QAAQ,EAAE,gCAAZ,EAA8Cd,KAAK,EAAEY,OAArD,EAFgB,EAArB,CAAP;;EAID,CATD,CASE,OAAO1B,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,6BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe0B,eAAf,CAA+BnC,GAA/B,EAAoCC,GAApC,EAAyC;EAC9C,MAAM,EAAE+B,OAAF,KAAchC,GAAG,CAACoC,MAAxB;;EAEA,IAAI;IACF,IAAIlC,QAAQ,GAAG,EAAf;IACA,KAAK,MAAMkB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWgC,eAAX,CAA2Bf,KAA3B,CAAjB;IACD;IACD,OAAOnB,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAND,CAME,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,4BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe4B,cAAf,CAA8BrC,GAA9B,EAAmCC,GAAnC,EAAwC;EAC7C,MAAM,EAAE+B,OAAF,EAAWM,KAAX,KAAqBtC,GAAG,CAACY,IAA/B;;EAEA,IAAI;IACF,IAAIV,QAAQ,GAAG,EAAf;IACA,IAAIqC,WAAW,GAAG,EAAlB;;IAEA,KAAK,MAAMnB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWkC,cAAX,CAA0BjB,KAA1B,EAAiC,IAAAE,yBAAA,EAAegB,KAAf,CAAjC,CAAjB;MACAC,WAAW,CAAChB,IAAZ,CAAiBrB,QAAjB;IACD;;IAED,OAAOD,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,SADkB;MAE1BF,QAAQ,EAAE,EAAEO,OAAO,EAAE,mCAAX,EAAgDQ,YAAY,EAAEqB,KAA9D,EAAqEE,MAAM,EAAED,WAA7E,EAFgB,EAArB,CAAP;;EAID,CAbD,CAaE,OAAOjC,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,6BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAegC,iBAAf,CAAiCzC,GAAjC,EAAsCC,GAAtC,EAA2C;EAChD,MAAM,EAAE+B,OAAF,EAAWM,KAAX,KAAqBtC,GAAG,CAACY,IAA/B;;EAEA,IAAI;IACF,IAAIV,QAAQ,GAAG,EAAf;IACA,IAAIqC,WAAW,GAAG,EAAlB;;IAEA,KAAK,MAAMnB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWsC,iBAAX,CAA6BrB,KAA7B,EAAoC,IAAAE,yBAAA,EAAegB,KAAf,CAApC,CAAjB;MACAC,WAAW,CAAChB,IAAZ,CAAiBrB,QAAjB;IACD;;IAED,OAAOD,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,SADkB;MAE1BF,QAAQ,EAAE,EAAEO,OAAO,EAAE,qCAAX,EAAkDQ,YAAY,EAAEqB,KAAhE,EAAuEE,MAAM,EAAED,WAA/E,EAFgB,EAArB,CAAP;;EAID,CAbD,CAaE,OAAOjC,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,+BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeiC,kBAAf,CAAkC1C,GAAlC,EAAuCC,GAAvC,EAA4C;EACjD,MAAM,EAAE+B,OAAF,EAAWM,KAAX,KAAqBtC,GAAG,CAACY,IAA/B;;EAEA,IAAI;IACF,IAAI2B,WAAW,GAAG,EAAlB;IACA,KAAK,MAAMnB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC,MAAMhC,GAAG,CAACG,MAAJ,CAAWuC,kBAAX,CAA8BtB,KAA9B,EAAqC,IAAAE,yBAAA,EAAegB,KAAf,CAArC,CAAN;MACAC,WAAW,CAAChB,IAAZ,CAAiBH,KAAjB;IACD;;IAED,OAAOnB,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,SADkB;MAE1BF,QAAQ,EAAE,EAAEO,OAAO,EAAE,oCAAX,EAAiDQ,YAAY,EAAEqB,KAA/D,EAAsEE,MAAM,EAAED,WAA9E,EAFgB,EAArB,CAAP;;EAID,CAXD,CAWE,OAAOjC,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,gCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAekC,iBAAf,CAAiC3C,GAAjC,EAAsCC,GAAtC,EAA2C;EAChD,MAAM,EAAE+B,OAAF,EAAWM,KAAX,KAAqBtC,GAAG,CAACY,IAA/B;;EAEA,IAAI;IACF,IAAI2B,WAAW,GAAG,EAAlB;IACA,KAAK,MAAMnB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC,MAAMhC,GAAG,CAACG,MAAJ,CAAWwC,iBAAX,CAA6BvB,KAA7B,EAAoC,IAAAE,yBAAA,EAAegB,KAAf,CAApC,CAAN;MACAC,WAAW,CAAChB,IAAZ,CAAiBH,KAAjB;IACD;;IAED,OAAOnB,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,SADkB;MAE1BF,QAAQ,EAAE,EAAEO,OAAO,EAAE,8CAAX,EAA2DQ,YAAY,EAAEqB,KAAzE,EAAgFE,MAAM,EAAED,WAAxF,EAFgB,EAArB,CAAP;;EAID,CAXD,CAWE,OAAOjC,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,uCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAemC,cAAf,CAA8B5C,GAA9B,EAAmCC,GAAnC,EAAwC;EAC7C,MAAM,EAAE+B,OAAF,KAAchC,GAAG,CAACoC,MAAxB;;EAEA,IAAI;IACF,IAAIlC,QAAQ,GAAG,EAAf;IACA,IAAIqC,WAAW,GAAG,EAAlB;;IAEA,KAAK,MAAMnB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWyC,cAAX,CAA0BxB,KAA1B,CAAjB;MACAmB,WAAW,CAAChB,IAAZ,CAAiBrB,QAAjB;IACD;;IAED,OAAOD,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEqC,WAA/B,EAArB,CAAP;EACD,CAVD,CAUE,OAAOjC,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,iCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeoC,kBAAf,CAAkC7C,GAAlC,EAAuCC,GAAvC,EAA4C;EACjD,MAAM,EAAE+B,OAAF,KAAchC,GAAG,CAACoC,MAAxB;EACA,IAAI;IACF,IAAIlC,QAAQ,GAAG,EAAf;IACA,KAAK,MAAMkB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAW0C,kBAAX,CAA8BzB,KAA9B,CAAjB;IACD;;IAED,OAAOnB,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAPD,CAOE,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,gCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeqC,qBAAf,CAAqC9C,GAArC,EAA0CC,GAA1C,EAA+C;EACpD,MAAM,EAAE+B,OAAF,KAAchC,GAAG,CAACoC,MAAxB;;EAEA,IAAIlC,QAAQ,GAAG,EAAf;;EAEA,IAAI;IACF,KAAK,MAAMkB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAW2C,qBAAX,CAAiC1B,KAAjC,CAAjB;IACD;;IAED,OAAOnB,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,SADkB;MAE1BF,QAAQ,EAAEA,QAFgB,EAArB,CAAP;;EAID,CATD,CASE,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,mCAArB,CAAP;EACD;AACF;;AAEM,eAAe0C,mBAAf,CAAmC/C,GAAnC,EAAwCC,GAAxC,EAA6C;EAClD,IAAI;IACF,IAAIC,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAW4C,mBAAX,EAArB;IACA,OAAO9C,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAHD,CAGE,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,kCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeuC,0BAAf,CAA0ChD,GAA1C,EAA+CC,GAA/C,EAAoD;EACzD,IAAI;IACF,MAAM,EAAEgD,UAAF,KAAiBjD,GAAG,CAACY,IAA3B;IACA,IAAIV,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAW6C,0BAAX,CAAsCC,UAAtC,CAArB;IACA,OAAOhD,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAJD,CAIE,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,0CAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeyC,kBAAf,CAAkClD,GAAlC,EAAuCC,GAAvC,EAA4C;EACjD,MAAM,EAAE+B,OAAF,KAAchC,GAAG,CAACoC,MAAxB;EACA,IAAIlC,QAAQ,GAAG,EAAf;EACA,IAAI;IACF,KAAK,MAAMkB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAW+C,kBAAX,CAA8B9B,KAA9B,CAAjB;IACD;IACD,OAAOnB,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CALD,CAKE,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,gCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe0C,mBAAf,CAAmCnD,GAAnC,EAAwCC,GAAxC,EAA6C;EAClD,MAAM,EAAE+B,OAAF,EAAWoB,WAAX,KAA2BpD,GAAG,CAACY,IAArC;;EAEA,IAAIV,QAAQ,GAAG,EAAf;;EAEA,IAAI;IACF,KAAK,MAAMkB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWgD,mBAAX,CAA+B/B,KAA/B,EAAsCgC,WAAtC,CAAjB;IACD;;IAED,OAAOnD,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAND,CAME,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,gCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe4C,gBAAf,CAAgCrD,GAAhC,EAAqCC,GAArC,EAA0C;EAC/C,MAAM,EAAE+B,OAAF,EAAWsB,QAAX,EAAqBC,KAAK,GAAG,IAA7B,KAAsCvD,GAAG,CAACY,IAAhD;;EAEA,IAAIV,QAAQ,GAAG,EAAf;;EAEA,IAAI;IACF,KAAK,MAAMkB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWkD,gBAAX,CAA4BjC,KAA5B,EAAmCkC,QAAnC,EAA6CC,KAA7C,CAAjB;IACD;;IAED,OAAOtD,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAND,CAME,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,6BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe+C,eAAf,CAA+BxD,GAA/B,EAAoCC,GAApC,EAAyC;EAC9C,MAAM,EAAE+B,OAAF,EAAWyB,KAAX,KAAqBzD,GAAG,CAACY,IAA/B;;EAEA,IAAIV,QAAQ,GAAG,EAAf;;EAEA,IAAI;IACF,KAAK,MAAMkB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWqD,eAAX,CAA2BpC,KAA3B,EAAkCqC,KAAlC,CAAjB;IACD;;IAED,OAAOxD,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAND,CAME,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,4BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeiD,qBAAf,CAAqC1D,GAArC,EAA0CC,GAA1C,EAA+C;EACpD,MAAM,EAAE+B,OAAF,EAAWuB,KAAK,GAAG,IAAnB,KAA4BvD,GAAG,CAACY,IAAtC;;EAEA,IAAIV,QAAQ,GAAG,EAAf;;EAEA,IAAI;IACF,KAAK,MAAMkB,KAAX,IAAoB,IAAAa,uBAAA,EAAaD,OAAb,CAApB,EAA2C;MACzC9B,QAAQ,GAAG,MAAMF,GAAG,CAACG,MAAJ,CAAWuD,qBAAX,CAAiCtC,KAAjC,EAAwCmC,KAAxC,CAAjB;IACD;;IAED,OAAOtD,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAEA,QAA/B,EAArB,CAAP;EACD,CAND,CAME,OAAOI,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,mCAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAekD,kBAAf,CAAkC3D,GAAlC,EAAuCC,GAAvC,EAA4C;EACjD,MAAM,EAAE+B,OAAF,EAAW5B,MAAX,KAAsBJ,GAAG,CAACY,IAAhC;;EAEA,IAAI;IACF,KAAK,MAAMQ,KAAX,IAAoB,IAAAE,yBAAA,EAAeU,OAAf,CAApB,EAA6C;MAC3C,MAAMhC,GAAG,CAACG,MAAJ,CAAWuD,qBAAX,CAAiCtC,KAAjC,EAAwChB,MAAM,KAAK,MAAnD,CAAN;IACD;;IAED,OAAOH,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAE,EAAEO,OAAO,EAAE,oCAAX,EAA/B,EAArB,CAAP;EACD,CAND,CAME,OAAOH,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,8BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAemD,kBAAf,CAAkC5D,GAAlC,EAAuCC,GAAvC,EAA4C;EACjD,MAAM,EAAEqC,KAAF,KAAYtC,GAAG,CAACY,IAAtB;;EAEA,IAAI,CAACZ,GAAG,CAAC6D,IAAT,EAAe,OAAO5D,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,6BAA5B,EAArB,CAAP;;EAEf,IAAI;IACF,MAAM,EAAEqD,IAAI,EAAEC,QAAR,KAAqB/D,GAAG,CAAC6D,IAA/B;;IAEA,KAAK,MAAMG,OAAX,IAAsB,IAAA1C,yBAAA,EAAegB,KAAf,EAAsB,IAAtB,CAAtB,EAAmD;MACjD,MAAMtC,GAAG,CAACG,MAAJ,CAAW8D,aAAX,CAAyBF,QAAzB,EAAmCC,OAAnC,CAAN;IACD;IACD,MAAM,IAAAE,sBAAA,EAAYH,QAAZ,CAAN;;IAEA,OAAO9D,GAAG;IACPG,MADI,CACG,GADH;IAEJC,IAFI,CAEC,EAAED,MAAM,EAAE,SAAV,EAAqBF,QAAQ,EAAE,EAAEO,OAAO,EAAE,0CAAX,EAA/B,EAFD,CAAP;EAGD,CAXD,CAWE,OAAOH,CAAP,EAAU;IACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB;IACA,OAAOL,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBK,OAAO,EAAE,4BAA5B,EAArB,CAAP;EACD;AACF"}
|
|
@@ -126,7 +126,7 @@ async function sendVoice(req, res) {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
async function sendVoice64(req, res) {
|
|
129
|
-
const { phone,
|
|
129
|
+
const { phone, base64Ptt } = req.body;
|
|
130
130
|
|
|
131
131
|
try {
|
|
132
132
|
let results = [];
|
|
@@ -174,23 +174,16 @@ async function sendLocation(req, res) {
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
async function sendButtons(req, res) {
|
|
177
|
-
const { phone, message
|
|
177
|
+
const { phone, message, options } = req.body;
|
|
178
178
|
|
|
179
179
|
try {
|
|
180
180
|
let results = [];
|
|
181
181
|
|
|
182
182
|
for (const contact of phone) {
|
|
183
|
-
results.push(
|
|
184
|
-
await req.client.sendMessageOptions(contact, message, {
|
|
185
|
-
title: title,
|
|
186
|
-
footer: footer,
|
|
187
|
-
isDynamicReplyButtonsMsg: dynamic_reply,
|
|
188
|
-
dynamicReplyButtons: buttons }));
|
|
189
|
-
|
|
190
|
-
|
|
183
|
+
results.push(await req.client.sendText(contact, message, options));
|
|
191
184
|
}
|
|
192
185
|
|
|
193
|
-
if (results.length === 0) return returnError(req, res, 'Error sending message');
|
|
186
|
+
if (results.length === 0) return returnError(req, res, 'Error sending message with buttons');
|
|
194
187
|
|
|
195
188
|
returnSucess(res, phone, results);
|
|
196
189
|
} catch (error) {
|