@wppconnect/server 1.6.4 → 1.7.1

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +20 -0
  3. package/dist/config/upload.js.map +1 -1
  4. package/dist/controller/catalogController.js +209 -0
  5. package/dist/controller/catalogController.js.map +1 -0
  6. package/dist/controller/deviceController.js +7 -7
  7. package/dist/controller/deviceController.js.map +1 -1
  8. package/dist/controller/encryptController.js +4 -4
  9. package/dist/controller/encryptController.js.map +1 -1
  10. package/dist/controller/groupController.js +25 -20
  11. package/dist/controller/groupController.js.map +1 -1
  12. package/dist/controller/labelsController.js +4 -4
  13. package/dist/controller/labelsController.js.map +1 -1
  14. package/dist/controller/messageController.js +31 -13
  15. package/dist/controller/messageController.js.map +1 -1
  16. package/dist/controller/orderController.js +6 -6
  17. package/dist/controller/orderController.js.map +1 -1
  18. package/dist/controller/sessionController.js +35 -28
  19. package/dist/controller/sessionController.js.map +1 -1
  20. package/dist/controller/statusController.js +6 -6
  21. package/dist/controller/statusController.js.map +1 -1
  22. package/dist/index.js +4 -4
  23. package/dist/index.js.map +1 -1
  24. package/dist/mapper/index.js.map +1 -1
  25. package/dist/mapper/tagone-chat.js +6 -5
  26. package/dist/mapper/tagone-chat.js.map +1 -1
  27. package/dist/mapper/tagone-device.js +18 -17
  28. package/dist/mapper/tagone-device.js.map +1 -1
  29. package/dist/mapper/tagone-message-document.js +5 -3
  30. package/dist/mapper/tagone-message-document.js.map +1 -1
  31. package/dist/mapper/tagone-message-image.js +5 -3
  32. package/dist/mapper/tagone-message-image.js.map +1 -1
  33. package/dist/mapper/tagone-message-location.js +2 -1
  34. package/dist/mapper/tagone-message-location.js.map +1 -1
  35. package/dist/mapper/tagone-message-video.js +5 -3
  36. package/dist/mapper/tagone-message-video.js.map +1 -1
  37. package/dist/mapper/tagone-message.js +8 -7
  38. package/dist/mapper/tagone-message.js.map +1 -1
  39. package/dist/mapper/tagone-onack.js +2 -1
  40. package/dist/mapper/tagone-onack.js.map +1 -1
  41. package/dist/mapper/tagone-return.js +7 -5
  42. package/dist/mapper/tagone-return.js.map +1 -1
  43. package/dist/middleware/auth.js +2 -2
  44. package/dist/middleware/auth.js.map +1 -1
  45. package/dist/middleware/healthCheck.js +2 -2
  46. package/dist/middleware/healthCheck.js.map +1 -1
  47. package/dist/middleware/statusConnection.js +6 -6
  48. package/dist/middleware/statusConnection.js.map +1 -1
  49. package/dist/routes/index.js +22 -0
  50. package/dist/routes/index.js.map +1 -1
  51. package/dist/server.js.map +1 -1
  52. package/dist/swagger.json +67 -1
  53. package/dist/util/chatWootClient.js +19 -18
  54. package/dist/util/chatWootClient.js.map +1 -1
  55. package/dist/util/createSessionUtil.js +10 -9
  56. package/dist/util/createSessionUtil.js.map +1 -1
  57. package/dist/util/db/mongodb/db.js +4 -4
  58. package/dist/util/db/mongodb/db.js.map +1 -1
  59. package/dist/util/db/redis/db.js +2 -2
  60. package/dist/util/db/redis/db.js.map +1 -1
  61. package/dist/util/functions.js +2 -2
  62. package/dist/util/functions.js.map +1 -1
  63. package/dist/util/getAllTokens.js.map +1 -1
  64. package/dist/util/logger.js +4 -4
  65. package/dist/util/logger.js.map +1 -1
  66. package/dist/util/sessionUtil.js.map +1 -1
  67. package/dist/util/tokenStore/factory.js.map +1 -1
  68. package/dist/util/tokenStore/fileTokenStory.js +2 -2
  69. package/dist/util/tokenStore/fileTokenStory.js.map +1 -1
  70. package/dist/util/tokenStore/firebaseTokenStory.js.map +1 -1
  71. package/dist/util/tokenStore/model/token.js +2 -2
  72. package/dist/util/tokenStore/model/token.js.map +1 -1
  73. package/dist/util/tokenStore/mongodbTokenStory.js +2 -2
  74. package/dist/util/tokenStore/mongodbTokenStory.js.map +1 -1
  75. package/dist/util/tokenStore/redisTokenStory.js +2 -2
  76. package/dist/util/tokenStore/redisTokenStory.js.map +1 -1
  77. package/package.json +18 -17
@@ -32,8 +32,8 @@ var _sessionUtil = require("./sessionUtil"); /*
32
32
  * See the License for the specific language governing permissions and
33
33
  * limitations under the License.
34
34
  */class chatWootClient {constructor(config, session) {this.config = config;this.mobile_name = this.config.mobile_name ? this.config.mobile_name : `WPPConnect`;this.mobile_number = this.config.mobile_number ? this.config.mobile_number : '5511999999999';this.sender = { pushname: this.mobile_name, id: this.mobile_number };this.account_id = this.config.account_id;this.inbox_id = this.config.inbox_id;this.api = _axios.default.create({ baseURL: this.config.baseURL,
35
- headers: { 'Content-Type': 'application/json;charset=utf-8', api_access_token: this.config.token } });
36
-
35
+ headers: { 'Content-Type': 'application/json;charset=utf-8', api_access_token: this.config.token }
36
+ });
37
37
 
38
38
  //assina o evento do qrcode
39
39
  _sessionUtil.eventEmitter.on(`qrcode-${session}`, (qrCode, urlCode, client) => {
@@ -45,8 +45,8 @@ var _sessionUtil = require("./sessionUtil"); /*
45
45
  timestamp: 'qrcode',
46
46
  mimetype: 'image/png',
47
47
  caption: 'leia o qrCode',
48
- qrCode: qrCode.replace('data:image/png;base64,', '') });
49
-
48
+ qrCode: qrCode.replace('data:image/png;base64,', '')
49
+ });
50
50
  }, 1000);
51
51
  });
52
52
 
@@ -55,8 +55,8 @@ var _sessionUtil = require("./sessionUtil"); /*
55
55
  this.sendMessage(client, {
56
56
  sender: this.sender,
57
57
  chatId: this.mobile_number + '@c.us',
58
- body: `wppconnect status: ${status} ` });
59
-
58
+ body: `wppconnect status: ${status} `
59
+ });
60
60
  });
61
61
 
62
62
  //assina o evento de mensagem
@@ -99,8 +99,8 @@ var _sessionUtil = require("./sessionUtil"); /*
99
99
  }
100
100
  data.append('attachments[]', (0, _bufferToStream.default)(mediaData), {
101
101
  filename: filename,
102
- contentType: message.mimetype });
103
-
102
+ contentType: message.mimetype
103
+ });
104
104
  data.append('message_type', 'incoming');
105
105
  data.append('private', 'false');
106
106
 
@@ -110,9 +110,9 @@ var _sessionUtil = require("./sessionUtil"); /*
110
110
  baseURL: this.config.baseURL,
111
111
  headers: {
112
112
  'Content-Type': 'application/json;charset=utf-8',
113
- api_access_token: this.config.token } });
114
-
115
-
113
+ api_access_token: this.config.token
114
+ }
115
+ });
116
116
 
117
117
  configPost.headers = { ...configPost.headers, ...data.getHeaders() };
118
118
 
@@ -126,8 +126,8 @@ var _sessionUtil = require("./sessionUtil"); /*
126
126
  } else {
127
127
  let body = {
128
128
  content: message.body,
129
- message_type: 'incoming' };
130
-
129
+ message_type: 'incoming'
130
+ };
131
131
  const { data } = await this.api.post(
132
132
  `api/v1/accounts/${this.account_id}/conversations/${conversation.id}/messages`,
133
133
  body);
@@ -155,8 +155,8 @@ var _sessionUtil = require("./sessionUtil"); /*
155
155
  name: message.sender.isMyContact ?
156
156
  message.sender.formattedName :
157
157
  message.sender.pushname || message.sender.formattedName,
158
- phone_number: typeof message.sender.id == 'object' ? message.sender.id.user : message.sender.id.split('@')[0] };
159
-
158
+ phone_number: typeof message.sender.id == 'object' ? message.sender.id.user : message.sender.id.split('@')[0]
159
+ };
160
160
  body.phone_number = `+${body.phone_number}`;
161
161
  var contact = await this.findContact(body.phone_number.replace('+', ''));
162
162
  if (contact && contact.meta.count > 0) return contact.payload[0];
@@ -190,8 +190,8 @@ var _sessionUtil = require("./sessionUtil"); /*
190
190
  source_id: source_id,
191
191
  inbox_id: this.inbox_id,
192
192
  contact_id: contact.id,
193
- status: 'open' };
194
-
193
+ status: 'open'
194
+ };
195
195
 
196
196
  try {
197
197
  const { data } = await this.api.post(`api/v1/accounts/${this.account_id}/conversations`, body);
@@ -200,5 +200,6 @@ var _sessionUtil = require("./sessionUtil"); /*
200
200
  console.log(e);
201
201
  return null;
202
202
  }
203
- }}exports.default = chatWootClient;
203
+ }
204
+ }exports.default = chatWootClient;
204
205
  //# sourceMappingURL=chatWootClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatWootClient.js","names":["chatWootClient","constructor","config","session","mobile_name","mobile_number","sender","pushname","id","account_id","inbox_id","api","axios","create","baseURL","headers","api_access_token","token","eventEmitter","on","qrCode","urlCode","client","setTimeout","sendMessage","chatId","type","timestamp","mimetype","caption","replace","status","body","message","isGroupMsg","indexOf","contact","createContact","conversation","createConversation","split","extension","mime","filename","b64","buffer","decryptFile","toString","mediaData","Buffer","from","data","FormData","append","toStream","contentType","configPost","Object","assign","getHeaders","result","post","content","message_type","e","findContact","query","get","console","log","name","isMyContact","formattedName","phone_number","user","meta","count","payload","findConversation","find","source_id","contact_id"],"sources":["../../src/util/chatWootClient.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 axios from 'axios';\nimport { default as FormData } from 'form-data';\nimport mime from 'mime-types';\nimport toStream from 'buffer-to-stream';\nimport { eventEmitter } from './sessionUtil';\n\nexport default class chatWootClient {\n constructor(config, session) {\n this.config = config;\n this.mobile_name = this.config.mobile_name ? this.config.mobile_name : `WPPConnect`;\n this.mobile_number = this.config.mobile_number ? this.config.mobile_number : '5511999999999';\n this.sender = {\n pushname: this.mobile_name,\n id: this.mobile_number,\n };\n this.account_id = this.config.account_id;\n this.inbox_id = this.config.inbox_id;\n this.api = axios.create({\n baseURL: this.config.baseURL,\n headers: { 'Content-Type': 'application/json;charset=utf-8', api_access_token: this.config.token },\n });\n\n //assina o evento do qrcode\n eventEmitter.on(`qrcode-${session}`, (qrCode, urlCode, client) => {\n setTimeout(async () => {\n this.sendMessage(client, {\n sender: this.sender,\n chatId: this.mobile_number + '@c.us',\n type: 'image',\n timestamp: 'qrcode',\n mimetype: 'image/png',\n caption: 'leia o qrCode',\n qrCode: qrCode.replace('data:image/png;base64,', ''),\n });\n }, 1000);\n });\n\n //assiona o evento do status\n eventEmitter.on(`status-${session}`, (client, status) => {\n this.sendMessage(client, {\n sender: this.sender,\n chatId: this.mobile_number + '@c.us',\n body: `wppconnect status: ${status} `,\n });\n });\n\n //assina o evento de mensagem\n eventEmitter.on(`mensagem-${session}`, (client, message) => {\n this.sendMessage(client, message);\n });\n }\n\n async sendMessage(client, message) {\n if (message.isGroupMsg || message.chatId.indexOf('@broadcast') > 0) return;\n let contact = await this.createContact(message);\n let conversation = await this.createConversation(contact, message.chatId.split('@')[0]);\n\n try {\n if (\n message.type == 'image' ||\n message.type == 'video' ||\n message.type == 'in' ||\n message.type == 'document' ||\n message.type == 'ptt' ||\n message.type == 'audio' ||\n message.type == 'sticker'\n ) {\n if (message.mimetype == 'image/webp') message.mimetype = 'image/jpeg';\n const extension = mime.extension(message.mimetype);\n let filename = `${message.timestamp}.${extension}`;\n let b64;\n\n if (message.qrCode) b64 = message.qrCode;\n else {\n let buffer = await client.decryptFile(message);\n b64 = await buffer.toString('base64');\n }\n\n let mediaData = Buffer.from(b64, 'base64');\n\n let data = new FormData();\n if (message.caption) {\n data.append('content', message.caption);\n }\n data.append('attachments[]', toStream(mediaData), {\n filename: filename,\n contentType: message.mimetype,\n });\n data.append('message_type', 'incoming');\n data.append('private', 'false');\n\n let configPost = Object.assign(\n {},\n {\n baseURL: this.config.baseURL,\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n api_access_token: this.config.token,\n },\n }\n );\n configPost.headers = { ...configPost.headers, ...data.getHeaders() };\n\n var result = await axios.post(\n `api/v1/accounts/${this.account_id}/conversations/${conversation.id}/messages`,\n data,\n configPost\n );\n\n return result;\n } else {\n let body = {\n content: message.body,\n message_type: 'incoming',\n };\n const { data } = await this.api.post(\n `api/v1/accounts/${this.account_id}/conversations/${conversation.id}/messages`,\n body\n );\n return data;\n }\n } catch (e) {\n return null;\n }\n }\n\n async findContact(query) {\n try {\n const { data } = await this.api.get(`api/v1/accounts/${this.account_id}/contacts/search/?q=${query}`);\n return data;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async createContact(message) {\n let body = {\n inbox_id: this.inbox_id,\n name: message.sender.isMyContact\n ? message.sender.formattedName\n : message.sender.pushname || message.sender.formattedName,\n phone_number: typeof message.sender.id == 'object' ? message.sender.id.user : message.sender.id.split('@')[0],\n };\n body.phone_number = `+${body.phone_number}`;\n var contact = await this.findContact(body.phone_number.replace('+', ''));\n if (contact && contact.meta.count > 0) return contact.payload[0];\n\n try {\n const data = await this.api.post(`api/v1/accounts/${this.account_id}/contacts`, body);\n return data.data.payload.contact;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async findConversation(contact) {\n try {\n const { data } = await this.api.get(\n `api/v1/accounts/${this.account_id}/conversations?inbox_id=${this.inbox_id}&status=all`\n );\n return data.data.payload.find((e) => e.meta.sender.id == contact.id && e.status != 'resolved');\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async createConversation(contact, source_id) {\n var conversation = await this.findConversation(contact);\n if (conversation) return conversation;\n\n let body = {\n source_id: source_id,\n inbox_id: this.inbox_id,\n contact_id: contact.id,\n status: 'open',\n };\n\n try {\n const { data } = await this.api.post(`api/v1/accounts/${this.account_id}/conversations`, body);\n return data;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"chatWootClient.js","names":["chatWootClient","constructor","config","session","mobile_name","mobile_number","sender","pushname","id","account_id","inbox_id","api","axios","create","baseURL","headers","api_access_token","token","eventEmitter","on","qrCode","urlCode","client","setTimeout","sendMessage","chatId","type","timestamp","mimetype","caption","replace","status","body","message","isGroupMsg","indexOf","contact","createContact","conversation","createConversation","split","extension","mime","filename","b64","buffer","decryptFile","toString","mediaData","Buffer","from","data","FormData","append","toStream","contentType","configPost","Object","assign","getHeaders","result","post","content","message_type","e","findContact","query","get","console","log","name","isMyContact","formattedName","phone_number","user","meta","count","payload","findConversation","find","source_id","contact_id"],"sources":["../../src/util/chatWootClient.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 axios from 'axios';\nimport { default as FormData } from 'form-data';\nimport mime from 'mime-types';\nimport toStream from 'buffer-to-stream';\nimport { eventEmitter } from './sessionUtil';\n\nexport default class chatWootClient {\n constructor(config, session) {\n this.config = config;\n this.mobile_name = this.config.mobile_name ? this.config.mobile_name : `WPPConnect`;\n this.mobile_number = this.config.mobile_number ? this.config.mobile_number : '5511999999999';\n this.sender = {\n pushname: this.mobile_name,\n id: this.mobile_number,\n };\n this.account_id = this.config.account_id;\n this.inbox_id = this.config.inbox_id;\n this.api = axios.create({\n baseURL: this.config.baseURL,\n headers: { 'Content-Type': 'application/json;charset=utf-8', api_access_token: this.config.token },\n });\n\n //assina o evento do qrcode\n eventEmitter.on(`qrcode-${session}`, (qrCode, urlCode, client) => {\n setTimeout(async () => {\n this.sendMessage(client, {\n sender: this.sender,\n chatId: this.mobile_number + '@c.us',\n type: 'image',\n timestamp: 'qrcode',\n mimetype: 'image/png',\n caption: 'leia o qrCode',\n qrCode: qrCode.replace('data:image/png;base64,', ''),\n });\n }, 1000);\n });\n\n //assiona o evento do status\n eventEmitter.on(`status-${session}`, (client, status) => {\n this.sendMessage(client, {\n sender: this.sender,\n chatId: this.mobile_number + '@c.us',\n body: `wppconnect status: ${status} `,\n });\n });\n\n //assina o evento de mensagem\n eventEmitter.on(`mensagem-${session}`, (client, message) => {\n this.sendMessage(client, message);\n });\n }\n\n async sendMessage(client, message) {\n if (message.isGroupMsg || message.chatId.indexOf('@broadcast') > 0) return;\n let contact = await this.createContact(message);\n let conversation = await this.createConversation(contact, message.chatId.split('@')[0]);\n\n try {\n if (\n message.type == 'image' ||\n message.type == 'video' ||\n message.type == 'in' ||\n message.type == 'document' ||\n message.type == 'ptt' ||\n message.type == 'audio' ||\n message.type == 'sticker'\n ) {\n if (message.mimetype == 'image/webp') message.mimetype = 'image/jpeg';\n const extension = mime.extension(message.mimetype);\n let filename = `${message.timestamp}.${extension}`;\n let b64;\n\n if (message.qrCode) b64 = message.qrCode;\n else {\n let buffer = await client.decryptFile(message);\n b64 = await buffer.toString('base64');\n }\n\n let mediaData = Buffer.from(b64, 'base64');\n\n let data = new FormData();\n if (message.caption) {\n data.append('content', message.caption);\n }\n data.append('attachments[]', toStream(mediaData), {\n filename: filename,\n contentType: message.mimetype,\n });\n data.append('message_type', 'incoming');\n data.append('private', 'false');\n\n let configPost = Object.assign(\n {},\n {\n baseURL: this.config.baseURL,\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n api_access_token: this.config.token,\n },\n }\n );\n configPost.headers = { ...configPost.headers, ...data.getHeaders() };\n\n var result = await axios.post(\n `api/v1/accounts/${this.account_id}/conversations/${conversation.id}/messages`,\n data,\n configPost\n );\n\n return result;\n } else {\n let body = {\n content: message.body,\n message_type: 'incoming',\n };\n const { data } = await this.api.post(\n `api/v1/accounts/${this.account_id}/conversations/${conversation.id}/messages`,\n body\n );\n return data;\n }\n } catch (e) {\n return null;\n }\n }\n\n async findContact(query) {\n try {\n const { data } = await this.api.get(`api/v1/accounts/${this.account_id}/contacts/search/?q=${query}`);\n return data;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async createContact(message) {\n let body = {\n inbox_id: this.inbox_id,\n name: message.sender.isMyContact\n ? message.sender.formattedName\n : message.sender.pushname || message.sender.formattedName,\n phone_number: typeof message.sender.id == 'object' ? message.sender.id.user : message.sender.id.split('@')[0],\n };\n body.phone_number = `+${body.phone_number}`;\n var contact = await this.findContact(body.phone_number.replace('+', ''));\n if (contact && contact.meta.count > 0) return contact.payload[0];\n\n try {\n const data = await this.api.post(`api/v1/accounts/${this.account_id}/contacts`, body);\n return data.data.payload.contact;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async findConversation(contact) {\n try {\n const { data } = await this.api.get(\n `api/v1/accounts/${this.account_id}/conversations?inbox_id=${this.inbox_id}&status=all`\n );\n return data.data.payload.find((e) => e.meta.sender.id == contact.id && e.status != 'resolved');\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async createConversation(contact, source_id) {\n var conversation = await this.findConversation(contact);\n if (conversation) return conversation;\n\n let body = {\n source_id: source_id,\n inbox_id: this.inbox_id,\n contact_id: contact.id,\n status: 'open',\n };\n\n try {\n const { data } = await this.api.post(`api/v1/accounts/${this.account_id}/conversations`, body);\n return data;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n}\n"],"mappings":"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"}
@@ -42,8 +42,8 @@ var _chatWootClient = _interopRequireDefault(require("./chatWootClient")); /*
42
42
 
43
43
  if (req.serverOptions.customUserDataDir) {
44
44
  req.serverOptions.createOptions.puppeteerOptions = {
45
- userDataDir: req.serverOptions.customUserDataDir + session };
46
-
45
+ userDataDir: req.serverOptions.customUserDataDir + session
46
+ };
47
47
  }
48
48
 
49
49
  let wppClient = await (0, _wppconnect.create)(
@@ -69,8 +69,8 @@ var _chatWootClient = _interopRequireDefault(require("./chatWootClient")); /*
69
69
  (0, _functions.callWebHook)(client, req, 'status-find', { status: statusFind });
70
70
  req.logger.info(statusFind + '\n\n');
71
71
  } catch (error) {}
72
- } }));
73
-
72
+ }
73
+ }));
74
74
 
75
75
 
76
76
  client = clientsArray[session] = Object.assign(wppClient, client);
@@ -97,16 +97,16 @@ var _chatWootClient = _interopRequireDefault(require("./chatWootClient")); /*
97
97
  Object.assign(client, {
98
98
  status: 'QRCODE',
99
99
  qrcode: qrCode,
100
- urlcode: urlCode });
101
-
100
+ urlcode: urlCode
101
+ });
102
102
 
103
103
  qrCode = qrCode.replace('data:image/png;base64,', '');
104
104
  const imageBuffer = Buffer.from(qrCode, 'base64');
105
105
 
106
106
  req.io.emit('qrCode', {
107
107
  data: 'data:image/png;base64,' + imageBuffer.toString('base64'),
108
- session: client.session });
109
-
108
+ session: client.session
109
+ });
110
110
 
111
111
  (0, _functions.callWebHook)(client, req, 'qrcode', { qrcode: qrCode, urlcode: urlCode });
112
112
  if (res && !res._headerSent) res.status(200).json({ status: 'qrcode', qrcode: qrCode, urlcode: urlCode });
@@ -221,5 +221,6 @@ var _chatWootClient = _interopRequireDefault(require("./chatWootClient")); /*
221
221
 
222
222
  if (!client) client = _sessionUtil.clientsArray[session] = { status: null, session: session };
223
223
  return client;
224
- }}exports.default = CreateSessionUtil;
224
+ }
225
+ }exports.default = CreateSessionUtil;
225
226
  //# sourceMappingURL=createSessionUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSessionUtil.js","names":["CreateSessionUtil","startChatWootClient","client","config","chatWoot","_chatWootClient","chatWootClient","session","createSessionUtil","req","clientsArray","res","getClient","status","body","tokenStore","Factory","myTokenStore","createTokenStory","getToken","serverOptions","customUserDataDir","createOptions","puppeteerOptions","userDataDir","wppClient","create","Object","assign","deviceName","poweredBy","catchQR","base64Qr","asciiQR","attempt","urlCode","exportQR","onLoadingScreen","percent","message","logger","info","statusFind","eventEmitter","emit","qrcode","close","undefined","callWebHook","error","start","webhook","onParticipantsChanged","onReactionMessage","e","opendata","qrCode","urlcode","replace","imageBuffer","Buffer","from","io","data","toString","_headerSent","json","isConnected","startHelper","checkStateSession","listenMessages","listenAcks","onPresenceChanged","onStateChange","state","conflits","SocketState","CONFLICT","includes","useHere","onMessage","type","onLiveLocation","sender","id","location","onAnyMessage","download","response","onIncomingCall","call","onAck","ack","presenceChangedEvent","reaction","encodeFunction","JSON","stringify","decodeFunction","text","object","parse"],"sources":["../../src/util/createSessionUtil.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { clientsArray, eventEmitter } from './sessionUtil';\nimport { create, SocketState } from '@wppconnect-team/wppconnect';\nimport { callWebHook, startHelper } from './functions';\nimport { download } from '../controller/sessionController';\nimport Factory from './tokenStore/factory';\nimport chatWootClient from './chatWootClient';\n\nexport default class CreateSessionUtil {\n startChatWootClient(client) {\n if (client.config.chatWoot && !client._chatWootClient)\n client._chatWootClient = new chatWootClient(client.config.chatWoot, client.session);\n return client._chatWootClient;\n }\n\n async createSessionUtil(req, clientsArray, session, res) {\n try {\n let client = this.getClient(session);\n if (client.status != null && client.status !== 'CLOSED') return;\n client.status = 'INITIALIZING';\n client.config = req.body;\n\n const tokenStore = new Factory();\n const myTokenStore = tokenStore.createTokenStory(client);\n\n await myTokenStore.getToken(session);\n this.startChatWootClient(client);\n\n if (req.serverOptions.customUserDataDir) {\n req.serverOptions.createOptions.puppeteerOptions = {\n userDataDir: req.serverOptions.customUserDataDir + session,\n };\n }\n\n let wppClient = await create(\n Object.assign({}, { tokenStore: myTokenStore }, req.serverOptions.createOptions, {\n session: session,\n deviceName: req.serverOptions.deviceName,\n poweredBy: req.serverOptions.poweredBy || 'WPPConnect-Server',\n catchQR: (base64Qr, asciiQR, attempt, urlCode) => {\n this.exportQR(req, base64Qr, urlCode, client, res);\n },\n onLoadingScreen: (percent, message) => {\n req.logger.info(`[${session}] ${percent}% - ${message}`);\n },\n statusFind: (statusFind) => {\n try {\n eventEmitter.emit(`status-${client.session}`, client, statusFind);\n if (statusFind === 'autocloseCalled' || statusFind === 'desconnectedMobile') {\n client.status = 'CLOSED';\n client.qrcode = null;\n client.close();\n clientsArray[session] = undefined;\n }\n callWebHook(client, req, 'status-find', { status: statusFind });\n req.logger.info(statusFind + '\\n\\n');\n } catch (error) {}\n },\n })\n );\n\n client = clientsArray[session] = Object.assign(wppClient, client);\n await this.start(req, client);\n\n if (req.serverOptions.webhook.onParticipantsChanged) {\n await this.onParticipantsChanged(req, client);\n }\n\n if (req.serverOptions.webhook.onReactionMessage) {\n await this.onReactionMessage(client, req);\n }\n } catch (e) {\n req.logger.error(e);\n }\n }\n\n async opendata(req, session, res) {\n await this.createSessionUtil(req, clientsArray, session, res);\n }\n\n exportQR(req, qrCode, urlCode, client, res) {\n eventEmitter.emit(`qrcode-${client.session}`, qrCode, urlCode, client);\n Object.assign(client, {\n status: 'QRCODE',\n qrcode: qrCode,\n urlcode: urlCode,\n });\n\n qrCode = qrCode.replace('data:image/png;base64,', '');\n const imageBuffer = Buffer.from(qrCode, 'base64');\n\n req.io.emit('qrCode', {\n data: 'data:image/png;base64,' + imageBuffer.toString('base64'),\n session: client.session,\n });\n\n callWebHook(client, req, 'qrcode', { qrcode: qrCode, urlcode: urlCode });\n if (res && !res._headerSent) res.status(200).json({ status: 'qrcode', qrcode: qrCode, urlcode: urlCode });\n }\n\n async onParticipantsChanged(req, client) {\n await client.isConnected();\n await client.onParticipantsChanged((message) => {\n callWebHook(client, req, 'onparticipantschanged', message);\n });\n }\n\n async start(req, client) {\n try {\n await client.isConnected();\n Object.assign(client, { status: 'CONNECTED', qrcode: null });\n\n req.logger.info(`Started Session: ${client.session}`);\n //callWebHook(client, req, 'session-logged', { status: 'CONNECTED'});\n req.io.emit('session-logged', { status: true, session: client.session });\n startHelper(client, req);\n } catch (error) {\n req.logger.error(error);\n req.io.emit('session-error', client.session);\n }\n\n await this.checkStateSession(client, req);\n await this.listenMessages(client, req);\n\n if (req.serverOptions.webhook.listenAcks) {\n await this.listenAcks(client, req);\n }\n\n if (req.serverOptions.webhook.onPresenceChanged) {\n await this.onPresenceChanged(client, req);\n }\n }\n\n async checkStateSession(client, req) {\n await client.onStateChange((state) => {\n req.logger.info(`State Change ${state}: ${client.session}`);\n const conflits = [SocketState.CONFLICT];\n\n if (conflits.includes(state)) {\n client.useHere();\n }\n });\n }\n\n async listenMessages(client, req) {\n await client.onMessage(async (message) => {\n eventEmitter.emit(`mensagem-${client.session}`, client, message);\n callWebHook(client, req, 'onmessage', message);\n if (message.type === 'location')\n client.onLiveLocation(message.sender.id, (location) => {\n callWebHook(client, req, 'location', location);\n });\n });\n\n await client.onAnyMessage((message) => {\n message.session = client.session;\n\n if (message.type === 'sticker') {\n download(message, client, req.logger);\n }\n\n req.io.emit('received-message', { response: message });\n });\n\n await client.onIncomingCall(async (call) => {\n req.io.emit('incomingcall', call);\n callWebHook(client, req, 'incomingcall', call);\n });\n }\n\n async listenAcks(client, req) {\n await client.onAck(async (ack) => {\n req.io.emit('onack', ack);\n callWebHook(client, req, 'onack', ack);\n });\n }\n\n async onPresenceChanged(client, req) {\n await client.onPresenceChanged(async (presenceChangedEvent) => {\n req.io.emit('onpresencechanged', presenceChangedEvent);\n callWebHook(client, req, 'onpresencechanged', presenceChangedEvent);\n });\n }\n\n async onReactionMessage(client, req) {\n await client.isConnected();\n await client.onReactionMessage(async (reaction) => {\n req.io.emit('onreactionmessage', reaction);\n callWebHook(client, req, 'onreactionmessage', reaction);\n });\n }\n\n encodeFunction(data, webhook) {\n data.webhook = webhook;\n return JSON.stringify(data);\n }\n\n decodeFunction(text, client) {\n let object = JSON.parse(text);\n if (object.webhook && !client.webhook) client.webhook = object.webhook;\n delete object.webhook;\n return object;\n }\n\n getClient(session) {\n let client = clientsArray[session];\n\n if (!client) client = clientsArray[session] = { status: null, session: session };\n return client;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA;AACA;AACA;AACA;AACA;AACA,0E,CApBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAQe,MAAMA,iBAAN,CAAwB,CACrCC,mBAAmB,CAACC,MAAD,EAAS,CAC1B,IAAIA,MAAM,CAACC,MAAP,CAAcC,QAAd,IAA0B,CAACF,MAAM,CAACG,eAAtC,EACEH,MAAM,CAACG,eAAP,GAAyB,IAAIC,uBAAJ,CAAmBJ,MAAM,CAACC,MAAP,CAAcC,QAAjC,EAA2CF,MAAM,CAACK,OAAlD,CAAzB,CACF,OAAOL,MAAM,CAACG,eAAd,CACD,CAEsB,MAAjBG,iBAAiB,CAACC,GAAD,EAAMC,YAAN,EAAoBH,OAApB,EAA6BI,GAA7B,EAAkC,CACvD,IAAI,CACF,IAAIT,MAAM,GAAG,KAAKU,SAAL,CAAeL,OAAf,CAAb,CACA,IAAIL,MAAM,CAACW,MAAP,IAAiB,IAAjB,IAAyBX,MAAM,CAACW,MAAP,KAAkB,QAA/C,EAAyD,OACzDX,MAAM,CAACW,MAAP,GAAgB,cAAhB,CACAX,MAAM,CAACC,MAAP,GAAgBM,GAAG,CAACK,IAApB;;MAEA,MAAMC,UAAU,GAAG,IAAIC,gBAAJ,EAAnB;MACA,MAAMC,YAAY,GAAGF,UAAU,CAACG,gBAAX,CAA4BhB,MAA5B,CAArB;;MAEA,MAAMe,YAAY,CAACE,QAAb,CAAsBZ,OAAtB,CAAN;MACA,KAAKN,mBAAL,CAAyBC,MAAzB;;MAEA,IAAIO,GAAG,CAACW,aAAJ,CAAkBC,iBAAtB,EAAyC;QACvCZ,GAAG,CAACW,aAAJ,CAAkBE,aAAlB,CAAgCC,gBAAhC,GAAmD;UACjDC,WAAW,EAAEf,GAAG,CAACW,aAAJ,CAAkBC,iBAAlB,GAAsCd,OADF,EAAnD;;MAGD;;MAED,IAAIkB,SAAS,GAAG,MAAM,IAAAC,kBAAA;MACpBC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,EAAEb,UAAU,EAAEE,YAAd,EAAlB,EAAgDR,GAAG,CAACW,aAAJ,CAAkBE,aAAlE,EAAiF;QAC/Ef,OAAO,EAAEA,OADsE;QAE/EsB,UAAU,EAAEpB,GAAG,CAACW,aAAJ,CAAkBS,UAFiD;QAG/EC,SAAS,EAAErB,GAAG,CAACW,aAAJ,CAAkBU,SAAlB,IAA+B,mBAHqC;QAI/EC,OAAO,EAAE,CAACC,QAAD,EAAWC,OAAX,EAAoBC,OAApB,EAA6BC,OAA7B,KAAyC;UAChD,KAAKC,QAAL,CAAc3B,GAAd,EAAmBuB,QAAnB,EAA6BG,OAA7B,EAAsCjC,MAAtC,EAA8CS,GAA9C;QACD,CAN8E;QAO/E0B,eAAe,EAAE,CAACC,OAAD,EAAUC,OAAV,KAAsB;UACrC9B,GAAG,CAAC+B,MAAJ,CAAWC,IAAX,CAAiB,IAAGlC,OAAQ,KAAI+B,OAAQ,OAAMC,OAAQ,EAAtD;QACD,CAT8E;QAU/EG,UAAU,EAAE,CAACA,UAAD,KAAgB;UAC1B,IAAI;YACFC,yBAAA,CAAaC,IAAb,CAAmB,UAAS1C,MAAM,CAACK,OAAQ,EAA3C,EAA8CL,MAA9C,EAAsDwC,UAAtD;YACA,IAAIA,UAAU,KAAK,iBAAf,IAAoCA,UAAU,KAAK,oBAAvD,EAA6E;cAC3ExC,MAAM,CAACW,MAAP,GAAgB,QAAhB;cACAX,MAAM,CAAC2C,MAAP,GAAgB,IAAhB;cACA3C,MAAM,CAAC4C,KAAP;cACApC,YAAY,CAACH,OAAD,CAAZ,GAAwBwC,SAAxB;YACD;YACD,IAAAC,sBAAA,EAAY9C,MAAZ,EAAoBO,GAApB,EAAyB,aAAzB,EAAwC,EAAEI,MAAM,EAAE6B,UAAV,EAAxC;YACAjC,GAAG,CAAC+B,MAAJ,CAAWC,IAAX,CAAgBC,UAAU,GAAG,MAA7B;UACD,CAVD,CAUE,OAAOO,KAAP,EAAc,CAAE;QACnB,CAtB8E,EAAjF,CADoB,CAAtB;;;;MA2BA/C,MAAM,GAAGQ,YAAY,CAACH,OAAD,CAAZ,GAAwBoB,MAAM,CAACC,MAAP,CAAcH,SAAd,EAAyBvB,MAAzB,CAAjC;MACA,MAAM,KAAKgD,KAAL,CAAWzC,GAAX,EAAgBP,MAAhB,CAAN;;MAEA,IAAIO,GAAG,CAACW,aAAJ,CAAkB+B,OAAlB,CAA0BC,qBAA9B,EAAqD;QACnD,MAAM,KAAKA,qBAAL,CAA2B3C,GAA3B,EAAgCP,MAAhC,CAAN;MACD;;MAED,IAAIO,GAAG,CAACW,aAAJ,CAAkB+B,OAAlB,CAA0BE,iBAA9B,EAAiD;QAC/C,MAAM,KAAKA,iBAAL,CAAuBnD,MAAvB,EAA+BO,GAA/B,CAAN;MACD;IACF,CAvDD,CAuDE,OAAO6C,CAAP,EAAU;MACV7C,GAAG,CAAC+B,MAAJ,CAAWS,KAAX,CAAiBK,CAAjB;IACD;EACF;;EAEa,MAARC,QAAQ,CAAC9C,GAAD,EAAMF,OAAN,EAAeI,GAAf,EAAoB;IAChC,MAAM,KAAKH,iBAAL,CAAuBC,GAAvB,EAA4BC,yBAA5B,EAA0CH,OAA1C,EAAmDI,GAAnD,CAAN;EACD;;EAEDyB,QAAQ,CAAC3B,GAAD,EAAM+C,MAAN,EAAcrB,OAAd,EAAuBjC,MAAvB,EAA+BS,GAA/B,EAAoC;IAC1CgC,yBAAA,CAAaC,IAAb,CAAmB,UAAS1C,MAAM,CAACK,OAAQ,EAA3C,EAA8CiD,MAA9C,EAAsDrB,OAAtD,EAA+DjC,MAA/D;IACAyB,MAAM,CAACC,MAAP,CAAc1B,MAAd,EAAsB;MACpBW,MAAM,EAAE,QADY;MAEpBgC,MAAM,EAAEW,MAFY;MAGpBC,OAAO,EAAEtB,OAHW,EAAtB;;;IAMAqB,MAAM,GAAGA,MAAM,CAACE,OAAP,CAAe,wBAAf,EAAyC,EAAzC,CAAT;IACA,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAP,CAAYL,MAAZ,EAAoB,QAApB,CAApB;;IAEA/C,GAAG,CAACqD,EAAJ,CAAOlB,IAAP,CAAY,QAAZ,EAAsB;MACpBmB,IAAI,EAAE,2BAA2BJ,WAAW,CAACK,QAAZ,CAAqB,QAArB,CADb;MAEpBzD,OAAO,EAAEL,MAAM,CAACK,OAFI,EAAtB;;;IAKA,IAAAyC,sBAAA,EAAY9C,MAAZ,EAAoBO,GAApB,EAAyB,QAAzB,EAAmC,EAAEoC,MAAM,EAAEW,MAAV,EAAkBC,OAAO,EAAEtB,OAA3B,EAAnC;IACA,IAAIxB,GAAG,IAAI,CAACA,GAAG,CAACsD,WAAhB,EAA6BtD,GAAG,CAACE,MAAJ,CAAW,GAAX,EAAgBqD,IAAhB,CAAqB,EAAErD,MAAM,EAAE,QAAV,EAAoBgC,MAAM,EAAEW,MAA5B,EAAoCC,OAAO,EAAEtB,OAA7C,EAArB;EAC9B;;EAE0B,MAArBiB,qBAAqB,CAAC3C,GAAD,EAAMP,MAAN,EAAc;IACvC,MAAMA,MAAM,CAACiE,WAAP,EAAN;IACA,MAAMjE,MAAM,CAACkD,qBAAP,CAA6B,CAACb,OAAD,KAAa;MAC9C,IAAAS,sBAAA,EAAY9C,MAAZ,EAAoBO,GAApB,EAAyB,uBAAzB,EAAkD8B,OAAlD;IACD,CAFK,CAAN;EAGD;;EAEU,MAALW,KAAK,CAACzC,GAAD,EAAMP,MAAN,EAAc;IACvB,IAAI;MACF,MAAMA,MAAM,CAACiE,WAAP,EAAN;MACAxC,MAAM,CAACC,MAAP,CAAc1B,MAAd,EAAsB,EAAEW,MAAM,EAAE,WAAV,EAAuBgC,MAAM,EAAE,IAA/B,EAAtB;;MAEApC,GAAG,CAAC+B,MAAJ,CAAWC,IAAX,CAAiB,oBAAmBvC,MAAM,CAACK,OAAQ,EAAnD;MACA;MACAE,GAAG,CAACqD,EAAJ,CAAOlB,IAAP,CAAY,gBAAZ,EAA8B,EAAE/B,MAAM,EAAE,IAAV,EAAgBN,OAAO,EAAEL,MAAM,CAACK,OAAhC,EAA9B;MACA,IAAA6D,sBAAA,EAAYlE,MAAZ,EAAoBO,GAApB;IACD,CARD,CAQE,OAAOwC,KAAP,EAAc;MACdxC,GAAG,CAAC+B,MAAJ,CAAWS,KAAX,CAAiBA,KAAjB;MACAxC,GAAG,CAACqD,EAAJ,CAAOlB,IAAP,CAAY,eAAZ,EAA6B1C,MAAM,CAACK,OAApC;IACD;;IAED,MAAM,KAAK8D,iBAAL,CAAuBnE,MAAvB,EAA+BO,GAA/B,CAAN;IACA,MAAM,KAAK6D,cAAL,CAAoBpE,MAApB,EAA4BO,GAA5B,CAAN;;IAEA,IAAIA,GAAG,CAACW,aAAJ,CAAkB+B,OAAlB,CAA0BoB,UAA9B,EAA0C;MACxC,MAAM,KAAKA,UAAL,CAAgBrE,MAAhB,EAAwBO,GAAxB,CAAN;IACD;;IAED,IAAIA,GAAG,CAACW,aAAJ,CAAkB+B,OAAlB,CAA0BqB,iBAA9B,EAAiD;MAC/C,MAAM,KAAKA,iBAAL,CAAuBtE,MAAvB,EAA+BO,GAA/B,CAAN;IACD;EACF;;EAEsB,MAAjB4D,iBAAiB,CAACnE,MAAD,EAASO,GAAT,EAAc;IACnC,MAAMP,MAAM,CAACuE,aAAP,CAAqB,CAACC,KAAD,KAAW;MACpCjE,GAAG,CAAC+B,MAAJ,CAAWC,IAAX,CAAiB,gBAAeiC,KAAM,KAAIxE,MAAM,CAACK,OAAQ,EAAzD;MACA,MAAMoE,QAAQ,GAAG,CAACC,uBAAA,CAAYC,QAAb,CAAjB;;MAEA,IAAIF,QAAQ,CAACG,QAAT,CAAkBJ,KAAlB,CAAJ,EAA8B;QAC5BxE,MAAM,CAAC6E,OAAP;MACD;IACF,CAPK,CAAN;EAQD;;EAEmB,MAAdT,cAAc,CAACpE,MAAD,EAASO,GAAT,EAAc;IAChC,MAAMP,MAAM,CAAC8E,SAAP,CAAiB,OAAOzC,OAAP,KAAmB;MACxCI,yBAAA,CAAaC,IAAb,CAAmB,YAAW1C,MAAM,CAACK,OAAQ,EAA7C,EAAgDL,MAAhD,EAAwDqC,OAAxD;MACA,IAAAS,sBAAA,EAAY9C,MAAZ,EAAoBO,GAApB,EAAyB,WAAzB,EAAsC8B,OAAtC;MACA,IAAIA,OAAO,CAAC0C,IAAR,KAAiB,UAArB;MACE/E,MAAM,CAACgF,cAAP,CAAsB3C,OAAO,CAAC4C,MAAR,CAAeC,EAArC,EAAyC,CAACC,QAAD,KAAc;QACrD,IAAArC,sBAAA,EAAY9C,MAAZ,EAAoBO,GAApB,EAAyB,UAAzB,EAAqC4E,QAArC;MACD,CAFD;IAGH,CAPK,CAAN;;IASA,MAAMnF,MAAM,CAACoF,YAAP,CAAoB,CAAC/C,OAAD,KAAa;MACrCA,OAAO,CAAChC,OAAR,GAAkBL,MAAM,CAACK,OAAzB;;MAEA,IAAIgC,OAAO,CAAC0C,IAAR,KAAiB,SAArB,EAAgC;QAC9B,IAAAM,2BAAA,EAAShD,OAAT,EAAkBrC,MAAlB,EAA0BO,GAAG,CAAC+B,MAA9B;MACD;;MAED/B,GAAG,CAACqD,EAAJ,CAAOlB,IAAP,CAAY,kBAAZ,EAAgC,EAAE4C,QAAQ,EAAEjD,OAAZ,EAAhC;IACD,CARK,CAAN;;IAUA,MAAMrC,MAAM,CAACuF,cAAP,CAAsB,OAAOC,IAAP,KAAgB;MAC1CjF,GAAG,CAACqD,EAAJ,CAAOlB,IAAP,CAAY,cAAZ,EAA4B8C,IAA5B;MACA,IAAA1C,sBAAA,EAAY9C,MAAZ,EAAoBO,GAApB,EAAyB,cAAzB,EAAyCiF,IAAzC;IACD,CAHK,CAAN;EAID;;EAEe,MAAVnB,UAAU,CAACrE,MAAD,EAASO,GAAT,EAAc;IAC5B,MAAMP,MAAM,CAACyF,KAAP,CAAa,OAAOC,GAAP,KAAe;MAChCnF,GAAG,CAACqD,EAAJ,CAAOlB,IAAP,CAAY,OAAZ,EAAqBgD,GAArB;MACA,IAAA5C,sBAAA,EAAY9C,MAAZ,EAAoBO,GAApB,EAAyB,OAAzB,EAAkCmF,GAAlC;IACD,CAHK,CAAN;EAID;;EAEsB,MAAjBpB,iBAAiB,CAACtE,MAAD,EAASO,GAAT,EAAc;IACnC,MAAMP,MAAM,CAACsE,iBAAP,CAAyB,OAAOqB,oBAAP,KAAgC;MAC7DpF,GAAG,CAACqD,EAAJ,CAAOlB,IAAP,CAAY,mBAAZ,EAAiCiD,oBAAjC;MACA,IAAA7C,sBAAA,EAAY9C,MAAZ,EAAoBO,GAApB,EAAyB,mBAAzB,EAA8CoF,oBAA9C;IACD,CAHK,CAAN;EAID;;EAEsB,MAAjBxC,iBAAiB,CAACnD,MAAD,EAASO,GAAT,EAAc;IACnC,MAAMP,MAAM,CAACiE,WAAP,EAAN;IACA,MAAMjE,MAAM,CAACmD,iBAAP,CAAyB,OAAOyC,QAAP,KAAoB;MACjDrF,GAAG,CAACqD,EAAJ,CAAOlB,IAAP,CAAY,mBAAZ,EAAiCkD,QAAjC;MACA,IAAA9C,sBAAA,EAAY9C,MAAZ,EAAoBO,GAApB,EAAyB,mBAAzB,EAA8CqF,QAA9C;IACD,CAHK,CAAN;EAID;;EAEDC,cAAc,CAAChC,IAAD,EAAOZ,OAAP,EAAgB;IAC5BY,IAAI,CAACZ,OAAL,GAAeA,OAAf;IACA,OAAO6C,IAAI,CAACC,SAAL,CAAelC,IAAf,CAAP;EACD;;EAEDmC,cAAc,CAACC,IAAD,EAAOjG,MAAP,EAAe;IAC3B,IAAIkG,MAAM,GAAGJ,IAAI,CAACK,KAAL,CAAWF,IAAX,CAAb;IACA,IAAIC,MAAM,CAACjD,OAAP,IAAkB,CAACjD,MAAM,CAACiD,OAA9B,EAAuCjD,MAAM,CAACiD,OAAP,GAAiBiD,MAAM,CAACjD,OAAxB;IACvC,OAAOiD,MAAM,CAACjD,OAAd;IACA,OAAOiD,MAAP;EACD;;EAEDxF,SAAS,CAACL,OAAD,EAAU;IACjB,IAAIL,MAAM,GAAGQ,yBAAA,CAAaH,OAAb,CAAb;;IAEA,IAAI,CAACL,MAAL,EAAaA,MAAM,GAAGQ,yBAAA,CAAaH,OAAb,IAAwB,EAAEM,MAAM,EAAE,IAAV,EAAgBN,OAAO,EAAEA,OAAzB,EAAjC;IACb,OAAOL,MAAP;EACD,CAzMoC,C"}
1
+ {"version":3,"file":"createSessionUtil.js","names":["CreateSessionUtil","startChatWootClient","client","config","chatWoot","_chatWootClient","chatWootClient","session","createSessionUtil","req","clientsArray","res","getClient","status","body","tokenStore","Factory","myTokenStore","createTokenStory","getToken","serverOptions","customUserDataDir","createOptions","puppeteerOptions","userDataDir","wppClient","create","Object","assign","deviceName","poweredBy","catchQR","base64Qr","asciiQR","attempt","urlCode","exportQR","onLoadingScreen","percent","message","logger","info","statusFind","eventEmitter","emit","qrcode","close","undefined","callWebHook","error","start","webhook","onParticipantsChanged","onReactionMessage","e","opendata","qrCode","urlcode","replace","imageBuffer","Buffer","from","io","data","toString","_headerSent","json","isConnected","startHelper","checkStateSession","listenMessages","listenAcks","onPresenceChanged","onStateChange","state","conflits","SocketState","CONFLICT","includes","useHere","onMessage","type","onLiveLocation","sender","id","location","onAnyMessage","download","response","onIncomingCall","call","onAck","ack","presenceChangedEvent","reaction","encodeFunction","JSON","stringify","decodeFunction","text","object","parse"],"sources":["../../src/util/createSessionUtil.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { clientsArray, eventEmitter } from './sessionUtil';\nimport { create, SocketState } from '@wppconnect-team/wppconnect';\nimport { callWebHook, startHelper } from './functions';\nimport { download } from '../controller/sessionController';\nimport Factory from './tokenStore/factory';\nimport chatWootClient from './chatWootClient';\n\nexport default class CreateSessionUtil {\n startChatWootClient(client) {\n if (client.config.chatWoot && !client._chatWootClient)\n client._chatWootClient = new chatWootClient(client.config.chatWoot, client.session);\n return client._chatWootClient;\n }\n\n async createSessionUtil(req, clientsArray, session, res) {\n try {\n let client = this.getClient(session);\n if (client.status != null && client.status !== 'CLOSED') return;\n client.status = 'INITIALIZING';\n client.config = req.body;\n\n const tokenStore = new Factory();\n const myTokenStore = tokenStore.createTokenStory(client);\n\n await myTokenStore.getToken(session);\n this.startChatWootClient(client);\n\n if (req.serverOptions.customUserDataDir) {\n req.serverOptions.createOptions.puppeteerOptions = {\n userDataDir: req.serverOptions.customUserDataDir + session,\n };\n }\n\n let wppClient = await create(\n Object.assign({}, { tokenStore: myTokenStore }, req.serverOptions.createOptions, {\n session: session,\n deviceName: req.serverOptions.deviceName,\n poweredBy: req.serverOptions.poweredBy || 'WPPConnect-Server',\n catchQR: (base64Qr, asciiQR, attempt, urlCode) => {\n this.exportQR(req, base64Qr, urlCode, client, res);\n },\n onLoadingScreen: (percent, message) => {\n req.logger.info(`[${session}] ${percent}% - ${message}`);\n },\n statusFind: (statusFind) => {\n try {\n eventEmitter.emit(`status-${client.session}`, client, statusFind);\n if (statusFind === 'autocloseCalled' || statusFind === 'desconnectedMobile') {\n client.status = 'CLOSED';\n client.qrcode = null;\n client.close();\n clientsArray[session] = undefined;\n }\n callWebHook(client, req, 'status-find', { status: statusFind });\n req.logger.info(statusFind + '\\n\\n');\n } catch (error) {}\n },\n })\n );\n\n client = clientsArray[session] = Object.assign(wppClient, client);\n await this.start(req, client);\n\n if (req.serverOptions.webhook.onParticipantsChanged) {\n await this.onParticipantsChanged(req, client);\n }\n\n if (req.serverOptions.webhook.onReactionMessage) {\n await this.onReactionMessage(client, req);\n }\n } catch (e) {\n req.logger.error(e);\n }\n }\n\n async opendata(req, session, res) {\n await this.createSessionUtil(req, clientsArray, session, res);\n }\n\n exportQR(req, qrCode, urlCode, client, res) {\n eventEmitter.emit(`qrcode-${client.session}`, qrCode, urlCode, client);\n Object.assign(client, {\n status: 'QRCODE',\n qrcode: qrCode,\n urlcode: urlCode,\n });\n\n qrCode = qrCode.replace('data:image/png;base64,', '');\n const imageBuffer = Buffer.from(qrCode, 'base64');\n\n req.io.emit('qrCode', {\n data: 'data:image/png;base64,' + imageBuffer.toString('base64'),\n session: client.session,\n });\n\n callWebHook(client, req, 'qrcode', { qrcode: qrCode, urlcode: urlCode });\n if (res && !res._headerSent) res.status(200).json({ status: 'qrcode', qrcode: qrCode, urlcode: urlCode });\n }\n\n async onParticipantsChanged(req, client) {\n await client.isConnected();\n await client.onParticipantsChanged((message) => {\n callWebHook(client, req, 'onparticipantschanged', message);\n });\n }\n\n async start(req, client) {\n try {\n await client.isConnected();\n Object.assign(client, { status: 'CONNECTED', qrcode: null });\n\n req.logger.info(`Started Session: ${client.session}`);\n //callWebHook(client, req, 'session-logged', { status: 'CONNECTED'});\n req.io.emit('session-logged', { status: true, session: client.session });\n startHelper(client, req);\n } catch (error) {\n req.logger.error(error);\n req.io.emit('session-error', client.session);\n }\n\n await this.checkStateSession(client, req);\n await this.listenMessages(client, req);\n\n if (req.serverOptions.webhook.listenAcks) {\n await this.listenAcks(client, req);\n }\n\n if (req.serverOptions.webhook.onPresenceChanged) {\n await this.onPresenceChanged(client, req);\n }\n }\n\n async checkStateSession(client, req) {\n await client.onStateChange((state) => {\n req.logger.info(`State Change ${state}: ${client.session}`);\n const conflits = [SocketState.CONFLICT];\n\n if (conflits.includes(state)) {\n client.useHere();\n }\n });\n }\n\n async listenMessages(client, req) {\n await client.onMessage(async (message) => {\n eventEmitter.emit(`mensagem-${client.session}`, client, message);\n callWebHook(client, req, 'onmessage', message);\n if (message.type === 'location')\n client.onLiveLocation(message.sender.id, (location) => {\n callWebHook(client, req, 'location', location);\n });\n });\n\n await client.onAnyMessage((message) => {\n message.session = client.session;\n\n if (message.type === 'sticker') {\n download(message, client, req.logger);\n }\n\n req.io.emit('received-message', { response: message });\n });\n\n await client.onIncomingCall(async (call) => {\n req.io.emit('incomingcall', call);\n callWebHook(client, req, 'incomingcall', call);\n });\n }\n\n async listenAcks(client, req) {\n await client.onAck(async (ack) => {\n req.io.emit('onack', ack);\n callWebHook(client, req, 'onack', ack);\n });\n }\n\n async onPresenceChanged(client, req) {\n await client.onPresenceChanged(async (presenceChangedEvent) => {\n req.io.emit('onpresencechanged', presenceChangedEvent);\n callWebHook(client, req, 'onpresencechanged', presenceChangedEvent);\n });\n }\n\n async onReactionMessage(client, req) {\n await client.isConnected();\n await client.onReactionMessage(async (reaction) => {\n req.io.emit('onreactionmessage', reaction);\n callWebHook(client, req, 'onreactionmessage', reaction);\n });\n }\n\n encodeFunction(data, webhook) {\n data.webhook = webhook;\n return JSON.stringify(data);\n }\n\n decodeFunction(text, client) {\n let object = JSON.parse(text);\n if (object.webhook && !client.webhook) client.webhook = object.webhook;\n delete object.webhook;\n return object;\n }\n\n getClient(session) {\n let client = clientsArray[session];\n\n if (!client) client = clientsArray[session] = { status: null, session: session };\n return client;\n }\n}\n"],"mappings":"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"}
@@ -13,14 +13,14 @@ if (_config.default.tokenStoreType === 'mongodb') {
13
13
  `mongodb://${userAndPassword}${_config.default.db.mongodbHost}:${_config.default.db.mongodbPort}/${_config.default.db.mongodbDatabase}`,
14
14
  {
15
15
  useNewUrlParser: true,
16
- useUnifiedTopology: true });
17
-
16
+ useUnifiedTopology: true
17
+ });
18
18
 
19
19
  } else {
20
20
  mongoose.connect(_config.default.db.mongoURLRemote, {
21
21
  useNewUrlParser: true,
22
- useUnifiedTopology: true });
23
-
22
+ useUnifiedTopology: true
23
+ });
24
24
  }
25
25
  }
26
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","names":["mongoose","config","tokenStoreType","require","Promise","global","userAndPassword","db","mongodbUser","mongodbPassword","mongoIsRemote","connect","mongodbHost","mongodbPort","mongodbDatabase","useNewUrlParser","useUnifiedTopology","mongoURLRemote","module","exports"],"sources":["../../../../src/util/db/mongodb/db.js"],"sourcesContent":["//import mongoose from 'mongoose';\nimport config from '../../../config.json';\n\nlet mongoose = config.tokenStoreType === 'mongodb' ? require('mongoose') : null;\n\nif (config.tokenStoreType === 'mongodb') {\n mongoose.Promise = global.Promise;\n const userAndPassword =\n config.db.mongodbUser && config.db.mongodbPassword ? `${config.db.mongodbUser}:${config.db.mongodbPassword}@` : '';\n\n if (!config.db.mongoIsRemote) {\n mongoose.connect(\n `mongodb://${userAndPassword}${config.db.mongodbHost}:${config.db.mongodbPort}/${config.db.mongodbDatabase}`,\n {\n useNewUrlParser: true,\n useUnifiedTopology: true,\n }\n );\n } else {\n mongoose.connect(config.db.mongoURLRemote, {\n useNewUrlParser: true,\n useUnifiedTopology: true,\n });\n }\n}\n\nmodule.exports = mongoose;\n"],"mappings":";AACA,sE,CADA;;AAGA,IAAIA,QAAQ,GAAGC,eAAA,CAAOC,cAAP,KAA0B,SAA1B,GAAsCC,OAAO,CAAC,UAAD,CAA7C,GAA4D,IAA3E;;AAEA,IAAIF,eAAA,CAAOC,cAAP,KAA0B,SAA9B,EAAyC;EACvCF,QAAQ,CAACI,OAAT,GAAmBC,MAAM,CAACD,OAA1B;EACA,MAAME,eAAe;EACnBL,eAAA,CAAOM,EAAP,CAAUC,WAAV,IAAyBP,eAAA,CAAOM,EAAP,CAAUE,eAAnC,GAAsD,GAAER,eAAA,CAAOM,EAAP,CAAUC,WAAY,IAAGP,eAAA,CAAOM,EAAP,CAAUE,eAAgB,GAA3G,GAAgH,EADlH;;EAGA,IAAI,CAACR,eAAA,CAAOM,EAAP,CAAUG,aAAf,EAA8B;IAC5BV,QAAQ,CAACW,OAAT;IACG,aAAYL,eAAgB,GAAEL,eAAA,CAAOM,EAAP,CAAUK,WAAY,IAAGX,eAAA,CAAOM,EAAP,CAAUM,WAAY,IAAGZ,eAAA,CAAOM,EAAP,CAAUO,eAAgB,EAD7G;IAEE;MACEC,eAAe,EAAE,IADnB;MAEEC,kBAAkB,EAAE,IAFtB,EAFF;;;EAOD,CARD,MAQO;IACLhB,QAAQ,CAACW,OAAT,CAAiBV,eAAA,CAAOM,EAAP,CAAUU,cAA3B,EAA2C;MACzCF,eAAe,EAAE,IADwB;MAEzCC,kBAAkB,EAAE,IAFqB,EAA3C;;EAID;AACF;;AAEDE,MAAM,CAACC,OAAP,GAAiBnB,QAAjB"}
1
+ {"version":3,"file":"db.js","names":["mongoose","config","tokenStoreType","require","Promise","global","userAndPassword","db","mongodbUser","mongodbPassword","mongoIsRemote","connect","mongodbHost","mongodbPort","mongodbDatabase","useNewUrlParser","useUnifiedTopology","mongoURLRemote","module","exports"],"sources":["../../../../src/util/db/mongodb/db.js"],"sourcesContent":["//import mongoose from 'mongoose';\nimport config from '../../../config.json';\n\nlet mongoose = config.tokenStoreType === 'mongodb' ? require('mongoose') : null;\n\nif (config.tokenStoreType === 'mongodb') {\n mongoose.Promise = global.Promise;\n const userAndPassword =\n config.db.mongodbUser && config.db.mongodbPassword ? `${config.db.mongodbUser}:${config.db.mongodbPassword}@` : '';\n\n if (!config.db.mongoIsRemote) {\n mongoose.connect(\n `mongodb://${userAndPassword}${config.db.mongodbHost}:${config.db.mongodbPort}/${config.db.mongodbDatabase}`,\n {\n useNewUrlParser: true,\n useUnifiedTopology: true,\n }\n );\n } else {\n mongoose.connect(config.db.mongoURLRemote, {\n useNewUrlParser: true,\n useUnifiedTopology: true,\n });\n }\n}\n\nmodule.exports = mongoose;\n"],"mappings":";AACA,sEAA0C,CAD1C;;AAGA,IAAIA,QAAQ,GAAGC,eAAM,CAACC,cAAc,KAAK,SAAS,GAAGC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;;AAE/E,IAAIF,eAAM,CAACC,cAAc,KAAK,SAAS,EAAE;EACvCF,QAAQ,CAACI,OAAO,GAAGC,MAAM,CAACD,OAAO;EACjC,MAAME,eAAe;EACnBL,eAAM,CAACM,EAAE,CAACC,WAAW,IAAIP,eAAM,CAACM,EAAE,CAACE,eAAe,GAAI,GAAER,eAAM,CAACM,EAAE,CAACC,WAAY,IAAGP,eAAM,CAACM,EAAE,CAACE,eAAgB,GAAE,GAAG,EAAE;;EAEpH,IAAI,CAACR,eAAM,CAACM,EAAE,CAACG,aAAa,EAAE;IAC5BV,QAAQ,CAACW,OAAO;IACb,aAAYL,eAAgB,GAAEL,eAAM,CAACM,EAAE,CAACK,WAAY,IAAGX,eAAM,CAACM,EAAE,CAACM,WAAY,IAAGZ,eAAM,CAACM,EAAE,CAACO,eAAgB,EAAC;IAC5G;MACEC,eAAe,EAAE,IAAI;MACrBC,kBAAkB,EAAE;IACtB,CAAC,CACF;;EACH,CAAC,MAAM;IACLhB,QAAQ,CAACW,OAAO,CAACV,eAAM,CAACM,EAAE,CAACU,cAAc,EAAE;MACzCF,eAAe,EAAE,IAAI;MACrBC,kBAAkB,EAAE;IACtB,CAAC,CAAC;EACJ;AACF;;AAEAE,MAAM,CAACC,OAAO,GAAGnB,QAAQ"}
@@ -5,8 +5,8 @@ let RedisClient = null;
5
5
  if (_config.default.tokenStoreType === 'redis') {
6
6
  RedisClient = redis.createClient(_config.default.db.redisPort, _config.default.db.redisHost, {
7
7
  password: _config.default.db.redisPassword,
8
- db: _config.default.db.redisDb });
9
-
8
+ db: _config.default.db.redisDb
9
+ });
10
10
  }
11
11
 
12
12
  module.exports = RedisClient;
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","names":["redis","config","tokenStoreType","require","RedisClient","createClient","db","redisPort","redisHost","password","redisPassword","redisDb","module","exports"],"sources":["../../../../src/util/db/redis/db.js"],"sourcesContent":["import config from '../../../config.json';\nlet redis = config.tokenStoreType === 'redis' ? require('redis') : null;\nlet RedisClient = null;\n\nif (config.tokenStoreType === 'redis') {\n RedisClient = redis.createClient(config.db.redisPort, config.db.redisHost, {\n password: config.db.redisPassword,\n db: config.db.redisDb,\n });\n}\n\nmodule.exports = RedisClient;\n"],"mappings":"kGAAA;AACA,IAAIA,KAAK,GAAGC,eAAA,CAAOC,cAAP,KAA0B,OAA1B,GAAoCC,OAAO,CAAC,OAAD,CAA3C,GAAuD,IAAnE;AACA,IAAIC,WAAW,GAAG,IAAlB;;AAEA,IAAIH,eAAA,CAAOC,cAAP,KAA0B,OAA9B,EAAuC;EACrCE,WAAW,GAAGJ,KAAK,CAACK,YAAN,CAAmBJ,eAAA,CAAOK,EAAP,CAAUC,SAA7B,EAAwCN,eAAA,CAAOK,EAAP,CAAUE,SAAlD,EAA6D;IACzEC,QAAQ,EAAER,eAAA,CAAOK,EAAP,CAAUI,aADqD;IAEzEJ,EAAE,EAAEL,eAAA,CAAOK,EAAP,CAAUK,OAF2D,EAA7D,CAAd;;AAID;;AAEDC,MAAM,CAACC,OAAP,GAAiBT,WAAjB"}
1
+ {"version":3,"file":"db.js","names":["redis","config","tokenStoreType","require","RedisClient","createClient","db","redisPort","redisHost","password","redisPassword","redisDb","module","exports"],"sources":["../../../../src/util/db/redis/db.js"],"sourcesContent":["import config from '../../../config.json';\nlet redis = config.tokenStoreType === 'redis' ? require('redis') : null;\nlet RedisClient = null;\n\nif (config.tokenStoreType === 'redis') {\n RedisClient = redis.createClient(config.db.redisPort, config.db.redisHost, {\n password: config.db.redisPassword,\n db: config.db.redisDb,\n });\n}\n\nmodule.exports = RedisClient;\n"],"mappings":"kGAAA;AACA,IAAIA,KAAK,GAAGC,eAAM,CAACC,cAAc,KAAK,OAAO,GAAGC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;AACvE,IAAIC,WAAW,GAAG,IAAI;;AAEtB,IAAIH,eAAM,CAACC,cAAc,KAAK,OAAO,EAAE;EACrCE,WAAW,GAAGJ,KAAK,CAACK,YAAY,CAACJ,eAAM,CAACK,EAAE,CAACC,SAAS,EAAEN,eAAM,CAACK,EAAE,CAACE,SAAS,EAAE;IACzEC,QAAQ,EAAER,eAAM,CAACK,EAAE,CAACI,aAAa;IACjCJ,EAAE,EAAEL,eAAM,CAACK,EAAE,CAACK;EAChB,CAAC,CAAC;AACJ;;AAEAC,MAAM,CAACC,OAAO,GAAGT,WAAW"}
@@ -120,8 +120,8 @@ async function autoDownload(client, req, message) {
120
120
  Key: fileName,
121
121
  Body: buffer,
122
122
  ACL: 'public-read',
123
- ContentType: message.mimetype };
124
-
123
+ ContentType: message.mimetype
124
+ };
125
125
  const data = await s3.upload(params).promise();
126
126
  message.fileUrl = data.Location;
127
127
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","names":["mime","config","webhook","uploadS3","require","crypto","aws","contactToArray","number","isGroup","localArr","Array","isArray","contact","split","push","arrContacts","groupToArray","group","groupNameToArray","callWebHook","client","req","event","data","serverOptions","url","autoDownload","chatId","from","_serialized","Object","assign","session","mapper","enable","convert","prefix","api","post","then","events","includes","readMessage","sendSeen","e","catch","logger","warn","error","message","isMedia","isMMS","buffer","decryptFile","hashName","randomBytes","toString","fileName","extension","mimetype","s3","S3","params","Bucket","Key","Body","ACL","ContentType","upload","promise","fileUrl","Location","body","startAllSessions","host","port","secretKey","startHelper","allUnreadOnStart","sendUnread","archive","info","chats","getAllChatsWithMessages","length","i","j","msgs","ex","sleep","time","Promise","resolve","setTimeout","getAllChats","filter","c","date","Date","t","DaysBetween","daysToArchive","archiveChat","id","Math","floor","random","waitTime","StartDate","endDate","oneDay","start","UTC","getFullYear","getMonth","getDate","end","createFolders","__dirname","path","dirname","dirFiles","fs","existsSync","mkdirSync","dirUpload","strToBool","s","test","getIPAddress","interfaces","networkInterfaces","devName","iface","alias","family","address","internal","setMaxListners","Number","isInteger","maxListeners","process","setMaxListeners","unlinkAsync","promisify","unlink"],"sources":["../../src/util/functions.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 api from 'axios';\nimport path from 'path';\nimport fs from 'fs';\nimport { promisify } from 'util';\nimport { convert } from '../mapper/index';\nimport config from '../config.json';\n\nlet mime = config.webhook.uploadS3 ? require('mime-types') : null;\nlet crypto = config.webhook.uploadS3 ? require('crypto') : null;\nlet aws = config.webhook.uploadS3 ? require('aws-sdk') : null;\n\nexport function contactToArray(number, isGroup) {\n let localArr = [];\n if (Array.isArray(number)) {\n for (let contact of number) {\n contact = contact.split('@')[0];\n if (contact !== '')\n if (isGroup) localArr.push(`${contact}@g.us`);\n else localArr.push(`${contact}@c.us`);\n }\n } else {\n let arrContacts = number.split(/\\s*[,;]\\s*/g);\n for (let contact of arrContacts) {\n contact = contact.split('@')[0];\n if (contact !== '')\n if (isGroup) localArr.push(`${contact}@g.us`);\n else localArr.push(`${contact}@c.us`);\n }\n }\n\n return localArr;\n}\n\nexport function groupToArray(group) {\n let localArr = [];\n if (Array.isArray(group)) {\n for (let contact of group) {\n contact = contact.split('@')[0];\n if (contact !== '') localArr.push(`${contact}@g.us`);\n }\n } else {\n let arrContacts = group.split(/\\s*[,;]\\s*/g);\n for (let contact of arrContacts) {\n contact = contact.split('@')[0];\n if (contact !== '') localArr.push(`${contact}@g.us`);\n }\n }\n\n return localArr;\n}\n\nexport function groupNameToArray(group) {\n let localArr = [];\n if (Array.isArray(group)) {\n for (const contact of group) {\n if (contact !== '') localArr.push(`${contact}`);\n }\n } else {\n let arrContacts = group.split(/\\s*[,;]\\s*/g);\n for (const contact of arrContacts) {\n if (contact !== '') localArr.push(`${contact}`);\n }\n }\n\n return localArr;\n}\n\nexport async function callWebHook(client, req, event, data) {\n const webhook = client?.config.webhook || req.serverOptions.webhook.url || false;\n if (webhook) {\n if (req.serverOptions.webhook.autoDownload) await autoDownload(client, req, data);\n try {\n const chatId = data.from || data.chatId || (data.chatId ? data.chatId._serialized : null);\n data = Object.assign({ event: event, session: client.session }, data);\n if (req.serverOptions.mapper.enable) data = await convert(req.serverOptions.mapper.prefix, data);\n api\n .post(webhook, data)\n .then(() => {\n try {\n const events = ['unreadmessages', 'onmessage'];\n if (events.includes(event) && req.serverOptions.webhook.readMessage) client.sendSeen(chatId);\n } catch (e) {}\n })\n .catch((e) => {\n req.logger.warn('Error calling Webhook.', e);\n });\n } catch (e) {\n req.logger.error(e);\n }\n }\n}\n\nasync function autoDownload(client, req, message) {\n try {\n if (message && (message['mimetype'] || message.isMedia || message.isMMS)) {\n let buffer = await client.decryptFile(message);\n if (req.serverOptions.webhook.uploadS3) {\n var hashName = crypto.randomBytes(24).toString('hex');\n var fileName = `${hashName}.${mime.extension(message.mimetype)}`;\n\n const s3 = new aws.S3();\n\n var params = {\n Bucket: client.session,\n Key: fileName,\n Body: buffer,\n ACL: 'public-read',\n ContentType: message.mimetype,\n };\n const data = await s3.upload(params).promise();\n message.fileUrl = data.Location;\n } else {\n message.body = await buffer.toString('base64');\n }\n }\n } catch (e) {\n req.logger.error(e);\n }\n}\n\nexport async function startAllSessions(config, logger) {\n try {\n await api.post(`${config.host}:${config.port}/api/${config.secretKey}/start-all`);\n } catch (e) {\n logger.error(e);\n }\n}\n\nexport async function startHelper(client, req) {\n if (req.serverOptions.webhook.allUnreadOnStart) await sendUnread(client, req);\n\n if (req.serverOptions.archive.enable) await archive(client, req);\n}\n\nasync function sendUnread(client, req) {\n req.logger.info(`${client.session} : Inicio enviar mensagens não lidas`);\n\n try {\n const chats = await client.getAllChatsWithMessages(true);\n\n if (chats && chats.length > 0) {\n for (let i = 0; i < chats.length; i++)\n for (let j = 0; j < chats[i].msgs.length; j++) {\n callWebHook(client, req, 'unreadmessages', chats[i].msgs[j]);\n }\n }\n\n req.logger.info(`${client.session} : Fim enviar mensagens não lidas`);\n } catch (ex) {\n req.logger.error(ex);\n }\n}\n\nasync function archive(client, req) {\n async function sleep(time) {\n return new Promise((resolve) => setTimeout(resolve, time * 10));\n }\n\n req.logger.info(`${client.session} : Inicio arquivando chats`);\n\n try {\n let chats = await client.getAllChats();\n if (chats && Array.isArray(chats) && chats.length > 0) {\n chats = chats.filter((c) => !c.archive);\n }\n if (chats && Array.isArray(chats) && chats.length > 0) {\n for (let i = 0; i < chats.length; i++) {\n let date = new Date(chats[i].t * 1000);\n\n if (DaysBetween(date) > req.serverOptions.archive.daysToArchive) {\n await client.archiveChat(chats[i].id.id || chats[i].id._serialized, true);\n await sleep(Math.floor(Math.random() * req.serverOptions.archive.waitTime + 1));\n }\n }\n }\n req.logger.info(`${client.session} : Fim arquivando chats`);\n } catch (ex) {\n req.logger.error(ex);\n }\n}\n\nfunction DaysBetween(StartDate) {\n let endDate = new Date();\n // The number of milliseconds in all UTC days (no DST)\n const oneDay = 1000 * 60 * 60 * 24;\n\n // A day in UTC always lasts 24 hours (unlike in other time formats)\n const start = Date.UTC(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());\n const end = Date.UTC(StartDate.getFullYear(), StartDate.getMonth(), StartDate.getDate());\n\n // so it's safe to divide by 24 hours\n return (start - end) / oneDay;\n}\n\nexport function createFolders() {\n const __dirname = path.resolve(path.dirname(''));\n let dirFiles = path.resolve(__dirname, 'WhatsAppImages');\n if (!fs.existsSync(dirFiles)) {\n fs.mkdirSync(dirFiles);\n }\n\n let dirUpload = path.resolve(__dirname, 'uploads');\n if (!fs.existsSync(dirUpload)) {\n fs.mkdirSync(dirUpload);\n }\n}\n\nexport function strToBool(s) {\n return /^(true|1)$/i.test(s);\n}\n\nexport function getIPAddress() {\n var interfaces = require('os').networkInterfaces();\n for (var devName in interfaces) {\n var iface = interfaces[devName];\n for (var i = 0; i < iface.length; i++) {\n var alias = iface[i];\n if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) return alias.address;\n }\n }\n return '0.0.0.0';\n}\n\nexport function setMaxListners(serverOptions) {\n if (serverOptions && Number.isInteger(serverOptions.maxListeners)) {\n process.setMaxListeners(serverOptions.maxListeners);\n }\n}\n\nexport let unlinkAsync = promisify(fs.unlink);\n"],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","names":["mime","config","webhook","uploadS3","require","crypto","aws","contactToArray","number","isGroup","localArr","Array","isArray","contact","split","push","arrContacts","groupToArray","group","groupNameToArray","callWebHook","client","req","event","data","serverOptions","url","autoDownload","chatId","from","_serialized","Object","assign","session","mapper","enable","convert","prefix","api","post","then","events","includes","readMessage","sendSeen","e","catch","logger","warn","error","message","isMedia","isMMS","buffer","decryptFile","hashName","randomBytes","toString","fileName","extension","mimetype","s3","S3","params","Bucket","Key","Body","ACL","ContentType","upload","promise","fileUrl","Location","body","startAllSessions","host","port","secretKey","startHelper","allUnreadOnStart","sendUnread","archive","info","chats","getAllChatsWithMessages","length","i","j","msgs","ex","sleep","time","Promise","resolve","setTimeout","getAllChats","filter","c","date","Date","t","DaysBetween","daysToArchive","archiveChat","id","Math","floor","random","waitTime","StartDate","endDate","oneDay","start","UTC","getFullYear","getMonth","getDate","end","createFolders","__dirname","path","dirname","dirFiles","fs","existsSync","mkdirSync","dirUpload","strToBool","s","test","getIPAddress","interfaces","networkInterfaces","devName","iface","alias","family","address","internal","setMaxListners","Number","isInteger","maxListeners","process","setMaxListeners","unlinkAsync","promisify","unlink"],"sources":["../../src/util/functions.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 api from 'axios';\nimport path from 'path';\nimport fs from 'fs';\nimport { promisify } from 'util';\nimport { convert } from '../mapper/index';\nimport config from '../config.json';\n\nlet mime = config.webhook.uploadS3 ? require('mime-types') : null;\nlet crypto = config.webhook.uploadS3 ? require('crypto') : null;\nlet aws = config.webhook.uploadS3 ? require('aws-sdk') : null;\n\nexport function contactToArray(number, isGroup) {\n let localArr = [];\n if (Array.isArray(number)) {\n for (let contact of number) {\n contact = contact.split('@')[0];\n if (contact !== '')\n if (isGroup) localArr.push(`${contact}@g.us`);\n else localArr.push(`${contact}@c.us`);\n }\n } else {\n let arrContacts = number.split(/\\s*[,;]\\s*/g);\n for (let contact of arrContacts) {\n contact = contact.split('@')[0];\n if (contact !== '')\n if (isGroup) localArr.push(`${contact}@g.us`);\n else localArr.push(`${contact}@c.us`);\n }\n }\n\n return localArr;\n}\n\nexport function groupToArray(group) {\n let localArr = [];\n if (Array.isArray(group)) {\n for (let contact of group) {\n contact = contact.split('@')[0];\n if (contact !== '') localArr.push(`${contact}@g.us`);\n }\n } else {\n let arrContacts = group.split(/\\s*[,;]\\s*/g);\n for (let contact of arrContacts) {\n contact = contact.split('@')[0];\n if (contact !== '') localArr.push(`${contact}@g.us`);\n }\n }\n\n return localArr;\n}\n\nexport function groupNameToArray(group) {\n let localArr = [];\n if (Array.isArray(group)) {\n for (const contact of group) {\n if (contact !== '') localArr.push(`${contact}`);\n }\n } else {\n let arrContacts = group.split(/\\s*[,;]\\s*/g);\n for (const contact of arrContacts) {\n if (contact !== '') localArr.push(`${contact}`);\n }\n }\n\n return localArr;\n}\n\nexport async function callWebHook(client, req, event, data) {\n const webhook = client?.config.webhook || req.serverOptions.webhook.url || false;\n if (webhook) {\n if (req.serverOptions.webhook.autoDownload) await autoDownload(client, req, data);\n try {\n const chatId = data.from || data.chatId || (data.chatId ? data.chatId._serialized : null);\n data = Object.assign({ event: event, session: client.session }, data);\n if (req.serverOptions.mapper.enable) data = await convert(req.serverOptions.mapper.prefix, data);\n api\n .post(webhook, data)\n .then(() => {\n try {\n const events = ['unreadmessages', 'onmessage'];\n if (events.includes(event) && req.serverOptions.webhook.readMessage) client.sendSeen(chatId);\n } catch (e) {}\n })\n .catch((e) => {\n req.logger.warn('Error calling Webhook.', e);\n });\n } catch (e) {\n req.logger.error(e);\n }\n }\n}\n\nasync function autoDownload(client, req, message) {\n try {\n if (message && (message['mimetype'] || message.isMedia || message.isMMS)) {\n let buffer = await client.decryptFile(message);\n if (req.serverOptions.webhook.uploadS3) {\n var hashName = crypto.randomBytes(24).toString('hex');\n var fileName = `${hashName}.${mime.extension(message.mimetype)}`;\n\n const s3 = new aws.S3();\n\n var params = {\n Bucket: client.session,\n Key: fileName,\n Body: buffer,\n ACL: 'public-read',\n ContentType: message.mimetype,\n };\n const data = await s3.upload(params).promise();\n message.fileUrl = data.Location;\n } else {\n message.body = await buffer.toString('base64');\n }\n }\n } catch (e) {\n req.logger.error(e);\n }\n}\n\nexport async function startAllSessions(config, logger) {\n try {\n await api.post(`${config.host}:${config.port}/api/${config.secretKey}/start-all`);\n } catch (e) {\n logger.error(e);\n }\n}\n\nexport async function startHelper(client, req) {\n if (req.serverOptions.webhook.allUnreadOnStart) await sendUnread(client, req);\n\n if (req.serverOptions.archive.enable) await archive(client, req);\n}\n\nasync function sendUnread(client, req) {\n req.logger.info(`${client.session} : Inicio enviar mensagens não lidas`);\n\n try {\n const chats = await client.getAllChatsWithMessages(true);\n\n if (chats && chats.length > 0) {\n for (let i = 0; i < chats.length; i++)\n for (let j = 0; j < chats[i].msgs.length; j++) {\n callWebHook(client, req, 'unreadmessages', chats[i].msgs[j]);\n }\n }\n\n req.logger.info(`${client.session} : Fim enviar mensagens não lidas`);\n } catch (ex) {\n req.logger.error(ex);\n }\n}\n\nasync function archive(client, req) {\n async function sleep(time) {\n return new Promise((resolve) => setTimeout(resolve, time * 10));\n }\n\n req.logger.info(`${client.session} : Inicio arquivando chats`);\n\n try {\n let chats = await client.getAllChats();\n if (chats && Array.isArray(chats) && chats.length > 0) {\n chats = chats.filter((c) => !c.archive);\n }\n if (chats && Array.isArray(chats) && chats.length > 0) {\n for (let i = 0; i < chats.length; i++) {\n let date = new Date(chats[i].t * 1000);\n\n if (DaysBetween(date) > req.serverOptions.archive.daysToArchive) {\n await client.archiveChat(chats[i].id.id || chats[i].id._serialized, true);\n await sleep(Math.floor(Math.random() * req.serverOptions.archive.waitTime + 1));\n }\n }\n }\n req.logger.info(`${client.session} : Fim arquivando chats`);\n } catch (ex) {\n req.logger.error(ex);\n }\n}\n\nfunction DaysBetween(StartDate) {\n let endDate = new Date();\n // The number of milliseconds in all UTC days (no DST)\n const oneDay = 1000 * 60 * 60 * 24;\n\n // A day in UTC always lasts 24 hours (unlike in other time formats)\n const start = Date.UTC(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());\n const end = Date.UTC(StartDate.getFullYear(), StartDate.getMonth(), StartDate.getDate());\n\n // so it's safe to divide by 24 hours\n return (start - end) / oneDay;\n}\n\nexport function createFolders() {\n const __dirname = path.resolve(path.dirname(''));\n let dirFiles = path.resolve(__dirname, 'WhatsAppImages');\n if (!fs.existsSync(dirFiles)) {\n fs.mkdirSync(dirFiles);\n }\n\n let dirUpload = path.resolve(__dirname, 'uploads');\n if (!fs.existsSync(dirUpload)) {\n fs.mkdirSync(dirUpload);\n }\n}\n\nexport function strToBool(s) {\n return /^(true|1)$/i.test(s);\n}\n\nexport function getIPAddress() {\n var interfaces = require('os').networkInterfaces();\n for (var devName in interfaces) {\n var iface = interfaces[devName];\n for (var i = 0; i < iface.length; i++) {\n var alias = iface[i];\n if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) return alias.address;\n }\n }\n return '0.0.0.0';\n}\n\nexport function setMaxListners(serverOptions) {\n if (serverOptions && Number.isInteger(serverOptions.maxListeners)) {\n process.setMaxListeners(serverOptions.maxListeners);\n }\n}\n\nexport let unlinkAsync = promisify(fs.unlink);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAllTokens.js","names":["getAllTokens","req","tokenStore","Factory","myTokenStore","createTokenStory","listTokens","e","logger","error"],"sources":["../../src/util/getAllTokens.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 Factory from './tokenStore/factory';\n\nexport default async function getAllTokens(req) {\n const tokenStore = new Factory();\n const myTokenStore = tokenStore.createTokenStory(null);\n try {\n return await myTokenStore.listTokens();\n } catch (e) {\n req.logger.error(e);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA,uE,CAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAGe,eAAeA,YAAf,CAA4BC,GAA5B,EAAiC,CAC9C,MAAMC,UAAU,GAAG,IAAIC,gBAAJ,EAAnB,CACA,MAAMC,YAAY,GAAGF,UAAU,CAACG,gBAAX,CAA4B,IAA5B,CAArB,CACA,IAAI,CACF,OAAO,MAAMD,YAAY,CAACE,UAAb,EAAb,CACD,CAFD,CAEE,OAAOC,CAAP,EAAU,CACVN,GAAG,CAACO,MAAJ,CAAWC,KAAX,CAAiBF,CAAjB,EACD,CACF"}
1
+ {"version":3,"file":"getAllTokens.js","names":["getAllTokens","req","tokenStore","Factory","myTokenStore","createTokenStory","listTokens","e","logger","error"],"sources":["../../src/util/getAllTokens.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 Factory from './tokenStore/factory';\n\nexport default async function getAllTokens(req) {\n const tokenStore = new Factory();\n const myTokenStore = tokenStore.createTokenStory(null);\n try {\n return await myTokenStore.listTokens();\n } catch (e) {\n req.logger.error(e);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA,uEAA2C,CAf3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAGe,eAAeA,YAAY,CAACC,GAAG,EAAE,CAC9C,MAAMC,UAAU,GAAG,IAAIC,gBAAO,EAAE,CAChC,MAAMC,YAAY,GAAGF,UAAU,CAACG,gBAAgB,CAAC,IAAI,CAAC,CACtD,IAAI,CACF,OAAO,MAAMD,YAAY,CAACE,UAAU,EAAE,CACxC,CAAC,CAAC,OAAOC,CAAC,EAAE,CACVN,GAAG,CAACO,MAAM,CAACC,KAAK,CAACF,CAAC,CAAC,CACrB,CACF"}
@@ -47,9 +47,9 @@ const jsonLogFileFormat = _winston.default.format.combine(_winston.default.forma
47
47
  return `${level}: ${timestamp} ${message} - ${stack}`;
48
48
  }
49
49
  return `${level}: ${timestamp} ${message}`;
50
- })) }));
51
-
50
+ }))
52
51
 
52
+ }));
53
53
 
54
54
  }
55
55
  if (options.logger.indexOf('file') > -1) {
@@ -58,8 +58,8 @@ const jsonLogFileFormat = _winston.default.format.combine(_winston.default.forma
58
58
  filename: './log/app.logg',
59
59
  level: log_level,
60
60
  maxsize: 10485760,
61
- maxFiles: 3 }));
62
-
61
+ maxFiles: 3
62
+ }));
63
63
 
64
64
  }
65
65
 
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["jsonLogFileFormat","winston","format","combine","errors","stack","timestamp","prettyPrint","createLogger","options","log_level","level","logger","expressFormat","indexOf","add","transports","Console","colorize","printf","message","File","filename","maxsize","maxFiles"],"sources":["../../src/util/logger.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 winston from 'winston';\n\n// Use JSON logging for log files\n// Here winston.format.errors() just seem to work\n// because there is no winston.format.simple()\nconst jsonLogFileFormat = winston.format.combine(\n winston.format.errors({ stack: true }),\n winston.format.timestamp(),\n winston.format.prettyPrint()\n);\n\nexport function createLogger(options) {\n const log_level = options.level;\n // Create file loggers\n const logger = winston.createLogger({\n level: 'debug',\n format: jsonLogFileFormat,\n expressFormat: true,\n });\n\n // When running locally, write everything to the console\n // with proper stacktraces enabled\n if (options.logger.indexOf('console') > -1) {\n logger.add(\n new winston.transports.Console({\n format: winston.format.combine(\n winston.format.errors({ stack: true }),\n winston.format.colorize(),\n winston.format.printf(({ level, message, timestamp, stack }) => {\n if (stack) {\n // print log trace\n return `${level}: ${timestamp} ${message} - ${stack}`;\n }\n return `${level}: ${timestamp} ${message}`;\n })\n ),\n })\n );\n }\n if (options.logger.indexOf('file') > -1) {\n logger.add(\n new winston.transports.File({\n filename: './log/app.logg',\n level: log_level,\n maxsize: 10485760,\n maxFiles: 3,\n })\n );\n }\n\n return logger;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA,0D,CAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G,CAGA;AACA;AACA;AACA,MAAMA,iBAAiB,GAAGC,gBAAA,CAAQC,MAAR,CAAeC,OAAf,CACxBF,gBAAA,CAAQC,MAAR,CAAeE,MAAf,CAAsB,EAAEC,KAAK,EAAE,IAAT,EAAtB,CADwB,EAExBJ,gBAAA,CAAQC,MAAR,CAAeI,SAAf,EAFwB,EAGxBL,gBAAA,CAAQC,MAAR,CAAeK,WAAf,EAHwB,CAA1B,CAMO,SAASC,YAAT,CAAsBC,OAAtB,EAA+B,CACpC,MAAMC,SAAS,GAAGD,OAAO,CAACE,KAA1B,CADoC,CAEpC;EACA,MAAMC,MAAM,GAAGX,gBAAA,CAAQO,YAAR,CAAqB,EAClCG,KAAK,EAAE,OAD2B,EAElCT,MAAM,EAAEF,iBAF0B,EAGlCa,aAAa,EAAE,IAHmB,EAArB,CAAf;;EAMA;EACA;EACA,IAAIJ,OAAO,CAACG,MAAR,CAAeE,OAAf,CAAuB,SAAvB,IAAoC,CAAC,CAAzC,EAA4C;IAC1CF,MAAM,CAACG,GAAP;IACE,IAAId,gBAAA,CAAQe,UAAR,CAAmBC,OAAvB,CAA+B;MAC7Bf,MAAM,EAAED,gBAAA,CAAQC,MAAR,CAAeC,OAAf;MACNF,gBAAA,CAAQC,MAAR,CAAeE,MAAf,CAAsB,EAAEC,KAAK,EAAE,IAAT,EAAtB,CADM;MAENJ,gBAAA,CAAQC,MAAR,CAAegB,QAAf,EAFM;MAGNjB,gBAAA,CAAQC,MAAR,CAAeiB,MAAf,CAAsB,CAAC,EAAER,KAAF,EAASS,OAAT,EAAkBd,SAAlB,EAA6BD,KAA7B,EAAD,KAA0C;QAC9D,IAAIA,KAAJ,EAAW;UACT;UACA,OAAQ,GAAEM,KAAM,KAAIL,SAAU,IAAGc,OAAQ,MAAKf,KAAM,EAApD;QACD;QACD,OAAQ,GAAEM,KAAM,KAAIL,SAAU,IAAGc,OAAQ,EAAzC;MACD,CAND,CAHM,CADqB,EAA/B,CADF;;;;EAeD;EACD,IAAIX,OAAO,CAACG,MAAR,CAAeE,OAAf,CAAuB,MAAvB,IAAiC,CAAC,CAAtC,EAAyC;IACvCF,MAAM,CAACG,GAAP;IACE,IAAId,gBAAA,CAAQe,UAAR,CAAmBK,IAAvB,CAA4B;MAC1BC,QAAQ,EAAE,gBADgB;MAE1BX,KAAK,EAAED,SAFmB;MAG1Ba,OAAO,EAAE,QAHiB;MAI1BC,QAAQ,EAAE,CAJgB,EAA5B,CADF;;;EAQD;;EAED,OAAOZ,MAAP;AACD"}
1
+ {"version":3,"file":"logger.js","names":["jsonLogFileFormat","winston","format","combine","errors","stack","timestamp","prettyPrint","createLogger","options","log_level","level","logger","expressFormat","indexOf","add","transports","Console","colorize","printf","message","File","filename","maxsize","maxFiles"],"sources":["../../src/util/logger.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 winston from 'winston';\n\n// Use JSON logging for log files\n// Here winston.format.errors() just seem to work\n// because there is no winston.format.simple()\nconst jsonLogFileFormat = winston.format.combine(\n winston.format.errors({ stack: true }),\n winston.format.timestamp(),\n winston.format.prettyPrint()\n);\n\nexport function createLogger(options) {\n const log_level = options.level;\n // Create file loggers\n const logger = winston.createLogger({\n level: 'debug',\n format: jsonLogFileFormat,\n expressFormat: true,\n });\n\n // When running locally, write everything to the console\n // with proper stacktraces enabled\n if (options.logger.indexOf('console') > -1) {\n logger.add(\n new winston.transports.Console({\n format: winston.format.combine(\n winston.format.errors({ stack: true }),\n winston.format.colorize(),\n winston.format.printf(({ level, message, timestamp, stack }) => {\n if (stack) {\n // print log trace\n return `${level}: ${timestamp} ${message} - ${stack}`;\n }\n return `${level}: ${timestamp} ${message}`;\n })\n ),\n })\n );\n }\n if (options.logger.indexOf('file') > -1) {\n logger.add(\n new winston.transports.File({\n filename: './log/app.logg',\n level: log_level,\n maxsize: 10485760,\n maxFiles: 3,\n })\n );\n }\n\n return logger;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA,0DAA8B,CAf9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAdA,CAiBA;AACA;AACA;AACA,MAAMA,iBAAiB,GAAGC,gBAAO,CAACC,MAAM,CAACC,OAAO,CAC9CF,gBAAO,CAACC,MAAM,CAACE,MAAM,CAAC,EAAEC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EACtCJ,gBAAO,CAACC,MAAM,CAACI,SAAS,EAAE,EAC1BL,gBAAO,CAACC,MAAM,CAACK,WAAW,EAAE,CAC7B,CAEM,SAASC,YAAY,CAACC,OAAO,EAAE,CACpC,MAAMC,SAAS,GAAGD,OAAO,CAACE,KAAK,CAAC,CAChC;EACA,MAAMC,MAAM,GAAGX,gBAAO,CAACO,YAAY,CAAC,EAClCG,KAAK,EAAE,OAAO,EACdT,MAAM,EAAEF,iBAAiB,EACzBa,aAAa,EAAE,IAAI,CACrB,CAAC,CAAC;;EAEF;EACA;EACA,IAAIJ,OAAO,CAACG,MAAM,CAACE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;IAC1CF,MAAM,CAACG,GAAG;IACR,IAAId,gBAAO,CAACe,UAAU,CAACC,OAAO,CAAC;MAC7Bf,MAAM,EAAED,gBAAO,CAACC,MAAM,CAACC,OAAO;MAC5BF,gBAAO,CAACC,MAAM,CAACE,MAAM,CAAC,EAAEC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;MACtCJ,gBAAO,CAACC,MAAM,CAACgB,QAAQ,EAAE;MACzBjB,gBAAO,CAACC,MAAM,CAACiB,MAAM,CAAC,CAAC,EAAER,KAAK,EAAES,OAAO,EAAEd,SAAS,EAAED,KAAK,CAAC,CAAC,KAAK;QAC9D,IAAIA,KAAK,EAAE;UACT;UACA,OAAQ,GAAEM,KAAM,KAAIL,SAAU,IAAGc,OAAQ,MAAKf,KAAM,EAAC;QACvD;QACA,OAAQ,GAAEM,KAAM,KAAIL,SAAU,IAAGc,OAAQ,EAAC;MAC5C,CAAC,CAAC;;IAEN,CAAC,CAAC,CACH;;EACH;EACA,IAAIX,OAAO,CAACG,MAAM,CAACE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;IACvCF,MAAM,CAACG,GAAG;IACR,IAAId,gBAAO,CAACe,UAAU,CAACK,IAAI,CAAC;MAC1BC,QAAQ,EAAE,gBAAgB;MAC1BX,KAAK,EAAED,SAAS;MAChBa,OAAO,EAAE,QAAQ;MACjBC,QAAQ,EAAE;IACZ,CAAC,CAAC,CACH;;EACH;;EAEA,OAAOZ,MAAM;AACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionUtil.js","names":["chromiumArgs","clientsArray","sessions","eventEmitter","EventEmitter"],"sources":["../../src/util/sessionUtil.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 { EventEmitter } from 'events';\nexport const chromiumArgs = [\n '--disable-web-security',\n '--no-sandbox',\n '--disable-web-security',\n '--aggressive-cache-discard',\n '--disable-cache',\n '--disable-application-cache',\n '--disable-offline-load-stale-cache',\n '--disk-cache-size=0',\n '--disable-background-networking',\n '--disable-default-apps',\n '--disable-extensions',\n '--disable-sync',\n '--disable-translate',\n '--hide-scrollbars',\n '--metrics-recording-only',\n '--mute-audio',\n '--no-first-run',\n '--safebrowsing-disable-auto-update',\n '--ignore-certificate-errors',\n '--ignore-ssl-errors',\n '--ignore-certificate-errors-spki-list',\n];\nexport let clientsArray = [];\nexport let sessions = [];\nexport const eventEmitter = new EventEmitter();\n"],"mappings":";;;;;;;;;;;;;;;AAeA,gC,CAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAEO,MAAMA,YAAY,GAAG,CAC1B,wBAD0B,EAE1B,cAF0B,EAG1B,wBAH0B,EAI1B,4BAJ0B,EAK1B,iBAL0B,EAM1B,6BAN0B,EAO1B,oCAP0B,EAQ1B,qBAR0B,EAS1B,iCAT0B,EAU1B,wBAV0B,EAW1B,sBAX0B,EAY1B,gBAZ0B,EAa1B,qBAb0B;AAc1B,mBAd0B;AAe1B,0BAf0B;AAgB1B,cAhB0B;AAiB1B,gBAjB0B;AAkB1B,oCAlB0B;AAmB1B,6BAnB0B;AAoB1B,qBApB0B;AAqB1B,uCArB0B,CAArB,C;;AAuBA,IAAIC,YAAY,GAAG,EAAnB,C;AACA,IAAIC,QAAQ,GAAG,EAAf,C;AACA,MAAMC,YAAY,GAAG,IAAIC,oBAAJ,EAArB,C"}
1
+ {"version":3,"file":"sessionUtil.js","names":["chromiumArgs","clientsArray","sessions","eventEmitter","EventEmitter"],"sources":["../../src/util/sessionUtil.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 { EventEmitter } from 'events';\nexport const chromiumArgs = [\n '--disable-web-security',\n '--no-sandbox',\n '--disable-web-security',\n '--aggressive-cache-discard',\n '--disable-cache',\n '--disable-application-cache',\n '--disable-offline-load-stale-cache',\n '--disk-cache-size=0',\n '--disable-background-networking',\n '--disable-default-apps',\n '--disable-extensions',\n '--disable-sync',\n '--disable-translate',\n '--hide-scrollbars',\n '--metrics-recording-only',\n '--mute-audio',\n '--no-first-run',\n '--safebrowsing-disable-auto-update',\n '--ignore-certificate-errors',\n '--ignore-ssl-errors',\n '--ignore-certificate-errors-spki-list',\n];\nexport let clientsArray = [];\nexport let sessions = [];\nexport const eventEmitter = new EventEmitter();\n"],"mappings":";;;;;;;;;;;;;;;AAeA,gCAAsC,CAftC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAEO,MAAMA,YAAY,GAAG,CAC1B,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,6BAA6B,EAC7B,oCAAoC,EACpC,qBAAqB,EACrB,iCAAiC,EACjC,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB;AACrB,mBAAmB;AACnB,0BAA0B;AAC1B,cAAc;AACd,gBAAgB;AAChB,oCAAoC;AACpC,6BAA6B;AAC7B,qBAAqB;AACrB,uCAAuC,CACxC,CAAC;;AACK,IAAIC,YAAY,GAAG,EAAE,CAAC;AACtB,IAAIC,QAAQ,GAAG,EAAE,CAAC;AAClB,MAAMC,YAAY,GAAG,IAAIC,oBAAY,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","names":["Factory","createTokenStory","client","myTokenStore","type","config","tokenStoreType","MongodbTokenStore","RedisTokenStore","FirebaseTokenStore","FileTokenStore","tokenStore","module","exports"],"sources":["../../../src/util/tokenStore/factory.js"],"sourcesContent":["import config from '../../config.json';\nimport FileTokenStore from './fileTokenStory';\nimport MongodbTokenStore from './mongodbTokenStory';\nimport RedisTokenStore from './redisTokenStory';\nimport FirebaseTokenStore from './firebaseTokenStory';\n\nvar Factory = function () {\n this.createTokenStory = function (client) {\n var myTokenStore;\n const type = config.tokenStoreType;\n\n if (type === 'mongodb') {\n myTokenStore = new MongodbTokenStore(client);\n } else if (type === 'redis') {\n myTokenStore = new RedisTokenStore(client);\n } else if (type === 'firebase') {\n myTokenStore = new FirebaseTokenStore();\n } else {\n myTokenStore = new FileTokenStore(client);\n }\n\n return myTokenStore.tokenStore;\n };\n};\n\nmodule.exports = Factory;\n"],"mappings":"kGAAA;AACA;AACA;AACA;AACA;;AAEA,IAAIA,OAAO,GAAG,YAAY;EACxB,KAAKC,gBAAL,GAAwB,UAAUC,MAAV,EAAkB;IACxC,IAAIC,YAAJ;IACA,MAAMC,IAAI,GAAGC,eAAA,CAAOC,cAApB;;IAEA,IAAIF,IAAI,KAAK,SAAb,EAAwB;MACtBD,YAAY,GAAG,IAAII,0BAAJ,CAAsBL,MAAtB,CAAf;IACD,CAFD,MAEO,IAAIE,IAAI,KAAK,OAAb,EAAsB;MAC3BD,YAAY,GAAG,IAAIK,wBAAJ,CAAoBN,MAApB,CAAf;IACD,CAFM,MAEA,IAAIE,IAAI,KAAK,UAAb,EAAyB;MAC9BD,YAAY,GAAG,IAAIM,2BAAJ,EAAf;IACD,CAFM,MAEA;MACLN,YAAY,GAAG,IAAIO,uBAAJ,CAAmBR,MAAnB,CAAf;IACD;;IAED,OAAOC,YAAY,CAACQ,UAApB;EACD,CAfD;AAgBD,CAjBD;;AAmBAC,MAAM,CAACC,OAAP,GAAiBb,OAAjB"}
1
+ {"version":3,"file":"factory.js","names":["Factory","createTokenStory","client","myTokenStore","type","config","tokenStoreType","MongodbTokenStore","RedisTokenStore","FirebaseTokenStore","FileTokenStore","tokenStore","module","exports"],"sources":["../../../src/util/tokenStore/factory.js"],"sourcesContent":["import config from '../../config.json';\nimport FileTokenStore from './fileTokenStory';\nimport MongodbTokenStore from './mongodbTokenStory';\nimport RedisTokenStore from './redisTokenStory';\nimport FirebaseTokenStore from './firebaseTokenStory';\n\nvar Factory = function () {\n this.createTokenStory = function (client) {\n var myTokenStore;\n const type = config.tokenStoreType;\n\n if (type === 'mongodb') {\n myTokenStore = new MongodbTokenStore(client);\n } else if (type === 'redis') {\n myTokenStore = new RedisTokenStore(client);\n } else if (type === 'firebase') {\n myTokenStore = new FirebaseTokenStore();\n } else {\n myTokenStore = new FileTokenStore(client);\n }\n\n return myTokenStore.tokenStore;\n };\n};\n\nmodule.exports = Factory;\n"],"mappings":"kGAAA;AACA;AACA;AACA;AACA;;AAEA,IAAIA,OAAO,GAAG,YAAY;EACxB,IAAI,CAACC,gBAAgB,GAAG,UAAUC,MAAM,EAAE;IACxC,IAAIC,YAAY;IAChB,MAAMC,IAAI,GAAGC,eAAM,CAACC,cAAc;;IAElC,IAAIF,IAAI,KAAK,SAAS,EAAE;MACtBD,YAAY,GAAG,IAAII,0BAAiB,CAACL,MAAM,CAAC;IAC9C,CAAC,MAAM,IAAIE,IAAI,KAAK,OAAO,EAAE;MAC3BD,YAAY,GAAG,IAAIK,wBAAe,CAACN,MAAM,CAAC;IAC5C,CAAC,MAAM,IAAIE,IAAI,KAAK,UAAU,EAAE;MAC9BD,YAAY,GAAG,IAAIM,2BAAkB,EAAE;IACzC,CAAC,MAAM;MACLN,YAAY,GAAG,IAAIO,uBAAc,CAACR,MAAM,CAAC;IAC3C;;IAEA,OAAOC,YAAY,CAACQ,UAAU;EAChC,CAAC;AACH,CAAC;;AAEDC,MAAM,CAACC,OAAO,GAAGb,OAAO"}
@@ -7,8 +7,8 @@ var FileTokenStore = function (client) {
7
7
  },
8
8
  decodeFunction: (text) => {
9
9
  return this.decodeFunction(text, client);
10
- } });
11
-
10
+ }
11
+ });
12
12
 
13
13
  this.encodeFunction = function (data, config) {
14
14
  data.config = config;