@wppconnect/server 1.6.1 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/controller/deviceController.js +17 -4
- package/dist/controller/deviceController.js.map +1 -1
- package/dist/controller/groupController.js.map +1 -1
- package/dist/controller/sessionController.js +15 -9
- package/dist/controller/sessionController.js.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/swagger.json +679 -0
- package/dist/util/createSessionUtil.js +3 -0
- package/dist/util/createSessionUtil.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionController.js","names":["SessionUtil","CreateSessionUtil","downloadFileFunction","message","client","logger","buffer","decryptFile","filename","t","fs","existsSync","result","type","mime","extension","mimetype","writeFile","err","error","e","warn","downloadMedia","download","path","replace","startAllSessions","req","res","secretkey","params","authorization","token","headers","tokenDecrypt","undefined","split","allSessions","getAllTokens","serverOptions","secretKey","status","json","response","map","session","util","opendata","showAllSessions","arr","Object","keys","clientsArray","forEach","item","push","startSession","waitQrCode","body","getSessionState","closeSession","close","io","emit","callWebHook","connected","logOutSession","logout","checkConnectionSession","isConnected","downloadMediaByMessage","messageId","isMedia","getMessageById","isMMS","base64","toString","getMediaByMessage","ex","qrcode","urlcode","getQrCode","img","Buffer","from","writeHead","length","end","killServiceWorker","restartService","subscribePresence","phone","isGroup","all","contacts","groups","getAllGroups","p","id","_serialized","chats","getAllContacts","c","contato","contactToArray"],"sources":["../../src/controller/sessionController.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 } from '../util/sessionUtil';\nimport { callWebHook, contactToArray } from '../util/functions';\nimport CreateSessionUtil from '../util/createSessionUtil';\nimport getAllTokens from '../util/getAllTokens';\nimport fs from 'fs';\nimport mime from 'mime-types';\n\nconst SessionUtil = new CreateSessionUtil();\n\nasync function downloadFileFunction(message, client, logger) {\n try {\n const buffer = await client.decryptFile(message);\n\n let filename = `./WhatsAppImages/file${message.t}`;\n if (!fs.existsSync(filename)) {\n let result = '';\n if (message.type === 'ptt') {\n result = `${filename}.oga`;\n } else {\n result = `${filename}.${mime.extension(message.mimetype)}`;\n }\n\n await fs.writeFile(result, buffer, (err) => {\n if (err) {\n logger.error(err);\n }\n });\n\n return result;\n } else {\n return `${filename}.${mime.extension(message.mimetype)}`;\n }\n } catch (e) {\n logger.error(e);\n logger.warn('Erro ao descriptografar a midia, tentando fazer o download direto...');\n try {\n const buffer = await client.downloadMedia(message);\n const filename = `./WhatsAppImages/file${message.t}`;\n if (!fs.existsSync(filename)) {\n let result = '';\n if (message.type === 'ptt') {\n result = `${filename}.oga`;\n } else {\n result = `${filename}.${mime.extension(message.mimetype)}`;\n }\n\n await fs.writeFile(result, buffer, (err) => {\n if (err) {\n logger.error(err);\n }\n });\n\n return result;\n } else {\n return `${filename}.${mime.extension(message.mimetype)}`;\n }\n } catch (e) {\n logger.error(e);\n logger.warn('Não foi possível baixar a mídia...');\n }\n }\n}\n\nexport async function download(message, client, logger) {\n try {\n const path = await downloadFileFunction(message, client, logger);\n return path.replace('./', '');\n } catch (e) {\n logger.error(e);\n }\n}\n\nexport async function startAllSessions(req, res) {\n const { secretkey } = req.params;\n const { authorization: token } = req.headers;\n\n let tokenDecrypt = '';\n\n if (secretkey === undefined) {\n tokenDecrypt = token.split(' ')[0];\n } else {\n tokenDecrypt = secretkey;\n }\n\n const allSessions = await getAllTokens(req);\n\n if (tokenDecrypt !== req.serverOptions.secretKey) {\n return res.status(400).json({\n response: 'error',\n message: 'The token is incorrect',\n });\n }\n\n allSessions.map(async (session) => {\n const util = new CreateSessionUtil();\n await util.opendata(req, session);\n });\n\n return await res.status(201).json({ status: 'success', message: 'Starting all sessions' });\n}\n\nexport async function showAllSessions(req, res) {\n const { secretkey } = req.params;\n const { authorization: token } = req.headers;\n\n let tokenDecrypt = '';\n\n if (secretkey === undefined) {\n tokenDecrypt = token.split(' ')[0];\n } else {\n tokenDecrypt = secretkey;\n }\n\n const arr = [];\n\n if (tokenDecrypt !== req.serverOptions.secretKey) {\n return res.status(400).json({\n response: false,\n message: 'The token is incorrect',\n });\n }\n\n Object.keys(clientsArray).forEach((item) => {\n arr.push({ session: item });\n });\n\n return res.status(200).json({ response: arr });\n}\n\nexport async function startSession(req, res) {\n const session = req.session;\n const { waitQrCode = false } = req.body;\n\n await getSessionState(req, res);\n await SessionUtil.opendata(req, session, waitQrCode ? res : null);\n}\n\nexport async function closeSession(req, res) {\n const session = req.session;\n try {\n clientsArray[session] = { status: null };\n await req.client.close();\n\n req.io.emit('whatsapp-status', false);\n callWebHook(req.client, req, 'closesession', {\n message: `Session: ${session} disconnected`,\n connected: false,\n });\n\n return await res.status(200).json({ status: true, message: 'Session successfully closed' });\n } catch (error) {\n req.logger.error(error);\n return await res.status(500).json({ status: false, message: 'Error closing session', error });\n }\n}\n\nexport async function logOutSession(req, res) {\n try {\n const session = req.session;\n await req.client.logout();\n\n req.io.emit('whatsapp-status', false);\n callWebHook(req.client, req, 'logoutsession', {\n message: `Session: ${session} logged out`,\n connected: false,\n });\n\n return await res.status(200).json({ status: true, message: 'Session successfully closed' });\n } catch (error) {\n req.logger.error(error);\n return await res.status(500).json({ status: false, message: 'Error closing session', error });\n }\n}\n\nexport async function checkConnectionSession(req, res) {\n try {\n await req.client.isConnected();\n\n return res.status(200).json({ status: true, message: 'Connected' });\n } catch (error) {\n return res.status(200).json({ status: false, message: 'Disconnected' });\n }\n}\n\nexport async function downloadMediaByMessage(req, res) {\n const client = req.client;\n const { messageId } = req.body;\n\n let message;\n\n try {\n if (!messageId.isMedia || !messageId.type) {\n message = await client.getMessageById(messageId);\n } else {\n message = messageId;\n }\n\n if (!message)\n return res.status(400).json({\n status: 'error',\n message: 'Message not found',\n });\n\n if (!(message['mimetype'] || message.isMedia || message.isMMS))\n return res.status(400).json({\n status: 'error',\n message: 'Message does not contain media',\n });\n\n const buffer = await client.decryptFile(message);\n\n return res.status(200).json({ base64: buffer.toString('base64'), mimetype: message.mimetype });\n } catch (e) {\n req.logger.error(e);\n return res.status(400).json({\n status: 'error',\n message: 'Decrypt file error',\n });\n }\n}\n\nexport async function getMediaByMessage(req, res) {\n const client = req.client;\n const { messageId } = req.params;\n\n try {\n const message = await client.getMessageById(messageId);\n\n if (!message)\n return res.status(400).json({\n status: 'error',\n message: 'Message not found',\n });\n\n if (!(message['mimetype'] || message.isMedia || message.isMMS))\n return res.status(400).json({\n status: 'error',\n message: 'Message does not contain media',\n });\n\n const buffer = await client.decryptFile(message);\n\n return res.status(200).json({ base64: buffer.toString('base64'), mimetype: message.mimetype });\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', message: 'The session is not active' });\n }\n}\n\nexport async function getSessionState(req, res) {\n try {\n const { waitQrCode = false } = req.body;\n const client = req.client;\n\n if ((client == null || client.status == null) && !waitQrCode)\n return res.status(200).json({ status: 'CLOSED', qrcode: null });\n else if (client != null)\n return res.status(200).json({\n status: client.status,\n qrcode: client.qrcode,\n urlcode: client.urlcode,\n });\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', message: 'The session is not active' });\n }\n}\n\nexport async function getQrCode(req, res) {\n try {\n const img = Buffer.from(req.client.qrcode.replace(/^data:image\\/(png|jpeg|jpg);base64,/, ''), 'base64');\n\n res.writeHead(200, {\n 'Content-Type': 'image/png',\n 'Content-Length': img.length,\n });\n res.end(img);\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', message: 'Error retrieving QRCode' });\n }\n}\n\nexport async function killServiceWorker(req, res) {\n try {\n return res.status(200).json({ status: 'success', response: req.client.killServiceWorker() });\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', message: 'The session is not active' });\n }\n}\n\nexport async function restartService(req, res) {\n try {\n return res.status(200).json({ status: 'success', response: req.client.restartService() });\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', response: { message: 'The session is not active' } });\n }\n}\n\nexport async function subscribePresence(req, res) {\n try {\n const { phone, isGroup = false, all = false } = req.body;\n\n if (all) {\n let contacts;\n if (isGroup) {\n const groups = await req.client.getAllGroups(false);\n contacts = groups.map((p) => p.id._serialized);\n } else {\n const chats = await req.client.getAllContacts();\n contacts = chats.map((c) => c.id._serialized);\n }\n await req.client.subscribePresence(contacts);\n } else\n for (const contato of contactToArray(phone, isGroup)) {\n await req.client.subscribePresence(contato);\n }\n\n return await res.status(200).json({ status: 'success', response: { message: 'Subscribe presence executed' } });\n } catch (error) {\n return await res.status(500).json({ status: 'error', message: 'Error on subscribe presence', error });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionController.js","names":["SessionUtil","CreateSessionUtil","downloadFileFunction","message","client","logger","buffer","decryptFile","filename","t","fs","existsSync","result","type","mime","extension","mimetype","writeFile","err","error","e","warn","downloadMedia","download","path","replace","startAllSessions","req","res","secretkey","params","authorization","token","headers","tokenDecrypt","undefined","split","allSessions","getAllTokens","serverOptions","secretKey","status","json","response","map","session","util","opendata","showAllSessions","arr","Object","keys","clientsArray","forEach","item","push","startSession","waitQrCode","body","getSessionState","closeSession","close","io","emit","callWebHook","connected","logOutSession","logout","checkConnectionSession","isConnected","downloadMediaByMessage","messageId","isMedia","getMessageById","isMMS","base64","toString","getMediaByMessage","ex","qrcode","urlcode","version","getQrCode","img","Buffer","from","writeHead","length","end","killServiceWorker","restartService","subscribePresence","phone","isGroup","all","contacts","groups","getAllGroups","p","id","_serialized","chats","getAllContacts","c","contato","contactToArray"],"sources":["../../src/controller/sessionController.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 } from '../util/sessionUtil';\nimport { callWebHook, contactToArray } from '../util/functions';\nimport CreateSessionUtil from '../util/createSessionUtil';\nimport getAllTokens from '../util/getAllTokens';\nimport fs from 'fs';\nimport mime from 'mime-types';\nimport { version } from '../../package.json';\n\nconst SessionUtil = new CreateSessionUtil();\n\nasync function downloadFileFunction(message, client, logger) {\n try {\n const buffer = await client.decryptFile(message);\n\n let filename = `./WhatsAppImages/file${message.t}`;\n if (!fs.existsSync(filename)) {\n let result = '';\n if (message.type === 'ptt') {\n result = `${filename}.oga`;\n } else {\n result = `${filename}.${mime.extension(message.mimetype)}`;\n }\n\n await fs.writeFile(result, buffer, (err) => {\n if (err) {\n logger.error(err);\n }\n });\n\n return result;\n } else {\n return `${filename}.${mime.extension(message.mimetype)}`;\n }\n } catch (e) {\n logger.error(e);\n logger.warn('Erro ao descriptografar a midia, tentando fazer o download direto...');\n try {\n const buffer = await client.downloadMedia(message);\n const filename = `./WhatsAppImages/file${message.t}`;\n if (!fs.existsSync(filename)) {\n let result = '';\n if (message.type === 'ptt') {\n result = `${filename}.oga`;\n } else {\n result = `${filename}.${mime.extension(message.mimetype)}`;\n }\n\n await fs.writeFile(result, buffer, (err) => {\n if (err) {\n logger.error(err);\n }\n });\n\n return result;\n } else {\n return `${filename}.${mime.extension(message.mimetype)}`;\n }\n } catch (e) {\n logger.error(e);\n logger.warn('Não foi possível baixar a mídia...');\n }\n }\n}\n\nexport async function download(message, client, logger) {\n try {\n const path = await downloadFileFunction(message, client, logger);\n return path.replace('./', '');\n } catch (e) {\n logger.error(e);\n }\n}\n\nexport async function startAllSessions(req, res) {\n const { secretkey } = req.params;\n const { authorization: token } = req.headers;\n\n let tokenDecrypt = '';\n\n if (secretkey === undefined) {\n tokenDecrypt = token.split(' ')[0];\n } else {\n tokenDecrypt = secretkey;\n }\n\n const allSessions = await getAllTokens(req);\n\n if (tokenDecrypt !== req.serverOptions.secretKey) {\n return res.status(400).json({\n response: 'error',\n message: 'The token is incorrect',\n });\n }\n\n allSessions.map(async (session) => {\n const util = new CreateSessionUtil();\n await util.opendata(req, session);\n });\n\n return await res.status(201).json({ status: 'success', message: 'Starting all sessions' });\n}\n\nexport async function showAllSessions(req, res) {\n const { secretkey } = req.params;\n const { authorization: token } = req.headers;\n\n let tokenDecrypt = '';\n\n if (secretkey === undefined) {\n tokenDecrypt = token.split(' ')[0];\n } else {\n tokenDecrypt = secretkey;\n }\n\n const arr = [];\n\n if (tokenDecrypt !== req.serverOptions.secretKey) {\n return res.status(400).json({\n response: false,\n message: 'The token is incorrect',\n });\n }\n\n Object.keys(clientsArray).forEach((item) => {\n arr.push({ session: item });\n });\n\n return res.status(200).json({ response: arr });\n}\n\nexport async function startSession(req, res) {\n const session = req.session;\n const { waitQrCode = false } = req.body;\n\n await getSessionState(req, res);\n await SessionUtil.opendata(req, session, waitQrCode ? res : null);\n}\n\nexport async function closeSession(req, res) {\n const session = req.session;\n try {\n if (clientsArray[session].status === null) {\n return await res.status(200).json({ status: true, message: 'Session successfully closed' });\n } else {\n clientsArray[session] = { status: null };\n await req.client.close();\n\n req.io.emit('whatsapp-status', false);\n callWebHook(req.client, req, 'closesession', {\n message: `Session: ${session} disconnected`,\n connected: false,\n });\n\n return await res.status(200).json({ status: true, message: 'Session successfully closed' });\n }\n } catch (error) {\n req.logger.error(error);\n return await res.status(500).json({ status: false, message: 'Error closing session', error });\n }\n}\n\nexport async function logOutSession(req, res) {\n try {\n const session = req.session;\n await req.client.logout();\n\n req.io.emit('whatsapp-status', false);\n callWebHook(req.client, req, 'logoutsession', {\n message: `Session: ${session} logged out`,\n connected: false,\n });\n\n return await res.status(200).json({ status: true, message: 'Session successfully closed' });\n } catch (error) {\n req.logger.error(error);\n return await res.status(500).json({ status: false, message: 'Error closing session', error });\n }\n}\n\nexport async function checkConnectionSession(req, res) {\n try {\n await req.client.isConnected();\n\n return res.status(200).json({ status: true, message: 'Connected' });\n } catch (error) {\n return res.status(200).json({ status: false, message: 'Disconnected' });\n }\n}\n\nexport async function downloadMediaByMessage(req, res) {\n const client = req.client;\n const { messageId } = req.body;\n\n let message;\n\n try {\n if (!messageId.isMedia || !messageId.type) {\n message = await client.getMessageById(messageId);\n } else {\n message = messageId;\n }\n\n if (!message)\n return res.status(400).json({\n status: 'error',\n message: 'Message not found',\n });\n\n if (!(message['mimetype'] || message.isMedia || message.isMMS))\n return res.status(400).json({\n status: 'error',\n message: 'Message does not contain media',\n });\n\n const buffer = await client.decryptFile(message);\n\n return res.status(200).json({ base64: buffer.toString('base64'), mimetype: message.mimetype });\n } catch (e) {\n req.logger.error(e);\n return res.status(400).json({\n status: 'error',\n message: 'Decrypt file error',\n });\n }\n}\n\nexport async function getMediaByMessage(req, res) {\n const client = req.client;\n const { messageId } = req.params;\n\n try {\n const message = await client.getMessageById(messageId);\n\n if (!message)\n return res.status(400).json({\n status: 'error',\n message: 'Message not found',\n });\n\n if (!(message['mimetype'] || message.isMedia || message.isMMS))\n return res.status(400).json({\n status: 'error',\n message: 'Message does not contain media',\n });\n\n const buffer = await client.decryptFile(message);\n\n return res.status(200).json({ base64: buffer.toString('base64'), mimetype: message.mimetype });\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', message: 'The session is not active' });\n }\n}\n\nexport async function getSessionState(req, res) {\n try {\n const { waitQrCode = false } = req.body;\n const client = req.client;\n\n if ((client == null || client.status == null) && !waitQrCode)\n return res.status(200).json({ status: 'CLOSED', qrcode: null });\n else if (client != null)\n return res.status(200).json({\n status: client.status,\n qrcode: client.qrcode,\n urlcode: client.urlcode,\n version: version,\n });\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', message: 'The session is not active' });\n }\n}\n\nexport async function getQrCode(req, res) {\n try {\n const img = Buffer.from(req.client.qrcode.replace(/^data:image\\/(png|jpeg|jpg);base64,/, ''), 'base64');\n\n res.writeHead(200, {\n 'Content-Type': 'image/png',\n 'Content-Length': img.length,\n });\n res.end(img);\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', message: 'Error retrieving QRCode' });\n }\n}\n\nexport async function killServiceWorker(req, res) {\n try {\n return res.status(200).json({ status: 'success', response: req.client.killServiceWorker() });\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', message: 'The session is not active' });\n }\n}\n\nexport async function restartService(req, res) {\n try {\n return res.status(200).json({ status: 'success', response: req.client.restartService() });\n } catch (ex) {\n req.logger.error(ex);\n return res.status(500).json({ status: 'error', response: { message: 'The session is not active' } });\n }\n}\n\nexport async function subscribePresence(req, res) {\n try {\n const { phone, isGroup = false, all = false } = req.body;\n\n if (all) {\n let contacts;\n if (isGroup) {\n const groups = await req.client.getAllGroups(false);\n contacts = groups.map((p) => p.id._serialized);\n } else {\n const chats = await req.client.getAllContacts();\n contacts = chats.map((c) => c.id._serialized);\n }\n await req.client.subscribePresence(contacts);\n } else\n for (const contato of contactToArray(phone, isGroup)) {\n await req.client.subscribePresence(contato);\n }\n\n return await res.status(200).json({ status: 'success', response: { message: 'Subscribe presence executed' } });\n } catch (error) {\n return await res.status(500).json({ status: 'error', message: 'Error on subscribe presence', error });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAeA;AACA;AACA;AACA;AACA;AACA;AACA,6C,CArBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GASA,MAAMA,WAAW,GAAG,IAAIC,0BAAJ,EAApB,CAEA,eAAeC,oBAAf,CAAoCC,OAApC,EAA6CC,MAA7C,EAAqDC,MAArD,EAA6D,CAC3D,IAAI,CACF,MAAMC,MAAM,GAAG,MAAMF,MAAM,CAACG,WAAP,CAAmBJ,OAAnB,CAArB,CAEA,IAAIK,QAAQ,GAAI,wBAAuBL,OAAO,CAACM,CAAE,EAAjD,CACA,IAAI,CAACC,WAAA,CAAGC,UAAH,CAAcH,QAAd,CAAL,EAA8B,CAC5B,IAAII,MAAM,GAAG,EAAb,CACA,IAAIT,OAAO,CAACU,IAAR,KAAiB,KAArB,EAA4B,CAC1BD,MAAM,GAAI,GAAEJ,QAAS,MAArB,CACD,CAFD,MAEO,CACLI,MAAM,GAAI,GAAEJ,QAAS,IAAGM,kBAAA,CAAKC,SAAL,CAAeZ,OAAO,CAACa,QAAvB,CAAiC,EAAzD;MACD;;MAED,MAAMN,WAAA,CAAGO,SAAH,CAAaL,MAAb,EAAqBN,MAArB,EAA6B,CAACY,GAAD,KAAS;QAC1C,IAAIA,GAAJ,EAAS;UACPb,MAAM,CAACc,KAAP,CAAaD,GAAb;QACD;MACF,CAJK,CAAN;;MAMA,OAAON,MAAP;IACD,CAfD,MAeO;MACL,OAAQ,GAAEJ,QAAS,IAAGM,kBAAA,CAAKC,SAAL,CAAeZ,OAAO,CAACa,QAAvB,CAAiC,EAAvD;IACD;EACF,CAtBD,CAsBE,OAAOI,CAAP,EAAU;IACVf,MAAM,CAACc,KAAP,CAAaC,CAAb;IACAf,MAAM,CAACgB,IAAP,CAAY,sEAAZ;IACA,IAAI;MACF,MAAMf,MAAM,GAAG,MAAMF,MAAM,CAACkB,aAAP,CAAqBnB,OAArB,CAArB;MACA,MAAMK,QAAQ,GAAI,wBAAuBL,OAAO,CAACM,CAAE,EAAnD;MACA,IAAI,CAACC,WAAA,CAAGC,UAAH,CAAcH,QAAd,CAAL,EAA8B;QAC5B,IAAII,MAAM,GAAG,EAAb;QACA,IAAIT,OAAO,CAACU,IAAR,KAAiB,KAArB,EAA4B;UAC1BD,MAAM,GAAI,GAAEJ,QAAS,MAArB;QACD,CAFD,MAEO;UACLI,MAAM,GAAI,GAAEJ,QAAS,IAAGM,kBAAA,CAAKC,SAAL,CAAeZ,OAAO,CAACa,QAAvB,CAAiC,EAAzD;QACD;;QAED,MAAMN,WAAA,CAAGO,SAAH,CAAaL,MAAb,EAAqBN,MAArB,EAA6B,CAACY,GAAD,KAAS;UAC1C,IAAIA,GAAJ,EAAS;YACPb,MAAM,CAACc,KAAP,CAAaD,GAAb;UACD;QACF,CAJK,CAAN;;QAMA,OAAON,MAAP;MACD,CAfD,MAeO;QACL,OAAQ,GAAEJ,QAAS,IAAGM,kBAAA,CAAKC,SAAL,CAAeZ,OAAO,CAACa,QAAvB,CAAiC,EAAvD;MACD;IACF,CArBD,CAqBE,OAAOI,CAAP,EAAU;MACVf,MAAM,CAACc,KAAP,CAAaC,CAAb;MACAf,MAAM,CAACgB,IAAP,CAAY,oCAAZ;IACD;EACF;AACF;;AAEM,eAAeE,QAAf,CAAwBpB,OAAxB,EAAiCC,MAAjC,EAAyCC,MAAzC,EAAiD;EACtD,IAAI;IACF,MAAMmB,IAAI,GAAG,MAAMtB,oBAAoB,CAACC,OAAD,EAAUC,MAAV,EAAkBC,MAAlB,CAAvC;IACA,OAAOmB,IAAI,CAACC,OAAL,CAAa,IAAb,EAAmB,EAAnB,CAAP;EACD,CAHD,CAGE,OAAOL,CAAP,EAAU;IACVf,MAAM,CAACc,KAAP,CAAaC,CAAb;EACD;AACF;;AAEM,eAAeM,gBAAf,CAAgCC,GAAhC,EAAqCC,GAArC,EAA0C;EAC/C,MAAM,EAAEC,SAAF,KAAgBF,GAAG,CAACG,MAA1B;EACA,MAAM,EAAEC,aAAa,EAAEC,KAAjB,KAA2BL,GAAG,CAACM,OAArC;;EAEA,IAAIC,YAAY,GAAG,EAAnB;;EAEA,IAAIL,SAAS,KAAKM,SAAlB,EAA6B;IAC3BD,YAAY,GAAGF,KAAK,CAACI,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAf;EACD,CAFD,MAEO;IACLF,YAAY,GAAGL,SAAf;EACD;;EAED,MAAMQ,WAAW,GAAG,MAAM,IAAAC,qBAAA,EAAaX,GAAb,CAA1B;;EAEA,IAAIO,YAAY,KAAKP,GAAG,CAACY,aAAJ,CAAkBC,SAAvC,EAAkD;IAChD,OAAOZ,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BC,QAAQ,EAAE,OADgB;MAE1BxC,OAAO,EAAE,wBAFiB,EAArB,CAAP;;EAID;;EAEDkC,WAAW,CAACO,GAAZ,CAAgB,OAAOC,OAAP,KAAmB;IACjC,MAAMC,IAAI,GAAG,IAAI7C,0BAAJ,EAAb;IACA,MAAM6C,IAAI,CAACC,QAAL,CAAcpB,GAAd,EAAmBkB,OAAnB,CAAN;EACD,CAHD;;EAKA,OAAO,MAAMjB,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBtC,OAAO,EAAE,uBAA9B,EAArB,CAAb;AACD;;AAEM,eAAe6C,eAAf,CAA+BrB,GAA/B,EAAoCC,GAApC,EAAyC;EAC9C,MAAM,EAAEC,SAAF,KAAgBF,GAAG,CAACG,MAA1B;EACA,MAAM,EAAEC,aAAa,EAAEC,KAAjB,KAA2BL,GAAG,CAACM,OAArC;;EAEA,IAAIC,YAAY,GAAG,EAAnB;;EAEA,IAAIL,SAAS,KAAKM,SAAlB,EAA6B;IAC3BD,YAAY,GAAGF,KAAK,CAACI,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAf;EACD,CAFD,MAEO;IACLF,YAAY,GAAGL,SAAf;EACD;;EAED,MAAMoB,GAAG,GAAG,EAAZ;;EAEA,IAAIf,YAAY,KAAKP,GAAG,CAACY,aAAJ,CAAkBC,SAAvC,EAAkD;IAChD,OAAOZ,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BC,QAAQ,EAAE,KADgB;MAE1BxC,OAAO,EAAE,wBAFiB,EAArB,CAAP;;EAID;;EAED+C,MAAM,CAACC,IAAP,CAAYC,yBAAZ,EAA0BC,OAA1B,CAAkC,CAACC,IAAD,KAAU;IAC1CL,GAAG,CAACM,IAAJ,CAAS,EAAEV,OAAO,EAAES,IAAX,EAAT;EACD,CAFD;;EAIA,OAAO1B,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAEC,QAAQ,EAAEM,GAAZ,EAArB,CAAP;AACD;;AAEM,eAAeO,YAAf,CAA4B7B,GAA5B,EAAiCC,GAAjC,EAAsC;EAC3C,MAAMiB,OAAO,GAAGlB,GAAG,CAACkB,OAApB;EACA,MAAM,EAAEY,UAAU,GAAG,KAAf,KAAyB9B,GAAG,CAAC+B,IAAnC;;EAEA,MAAMC,eAAe,CAAChC,GAAD,EAAMC,GAAN,CAArB;EACA,MAAM5B,WAAW,CAAC+C,QAAZ,CAAqBpB,GAArB,EAA0BkB,OAA1B,EAAmCY,UAAU,GAAG7B,GAAH,GAAS,IAAtD,CAAN;AACD;;AAEM,eAAegC,YAAf,CAA4BjC,GAA5B,EAAiCC,GAAjC,EAAsC;EAC3C,MAAMiB,OAAO,GAAGlB,GAAG,CAACkB,OAApB;EACA,IAAI;IACF,IAAIO,yBAAA,CAAaP,OAAb,EAAsBJ,MAAtB,KAAiC,IAArC,EAA2C;MACzC,OAAO,MAAMb,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,IAAV,EAAgBtC,OAAO,EAAE,6BAAzB,EAArB,CAAb;IACD,CAFD,MAEO;MACLiD,yBAAA,CAAaP,OAAb,IAAwB,EAAEJ,MAAM,EAAE,IAAV,EAAxB;MACA,MAAMd,GAAG,CAACvB,MAAJ,CAAWyD,KAAX,EAAN;;MAEAlC,GAAG,CAACmC,EAAJ,CAAOC,IAAP,CAAY,iBAAZ,EAA+B,KAA/B;MACA,IAAAC,sBAAA,EAAYrC,GAAG,CAACvB,MAAhB,EAAwBuB,GAAxB,EAA6B,cAA7B,EAA6C;QAC3CxB,OAAO,EAAG,YAAW0C,OAAQ,eADc;QAE3CoB,SAAS,EAAE,KAFgC,EAA7C;;;MAKA,OAAO,MAAMrC,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,IAAV,EAAgBtC,OAAO,EAAE,6BAAzB,EAArB,CAAb;IACD;EACF,CAfD,CAeE,OAAOgB,KAAP,EAAc;IACdQ,GAAG,CAACtB,MAAJ,CAAWc,KAAX,CAAiBA,KAAjB;IACA,OAAO,MAAMS,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,KAAV,EAAiBtC,OAAO,EAAE,uBAA1B,EAAmDgB,KAAnD,EAArB,CAAb;EACD;AACF;;AAEM,eAAe+C,aAAf,CAA6BvC,GAA7B,EAAkCC,GAAlC,EAAuC;EAC5C,IAAI;IACF,MAAMiB,OAAO,GAAGlB,GAAG,CAACkB,OAApB;IACA,MAAMlB,GAAG,CAACvB,MAAJ,CAAW+D,MAAX,EAAN;;IAEAxC,GAAG,CAACmC,EAAJ,CAAOC,IAAP,CAAY,iBAAZ,EAA+B,KAA/B;IACA,IAAAC,sBAAA,EAAYrC,GAAG,CAACvB,MAAhB,EAAwBuB,GAAxB,EAA6B,eAA7B,EAA8C;MAC5CxB,OAAO,EAAG,YAAW0C,OAAQ,aADe;MAE5CoB,SAAS,EAAE,KAFiC,EAA9C;;;IAKA,OAAO,MAAMrC,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,IAAV,EAAgBtC,OAAO,EAAE,6BAAzB,EAArB,CAAb;EACD,CAXD,CAWE,OAAOgB,KAAP,EAAc;IACdQ,GAAG,CAACtB,MAAJ,CAAWc,KAAX,CAAiBA,KAAjB;IACA,OAAO,MAAMS,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,KAAV,EAAiBtC,OAAO,EAAE,uBAA1B,EAAmDgB,KAAnD,EAArB,CAAb;EACD;AACF;;AAEM,eAAeiD,sBAAf,CAAsCzC,GAAtC,EAA2CC,GAA3C,EAAgD;EACrD,IAAI;IACF,MAAMD,GAAG,CAACvB,MAAJ,CAAWiE,WAAX,EAAN;;IAEA,OAAOzC,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,IAAV,EAAgBtC,OAAO,EAAE,WAAzB,EAArB,CAAP;EACD,CAJD,CAIE,OAAOgB,KAAP,EAAc;IACd,OAAOS,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,KAAV,EAAiBtC,OAAO,EAAE,cAA1B,EAArB,CAAP;EACD;AACF;;AAEM,eAAemE,sBAAf,CAAsC3C,GAAtC,EAA2CC,GAA3C,EAAgD;EACrD,MAAMxB,MAAM,GAAGuB,GAAG,CAACvB,MAAnB;EACA,MAAM,EAAEmE,SAAF,KAAgB5C,GAAG,CAAC+B,IAA1B;;EAEA,IAAIvD,OAAJ;;EAEA,IAAI;IACF,IAAI,CAACoE,SAAS,CAACC,OAAX,IAAsB,CAACD,SAAS,CAAC1D,IAArC,EAA2C;MACzCV,OAAO,GAAG,MAAMC,MAAM,CAACqE,cAAP,CAAsBF,SAAtB,CAAhB;IACD,CAFD,MAEO;MACLpE,OAAO,GAAGoE,SAAV;IACD;;IAED,IAAI,CAACpE,OAAL;IACE,OAAOyB,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,OADkB;MAE1BtC,OAAO,EAAE,mBAFiB,EAArB,CAAP;;;IAKF,IAAI,EAAEA,OAAO,CAAC,UAAD,CAAP,IAAuBA,OAAO,CAACqE,OAA/B,IAA0CrE,OAAO,CAACuE,KAApD,CAAJ;IACE,OAAO9C,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,OADkB;MAE1BtC,OAAO,EAAE,gCAFiB,EAArB,CAAP;;;IAKF,MAAMG,MAAM,GAAG,MAAMF,MAAM,CAACG,WAAP,CAAmBJ,OAAnB,CAArB;;IAEA,OAAOyB,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAEiC,MAAM,EAAErE,MAAM,CAACsE,QAAP,CAAgB,QAAhB,CAAV,EAAqC5D,QAAQ,EAAEb,OAAO,CAACa,QAAvD,EAArB,CAAP;EACD,CAtBD,CAsBE,OAAOI,CAAP,EAAU;IACVO,GAAG,CAACtB,MAAJ,CAAWc,KAAX,CAAiBC,CAAjB;IACA,OAAOQ,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,OADkB;MAE1BtC,OAAO,EAAE,oBAFiB,EAArB,CAAP;;EAID;AACF;;AAEM,eAAe0E,iBAAf,CAAiClD,GAAjC,EAAsCC,GAAtC,EAA2C;EAChD,MAAMxB,MAAM,GAAGuB,GAAG,CAACvB,MAAnB;EACA,MAAM,EAAEmE,SAAF,KAAgB5C,GAAG,CAACG,MAA1B;;EAEA,IAAI;IACF,MAAM3B,OAAO,GAAG,MAAMC,MAAM,CAACqE,cAAP,CAAsBF,SAAtB,CAAtB;;IAEA,IAAI,CAACpE,OAAL;IACE,OAAOyB,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,OADkB;MAE1BtC,OAAO,EAAE,mBAFiB,EAArB,CAAP;;;IAKF,IAAI,EAAEA,OAAO,CAAC,UAAD,CAAP,IAAuBA,OAAO,CAACqE,OAA/B,IAA0CrE,OAAO,CAACuE,KAApD,CAAJ;IACE,OAAO9C,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAE,OADkB;MAE1BtC,OAAO,EAAE,gCAFiB,EAArB,CAAP;;;IAKF,MAAMG,MAAM,GAAG,MAAMF,MAAM,CAACG,WAAP,CAAmBJ,OAAnB,CAArB;;IAEA,OAAOyB,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAEiC,MAAM,EAAErE,MAAM,CAACsE,QAAP,CAAgB,QAAhB,CAAV,EAAqC5D,QAAQ,EAAEb,OAAO,CAACa,QAAvD,EAArB,CAAP;EACD,CAlBD,CAkBE,OAAO8D,EAAP,EAAW;IACXnD,GAAG,CAACtB,MAAJ,CAAWc,KAAX,CAAiB2D,EAAjB;IACA,OAAOlD,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBtC,OAAO,EAAE,2BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAewD,eAAf,CAA+BhC,GAA/B,EAAoCC,GAApC,EAAyC;EAC9C,IAAI;IACF,MAAM,EAAE6B,UAAU,GAAG,KAAf,KAAyB9B,GAAG,CAAC+B,IAAnC;IACA,MAAMtD,MAAM,GAAGuB,GAAG,CAACvB,MAAnB;;IAEA,IAAI,CAACA,MAAM,IAAI,IAAV,IAAkBA,MAAM,CAACqC,MAAP,IAAiB,IAApC,KAA6C,CAACgB,UAAlD;IACE,OAAO7B,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,QAAV,EAAoBsC,MAAM,EAAE,IAA5B,EAArB,CAAP,CADF;IAEK,IAAI3E,MAAM,IAAI,IAAd;IACH,OAAOwB,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;MAC1BD,MAAM,EAAErC,MAAM,CAACqC,MADW;MAE1BsC,MAAM,EAAE3E,MAAM,CAAC2E,MAFW;MAG1BC,OAAO,EAAE5E,MAAM,CAAC4E,OAHU;MAI1BC,OAAO,EAAEA,gBAJiB,EAArB,CAAP;;EAMH,CAbD,CAaE,OAAOH,EAAP,EAAW;IACXnD,GAAG,CAACtB,MAAJ,CAAWc,KAAX,CAAiB2D,EAAjB;IACA,OAAOlD,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBtC,OAAO,EAAE,2BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAe+E,SAAf,CAAyBvD,GAAzB,EAA8BC,GAA9B,EAAmC;EACxC,IAAI;IACF,MAAMuD,GAAG,GAAGC,MAAM,CAACC,IAAP,CAAY1D,GAAG,CAACvB,MAAJ,CAAW2E,MAAX,CAAkBtD,OAAlB,CAA0B,qCAA1B,EAAiE,EAAjE,CAAZ,EAAkF,QAAlF,CAAZ;;IAEAG,GAAG,CAAC0D,SAAJ,CAAc,GAAd,EAAmB;MACjB,gBAAgB,WADC;MAEjB,kBAAkBH,GAAG,CAACI,MAFL,EAAnB;;IAIA3D,GAAG,CAAC4D,GAAJ,CAAQL,GAAR;EACD,CARD,CAQE,OAAOL,EAAP,EAAW;IACXnD,GAAG,CAACtB,MAAJ,CAAWc,KAAX,CAAiB2D,EAAjB;IACA,OAAOlD,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBtC,OAAO,EAAE,yBAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAesF,iBAAf,CAAiC9D,GAAjC,EAAsCC,GAAtC,EAA2C;EAChD,IAAI;IACF,OAAOA,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEhB,GAAG,CAACvB,MAAJ,CAAWqF,iBAAX,EAA/B,EAArB,CAAP;EACD,CAFD,CAEE,OAAOX,EAAP,EAAW;IACXnD,GAAG,CAACtB,MAAJ,CAAWc,KAAX,CAAiB2D,EAAjB;IACA,OAAOlD,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBtC,OAAO,EAAE,2BAA5B,EAArB,CAAP;EACD;AACF;;AAEM,eAAeuF,cAAf,CAA8B/D,GAA9B,EAAmCC,GAAnC,EAAwC;EAC7C,IAAI;IACF,OAAOA,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAEhB,GAAG,CAACvB,MAAJ,CAAWsF,cAAX,EAA/B,EAArB,CAAP;EACD,CAFD,CAEE,OAAOZ,EAAP,EAAW;IACXnD,GAAG,CAACtB,MAAJ,CAAWc,KAAX,CAAiB2D,EAAjB;IACA,OAAOlD,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBE,QAAQ,EAAE,EAAExC,OAAO,EAAE,2BAAX,EAA7B,EAArB,CAAP;EACD;AACF;;AAEM,eAAewF,iBAAf,CAAiChE,GAAjC,EAAsCC,GAAtC,EAA2C;EAChD,IAAI;IACF,MAAM,EAAEgE,KAAF,EAASC,OAAO,GAAG,KAAnB,EAA0BC,GAAG,GAAG,KAAhC,KAA0CnE,GAAG,CAAC+B,IAApD;;IAEA,IAAIoC,GAAJ,EAAS;MACP,IAAIC,QAAJ;MACA,IAAIF,OAAJ,EAAa;QACX,MAAMG,MAAM,GAAG,MAAMrE,GAAG,CAACvB,MAAJ,CAAW6F,YAAX,CAAwB,KAAxB,CAArB;QACAF,QAAQ,GAAGC,MAAM,CAACpD,GAAP,CAAW,CAACsD,CAAD,KAAOA,CAAC,CAACC,EAAF,CAAKC,WAAvB,CAAX;MACD,CAHD,MAGO;QACL,MAAMC,KAAK,GAAG,MAAM1E,GAAG,CAACvB,MAAJ,CAAWkG,cAAX,EAApB;QACAP,QAAQ,GAAGM,KAAK,CAACzD,GAAN,CAAU,CAAC2D,CAAD,KAAOA,CAAC,CAACJ,EAAF,CAAKC,WAAtB,CAAX;MACD;MACD,MAAMzE,GAAG,CAACvB,MAAJ,CAAWuF,iBAAX,CAA6BI,QAA7B,CAAN;IACD,CAVD;IAWE,KAAK,MAAMS,OAAX,IAAsB,IAAAC,yBAAA,EAAeb,KAAf,EAAsBC,OAAtB,CAAtB,EAAsD;MACpD,MAAMlE,GAAG,CAACvB,MAAJ,CAAWuF,iBAAX,CAA6Ba,OAA7B,CAAN;IACD;;IAEH,OAAO,MAAM5E,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,SAAV,EAAqBE,QAAQ,EAAE,EAAExC,OAAO,EAAE,6BAAX,EAA/B,EAArB,CAAb;EACD,CAnBD,CAmBE,OAAOgB,KAAP,EAAc;IACd,OAAO,MAAMS,GAAG,CAACa,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,EAAED,MAAM,EAAE,OAAV,EAAmBtC,OAAO,EAAE,6BAA5B,EAA2DgB,KAA3D,EAArB,CAAb;EACD;AACF"}
|
package/dist/index.js
CHANGED
|
@@ -23,11 +23,11 @@ var _express = _interopRequireDefault(require("express"));
|
|
|
23
23
|
var _http = require("http");
|
|
24
24
|
var _socket = require("socket.io");
|
|
25
25
|
var _routes = _interopRequireDefault(require("./routes"));
|
|
26
|
-
var _path = _interopRequireDefault(require("path"));
|
|
27
26
|
var _config = _interopRequireDefault(require("./config.json"));
|
|
28
27
|
var _expressQueryBoolean = _interopRequireDefault(require("express-query-boolean"));
|
|
29
28
|
var _mergeDeep = _interopRequireDefault(require("merge-deep"));
|
|
30
|
-
var _index = require("./mapper/index");
|
|
29
|
+
var _index = require("./mapper/index");
|
|
30
|
+
var _package = require("../package.json"); /*
|
|
31
31
|
* Copyright 2021 WPPConnect Team
|
|
32
32
|
*
|
|
33
33
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -94,6 +94,7 @@ var _index = require("./mapper/index"); /*
|
|
|
94
94
|
http.listen(PORT, () => {
|
|
95
95
|
logger.info(`Server is running on port: ${PORT}`);
|
|
96
96
|
logger.info(`\x1b[31m Visit ${serverOptions.host}:${PORT}/api-docs for Swagger docs`);
|
|
97
|
+
logger.info(`WPPConnect-Server version: ${_package.version}`);
|
|
97
98
|
|
|
98
99
|
if (serverOptions.startAllSession) (0, _functions.startAllSessions)(serverOptions, logger);
|
|
99
100
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["require","config","initServer","serverOptions","mergeDeep","setMaxListners","logger","createLogger","log","app","express","PORT","process","env","port","http","createServer","io","Socket","cors","origins","use","json","limit","urlencoded","extended","static","boolParser","req","res","next","oldSend","send","data","content","headers","JSON","parse","session","client","mapper","enable","response","convert","prefix","on","sock","info","id","routes","createFolders","listen","host","startAllSession","startAllSessions"],"sources":["../src/index.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nrequire('dotenv').config();\n\nimport { createLogger } from './util/logger';\nimport { createFolders, setMaxListners, startAllSessions } from './util/functions';\nimport cors from 'cors';\nimport express from 'express';\nimport { createServer } from 'http';\nimport { Server as Socket } from 'socket.io';\nimport routes from './routes';\nimport
|
|
1
|
+
{"version":3,"file":"index.js","names":["require","config","initServer","serverOptions","mergeDeep","setMaxListners","logger","createLogger","log","app","express","PORT","process","env","port","http","createServer","io","Socket","cors","origins","use","json","limit","urlencoded","extended","static","boolParser","req","res","next","oldSend","send","data","content","headers","JSON","parse","session","client","mapper","enable","response","convert","prefix","on","sock","info","id","routes","createFolders","listen","host","version","startAllSession","startAllSessions"],"sources":["../src/index.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nrequire('dotenv').config();\n\nimport { createLogger } from './util/logger';\nimport { createFolders, setMaxListners, startAllSessions } from './util/functions';\nimport cors from 'cors';\nimport express from 'express';\nimport { createServer } from 'http';\nimport { Server as Socket } from 'socket.io';\nimport routes from './routes';\nimport config from './config.json';\nimport boolParser from 'express-query-boolean';\nimport mergeDeep from 'merge-deep';\nimport { convert } from './mapper/index';\nimport { version } from '../package.json';\n\nexport function initServer(serverOptions) {\n if (typeof serverOptions !== 'object') {\n serverOptions = {};\n }\n\n serverOptions = mergeDeep({}, config, serverOptions);\n\n setMaxListners(serverOptions);\n\n const logger = createLogger(serverOptions.log);\n\n const app = express();\n const PORT = process.env.PORT || serverOptions.port;\n\n const http = new createServer(app);\n const io = new Socket(http, {\n cors: true,\n origins: ['*'],\n });\n\n app.use(cors());\n app.use(express.json({ limit: '50mb' }));\n app.use(express.urlencoded({ limit: '50mb', extended: true }));\n app.use('/files', express.static('WhatsAppImages'));\n app.use(boolParser());\n\n // Add request options\n app.use((req, res, next) => {\n req.serverOptions = serverOptions;\n req.logger = logger;\n req.io = io;\n\n var oldSend = res.send;\n\n res.send = async function (data) {\n const content = req.headers['content-type'];\n if (content == 'application/json') {\n data = JSON.parse(data);\n if (!data.session) data.session = req.client ? req.client.session : '';\n if (data.mapper && req.serverOptions.mapper.enable) {\n data.response = await convert(req.serverOptions.mapper.prefix, data.response, data.mapper);\n delete data.mapper;\n }\n }\n res.send = oldSend;\n return res.send(data);\n };\n next();\n });\n\n io.on('connection', (sock) => {\n logger.info(`ID: ${sock.id} entrou`);\n\n sock.on('disconnect', () => {\n logger.info(`ID: ${sock.id} saiu`);\n });\n });\n\n app.use(routes);\n\n createFolders();\n\n http.listen(PORT, () => {\n logger.info(`Server is running on port: ${PORT}`);\n logger.info(`\\x1b[31m Visit ${serverOptions.host}:${PORT}/api-docs for Swagger docs`);\n logger.info(`WPPConnect-Server version: ${version}`);\n\n if (serverOptions.startAllSession) startAllSessions(serverOptions, logger);\n });\n\n return {\n app,\n routes,\n logger,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C,CA7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAEAA,OAAO,CAAC,QAAD,CAAP,CAAkBC,MAAlB,GAeO,SAASC,UAAT,CAAoBC,aAApB,EAAmC,CACxC,IAAI,OAAOA,aAAP,KAAyB,QAA7B,EAAuC,CACrCA,aAAa,GAAG,EAAhB,CACD,CAEDA,aAAa,GAAG,IAAAC,kBAAA,EAAU,EAAV,EAAcH,eAAd,EAAsBE,aAAtB,CAAhB,CAEA,IAAAE,yBAAA,EAAeF,aAAf,EAEA,MAAMG,MAAM,GAAG,IAAAC,oBAAA,EAAaJ,aAAa,CAACK,GAA3B,CAAf,CAEA,MAAMC,GAAG,GAAG,IAAAC,gBAAA,GAAZ,CACA,MAAMC,IAAI,GAAGC,OAAO,CAACC,GAAR,CAAYF,IAAZ,IAAoBR,aAAa,CAACW,IAA/C;;EAEA,MAAMC,IAAI,GAAG,IAAIC,kBAAJ,CAAiBP,GAAjB,CAAb;EACA,MAAMQ,EAAE,GAAG,IAAIC,cAAJ,CAAWH,IAAX,EAAiB;IAC1BI,IAAI,EAAE,IADoB;IAE1BC,OAAO,EAAE,CAAC,GAAD,CAFiB,EAAjB,CAAX;;;EAKAX,GAAG,CAACY,GAAJ,CAAQ,IAAAF,aAAA,GAAR;EACAV,GAAG,CAACY,GAAJ,CAAQX,gBAAA,CAAQY,IAAR,CAAa,EAAEC,KAAK,EAAE,MAAT,EAAb,CAAR;EACAd,GAAG,CAACY,GAAJ,CAAQX,gBAAA,CAAQc,UAAR,CAAmB,EAAED,KAAK,EAAE,MAAT,EAAiBE,QAAQ,EAAE,IAA3B,EAAnB,CAAR;EACAhB,GAAG,CAACY,GAAJ,CAAQ,QAAR,EAAkBX,gBAAA,CAAQgB,MAAR,CAAe,gBAAf,CAAlB;EACAjB,GAAG,CAACY,GAAJ,CAAQ,IAAAM,4BAAA,GAAR;;EAEA;EACAlB,GAAG,CAACY,GAAJ,CAAQ,CAACO,GAAD,EAAMC,GAAN,EAAWC,IAAX,KAAoB;IAC1BF,GAAG,CAACzB,aAAJ,GAAoBA,aAApB;IACAyB,GAAG,CAACtB,MAAJ,GAAaA,MAAb;IACAsB,GAAG,CAACX,EAAJ,GAASA,EAAT;;IAEA,IAAIc,OAAO,GAAGF,GAAG,CAACG,IAAlB;;IAEAH,GAAG,CAACG,IAAJ,GAAW,gBAAgBC,IAAhB,EAAsB;MAC/B,MAAMC,OAAO,GAAGN,GAAG,CAACO,OAAJ,CAAY,cAAZ,CAAhB;MACA,IAAID,OAAO,IAAI,kBAAf,EAAmC;QACjCD,IAAI,GAAGG,IAAI,CAACC,KAAL,CAAWJ,IAAX,CAAP;QACA,IAAI,CAACA,IAAI,CAACK,OAAV,EAAmBL,IAAI,CAACK,OAAL,GAAeV,GAAG,CAACW,MAAJ,GAAaX,GAAG,CAACW,MAAJ,CAAWD,OAAxB,GAAkC,EAAjD;QACnB,IAAIL,IAAI,CAACO,MAAL,IAAeZ,GAAG,CAACzB,aAAJ,CAAkBqC,MAAlB,CAAyBC,MAA5C,EAAoD;UAClDR,IAAI,CAACS,QAAL,GAAgB,MAAM,IAAAC,cAAA,EAAQf,GAAG,CAACzB,aAAJ,CAAkBqC,MAAlB,CAAyBI,MAAjC,EAAyCX,IAAI,CAACS,QAA9C,EAAwDT,IAAI,CAACO,MAA7D,CAAtB;UACA,OAAOP,IAAI,CAACO,MAAZ;QACD;MACF;MACDX,GAAG,CAACG,IAAJ,GAAWD,OAAX;MACA,OAAOF,GAAG,CAACG,IAAJ,CAASC,IAAT,CAAP;IACD,CAZD;IAaAH,IAAI;EACL,CArBD;;EAuBAb,EAAE,CAAC4B,EAAH,CAAM,YAAN,EAAoB,CAACC,IAAD,KAAU;IAC5BxC,MAAM,CAACyC,IAAP,CAAa,OAAMD,IAAI,CAACE,EAAG,SAA3B;;IAEAF,IAAI,CAACD,EAAL,CAAQ,YAAR,EAAsB,MAAM;MAC1BvC,MAAM,CAACyC,IAAP,CAAa,OAAMD,IAAI,CAACE,EAAG,OAA3B;IACD,CAFD;EAGD,CAND;;EAQAvC,GAAG,CAACY,GAAJ,CAAQ4B,eAAR;;EAEA,IAAAC,wBAAA;;EAEAnC,IAAI,CAACoC,MAAL,CAAYxC,IAAZ,EAAkB,MAAM;IACtBL,MAAM,CAACyC,IAAP,CAAa,8BAA6BpC,IAAK,EAA/C;IACAL,MAAM,CAACyC,IAAP,CAAa,kBAAiB5C,aAAa,CAACiD,IAAK,IAAGzC,IAAK,4BAAzD;IACAL,MAAM,CAACyC,IAAP,CAAa,8BAA6BM,gBAAQ,EAAlD;;IAEA,IAAIlD,aAAa,CAACmD,eAAlB,EAAmC,IAAAC,2BAAA,EAAiBpD,aAAjB,EAAgCG,MAAhC;EACpC,CAND;;EAQA,OAAO;IACLG,GADK;IAELwC,MAAM,EAANA,eAFK;IAGL3C,MAHK,EAAP;;AAKD"}
|
package/dist/routes/index.js
CHANGED
|
@@ -181,6 +181,7 @@ routes.get('/api/:session/get-messages/:phone', _auth.default, _statusConnection
|
|
|
181
181
|
routes.post('/api/:session/archive-chat', _auth.default, _statusConnection.default, DeviceController.archiveChat);
|
|
182
182
|
routes.post('/api/:session/archive-all-chats', _auth.default, _statusConnection.default, DeviceController.archiveAllChats);
|
|
183
183
|
routes.post('/api/:session/clear-chat', _auth.default, _statusConnection.default, DeviceController.clearChat);
|
|
184
|
+
routes.post('/api/:session/clear-all-chats', _auth.default, _statusConnection.default, DeviceController.clearAllChats);
|
|
184
185
|
routes.post('/api/:session/delete-chat', _auth.default, _statusConnection.default, DeviceController.deleteChat);
|
|
185
186
|
routes.post('/api/:session/delete-all-chats', _auth.default, _statusConnection.default, DeviceController.deleteAllChats);
|
|
186
187
|
routes.post('/api/:session/delete-message', _auth.default, _statusConnection.default, DeviceController.deleteMessage);
|
package/dist/routes/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["upload","multer","uploadConfig","routes","Router","post","encryptSession","get","SessionController","showAllSessions","startAllSessions","verifyToken","checkConnectionSession","getMediaByMessage","getSessionState","getQrCode","startSession","statusConnection","logOutSession","closeSession","subscribePresence","downloadMediaByMessage","killServiceWorker","restartService","MessageController","sendMessage","single","sendImage","sendImageAsSticker","sendImageAsStickerGif","replyMessage","sendFile","sendFile64","sendVoice","sendVoice64","sendStatusText","sendLinkPreview","sendLocation","sendMentioned","sendButtons","sendListMessage","GroupController","getAllBroadcastList","getAllGroups","getGroupMembers","getGroupAdmins","getGroupInviteLink","revokeGroupInviteLink","getGroupMembersIds","createGroup","leaveGroup","joinGroupByCode","addParticipant","removeParticipant","promoteParticipant","demoteParticipant","getGroupInfoFromInviteLink","setGroupDescription","setGroupProperty","setGroupSubject","setMessagesAdminsOnly","setGroupProfilePic","changePrivacyGroup","DeviceController","getAllChats","getAllChatsWithMessages","getAllMessagesInChat","getAllNewMessages","getUnreadMessages","getAllUnreadMessages","getChatById","getMessageById","getChatIsOnline","getLastSeen","getListMutes","loadAndGetAllMessagesInChat","getMessages","archiveChat","archiveAllChats","clearChat","deleteChat","deleteAllChats","deleteMessage","reactMessage","forwardMessages","markUnseenMessage","pinChat","sendContactVcard","sendMute","sendSeen","setChatState","setTemporaryMessages","setTyping","setRecording","starMessage","rejectCall","StatusController","sendTextStorie","sendImageStorie","sendVideoStorie","LabelsController","addNewLabel","addOrRemoveLabels","getAllLabels","put","deleteAllLabels","deleteLabel","checkNumberStatus","getAllContacts","getContact","getNumberProfile","getProfilePicFromServer","getStatus","getBlockList","blockContact","unblockContact","getBatteryLevel","getHostDevice","getPhoneNumber","setProfilePic","setProfileStatus","setProfileName","OrderController","getBusinessProfilesProducts","getOrderbyMsg","chatWoot","use","swaggerUi","serve","setup","swaggerDocument","HealthCheck","healthz","unhealthy"],"sources":["../../src/routes/index.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Router } from 'express';\nimport { encryptSession } from '../controller/encryptController';\nimport * as MessageController from '../controller/messageController';\nimport * as StatusController from '../controller/statusController';\nimport * as LabelsController from '../controller/labelsController';\nimport * as GroupController from '../controller/groupController';\nimport * as DeviceController from '../controller/deviceController';\nimport * as SessionController from '../controller/sessionController';\nimport * as OrderController from '../controller/orderController';\nimport * as HealthCheck from '../middleware/healthCheck';\nimport verifyToken from '../middleware/auth';\nimport statusConnection from '../middleware/statusConnection';\nimport multer from 'multer';\nimport uploadConfig from '../config/upload';\nimport swaggerUi from 'swagger-ui-express';\nimport swaggerDocument from '../swagger.json';\n\nconst upload = multer(uploadConfig);\nconst routes = new Router();\n\n// Generate Token\nroutes.post('/api/:session/:secretkey/generate-token', encryptSession);\n\n// All Sessions\nroutes.get('/api/:secretkey/show-all-sessions', SessionController.showAllSessions);\nroutes.post('/api/:secretkey/start-all', SessionController.startAllSessions);\n\n// Sessions\nroutes.get('/api/:session/check-connection-session', verifyToken, SessionController.checkConnectionSession);\nroutes.get('/api/:session/get-media-by-message/:messageId', verifyToken, SessionController.getMediaByMessage);\nroutes.get('/api/:session/status-session', verifyToken, SessionController.getSessionState);\nroutes.get('/api/:session/qrcode-session', verifyToken, SessionController.getQrCode);\nroutes.post('/api/:session/start-session', verifyToken, SessionController.startSession);\nroutes.post('/api/:session/logout-session', verifyToken, statusConnection, SessionController.logOutSession);\nroutes.post('/api/:session/close-session', verifyToken, SessionController.closeSession);\nroutes.post('/api/:session/subscribe-presence', verifyToken, SessionController.subscribePresence);\nroutes.post('/api/:session/download-media', verifyToken, statusConnection, SessionController.downloadMediaByMessage);\nroutes.post('/api/:session/kill-service-workier', verifyToken, statusConnection, SessionController.killServiceWorker);\nroutes.post('/api/:session/restart-service', verifyToken, statusConnection, SessionController.restartService);\n\n// Messages\nroutes.post('/api/:session/send-message', verifyToken, statusConnection, MessageController.sendMessage);\nroutes.post(\n '/api/:session/send-image',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImage\n);\nroutes.post(\n '/api/:session/send-sticker',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImageAsSticker\n);\nroutes.post(\n '/api/:session/send-sticker-gif',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImageAsStickerGif\n);\nroutes.post('/api/:session/send-reply', verifyToken, statusConnection, MessageController.replyMessage);\nroutes.post(\n '/api/:session/send-file',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendFile\n);\nroutes.post('/api/:session/send-file-base64', verifyToken, statusConnection, MessageController.sendFile64);\nroutes.post('/api/:session/send-voice', verifyToken, statusConnection, MessageController.sendVoice);\nroutes.post('/api/:session/send-voice-base64', verifyToken, statusConnection, MessageController.sendVoice64);\nroutes.post('/api/:session/send-status', verifyToken, statusConnection, MessageController.sendStatusText);\nroutes.post('/api/:session/send-link-preview', verifyToken, statusConnection, MessageController.sendLinkPreview);\nroutes.post('/api/:session/send-location', verifyToken, statusConnection, MessageController.sendLocation);\nroutes.post('/api/:session/send-mentioned', verifyToken, statusConnection, MessageController.sendMentioned);\nroutes.post('/api/:session/send-buttons', verifyToken, statusConnection, MessageController.sendButtons);\nroutes.post('/api/:session/send-list-message', verifyToken, statusConnection, MessageController.sendListMessage);\n\n// Group\nroutes.get('/api/:session/all-broadcast-list', verifyToken, statusConnection, GroupController.getAllBroadcastList);\nroutes.get('/api/:session/all-groups', verifyToken, statusConnection, GroupController.getAllGroups);\nroutes.get('/api/:session/group-members/:groupId', verifyToken, statusConnection, GroupController.getGroupMembers);\nroutes.get('/api/:session/group-admins/:groupId', verifyToken, statusConnection, GroupController.getGroupAdmins);\nroutes.get(\n '/api/:session/group-invite-link/:groupId',\n verifyToken,\n statusConnection,\n GroupController.getGroupInviteLink\n);\nroutes.get(\n '/api/:session/group-revoke-link/:groupId',\n verifyToken,\n statusConnection,\n GroupController.revokeGroupInviteLink\n);\nroutes.get(\n '/api/:session/group-members-ids/:groupId',\n verifyToken,\n statusConnection,\n GroupController.getGroupMembersIds\n);\nroutes.post('/api/:session/create-group', verifyToken, statusConnection, GroupController.createGroup);\nroutes.post('/api/:session/leave-group', verifyToken, statusConnection, GroupController.leaveGroup);\nroutes.post('/api/:session/join-code', verifyToken, statusConnection, GroupController.joinGroupByCode);\nroutes.post('/api/:session/add-participant-group', verifyToken, statusConnection, GroupController.addParticipant);\nroutes.post('/api/:session/remove-participant-group', verifyToken, statusConnection, GroupController.removeParticipant);\nroutes.post(\n '/api/:session/promote-participant-group',\n verifyToken,\n statusConnection,\n GroupController.promoteParticipant\n);\nroutes.post('/api/:session/demote-participant-group', verifyToken, statusConnection, GroupController.demoteParticipant);\nroutes.post(\n '/api/:session/group-info-from-invite-link',\n verifyToken,\n statusConnection,\n GroupController.getGroupInfoFromInviteLink\n);\nroutes.post('/api/:session/group-description', verifyToken, statusConnection, GroupController.setGroupDescription);\nroutes.post('/api/:session/group-property', verifyToken, statusConnection, GroupController.setGroupProperty);\nroutes.post('/api/:session/group-subject', verifyToken, statusConnection, GroupController.setGroupSubject);\nroutes.post('/api/:session/messages-admins-only', verifyToken, statusConnection, GroupController.setMessagesAdminsOnly);\nroutes.post(\n '/api/:session/group-pic',\n upload.single('file'),\n verifyToken,\n statusConnection,\n GroupController.setGroupProfilePic\n);\nroutes.post('/api/:session/change-privacy-group', verifyToken, statusConnection, GroupController.changePrivacyGroup);\n\n// Chat\nroutes.get('/api/:session/all-chats', verifyToken, statusConnection, DeviceController.getAllChats);\nroutes.get(\n '/api/:session/all-chats-with-messages',\n verifyToken,\n statusConnection,\n DeviceController.getAllChatsWithMessages\n);\nroutes.get(\n '/api/:session/all-messages-in-chat/:phone',\n verifyToken,\n statusConnection,\n DeviceController.getAllMessagesInChat\n);\nroutes.get('/api/:session/all-new-messages', verifyToken, statusConnection, DeviceController.getAllNewMessages);\nroutes.get('/api/:session/unread-messages', verifyToken, statusConnection, DeviceController.getUnreadMessages);\nroutes.get('/api/:session/all-unread-messages', verifyToken, statusConnection, DeviceController.getAllUnreadMessages);\nroutes.get('/api/:session/chat-by-id/:phone', verifyToken, statusConnection, DeviceController.getChatById);\nroutes.get('/api/:session/message-by-id/:messageId', verifyToken, statusConnection, DeviceController.getMessageById);\nroutes.get('/api/:session/chat-is-online/:phone', verifyToken, statusConnection, DeviceController.getChatIsOnline);\nroutes.get('/api/:session/last-seen/:phone', verifyToken, statusConnection, DeviceController.getLastSeen);\nroutes.get('/api/:session/list-mutes/:type', verifyToken, statusConnection, DeviceController.getListMutes);\nroutes.get(\n '/api/:session/load-messages-in-chat/:phone',\n verifyToken,\n statusConnection,\n DeviceController.loadAndGetAllMessagesInChat\n);\nroutes.get('/api/:session/get-messages/:phone', verifyToken, statusConnection, DeviceController.getMessages);\n\nroutes.post('/api/:session/archive-chat', verifyToken, statusConnection, DeviceController.archiveChat);\nroutes.post('/api/:session/archive-all-chats', verifyToken, statusConnection, DeviceController.archiveAllChats);\nroutes.post('/api/:session/clear-chat', verifyToken, statusConnection, DeviceController.clearChat);\nroutes.post('/api/:session/delete-chat', verifyToken, statusConnection, DeviceController.deleteChat);\nroutes.post('/api/:session/delete-all-chats', verifyToken, statusConnection, DeviceController.deleteAllChats);\nroutes.post('/api/:session/delete-message', verifyToken, statusConnection, DeviceController.deleteMessage);\nroutes.post('/api/:session/react-message', verifyToken, statusConnection, DeviceController.reactMessage);\nroutes.post('/api/:session/forward-messages', verifyToken, statusConnection, DeviceController.forwardMessages);\nroutes.post('/api/:session/mark-unseen', verifyToken, statusConnection, DeviceController.markUnseenMessage);\nroutes.post('/api/:session/pin-chat', verifyToken, statusConnection, DeviceController.pinChat);\nroutes.post('/api/:session/contact-vcard', verifyToken, statusConnection, DeviceController.sendContactVcard);\nroutes.post('/api/:session/send-mute', verifyToken, statusConnection, DeviceController.sendMute);\nroutes.post('/api/:session/send-seen', verifyToken, statusConnection, DeviceController.sendSeen);\nroutes.post('/api/:session/chat-state', verifyToken, statusConnection, DeviceController.setChatState);\nroutes.post('/api/:session/temporary-messages', verifyToken, statusConnection, DeviceController.setTemporaryMessages);\nroutes.post('/api/:session/typing', verifyToken, statusConnection, DeviceController.setTyping);\nroutes.post('/api/:session/recording', verifyToken, statusConnection, DeviceController.setRecording);\nroutes.post('/api/:session/star-message', verifyToken, statusConnection, DeviceController.starMessage);\nroutes.post('/api/:session/reject-call', verifyToken, statusConnection, DeviceController.rejectCall);\n\n// Status\nroutes.post('/api/:session/send-text-storie', verifyToken, statusConnection, StatusController.sendTextStorie);\nroutes.post(\n '/api/:session/send-image-storie',\n upload.single('file'),\n verifyToken,\n statusConnection,\n StatusController.sendImageStorie\n);\nroutes.post(\n '/api/:session/send-video-storie',\n upload.single('file'),\n verifyToken,\n statusConnection,\n StatusController.sendVideoStorie\n);\n\n// Labels\nroutes.post('/api/:session/add-new-label', verifyToken, statusConnection, LabelsController.addNewLabel);\nroutes.post('/api/:session/add-or-remove-label', verifyToken, statusConnection, LabelsController.addOrRemoveLabels);\nroutes.get('/api/:session/get-all-labels', verifyToken, statusConnection, LabelsController.getAllLabels);\nroutes.put('/api/:session/delete-all-labels', verifyToken, statusConnection, LabelsController.deleteAllLabels);\nroutes.put('/api/:session/delete-label/:id', verifyToken, statusConnection, LabelsController.deleteLabel);\n\n// Contact\nroutes.get(\n '/api/:session/check-number-status/:phone',\n verifyToken,\n statusConnection,\n DeviceController.checkNumberStatus\n);\nroutes.get('/api/:session/all-contacts', verifyToken, statusConnection, DeviceController.getAllContacts);\nroutes.get('/api/:session/contact/:phone', verifyToken, statusConnection, DeviceController.getContact);\nroutes.get('/api/:session/profile/:phone', verifyToken, statusConnection, DeviceController.getNumberProfile);\nroutes.get('/api/:session/profile-pic/:phone', verifyToken, statusConnection, DeviceController.getProfilePicFromServer);\nroutes.get('/api/:session/profile-status/:phone', verifyToken, statusConnection, DeviceController.getStatus);\n\n// Blocklist\nroutes.get('/api/:session/blocklist', verifyToken, statusConnection, DeviceController.getBlockList);\nroutes.post('/api/:session/block-contact', verifyToken, statusConnection, DeviceController.blockContact);\nroutes.post('/api/:session/unblock-contact', verifyToken, statusConnection, DeviceController.unblockContact);\n\n// Device\nroutes.get('/api/:session/get-battery-level', verifyToken, statusConnection, DeviceController.getBatteryLevel);\nroutes.get('/api/:session/host-device', verifyToken, statusConnection, DeviceController.getHostDevice);\nroutes.get('/api/:session/get-phone-number', verifyToken, statusConnection, DeviceController.getPhoneNumber);\n\n// Profile\nroutes.post(\n '/api/:session/set-profile-pic',\n upload.single('file'),\n verifyToken,\n statusConnection,\n DeviceController.setProfilePic\n);\nroutes.post('/api/:session/profile-status', verifyToken, statusConnection, DeviceController.setProfileStatus);\nroutes.post('/api/:session/change-username', verifyToken, statusConnection, DeviceController.setProfileName);\n\n// Business\nroutes.get(\n '/api/:session/get-business-profiles-products',\n verifyToken,\n statusConnection,\n OrderController.getBusinessProfilesProducts\n);\nroutes.get('/api/:session/get-order-by-messageId', verifyToken, statusConnection, OrderController.getOrderbyMsg);\n\nroutes.post('/api/:session/chatwoot', DeviceController.chatWoot);\n\n// Api Doc\nroutes.use('/api-docs', swaggerUi.serve);\nroutes.get('/api-docs', swaggerUi.setup(swaggerDocument));\n\n//k8s\nroutes.get('/healthz', HealthCheck.healthz);\nroutes.get('/unhealthy', HealthCheck.unhealthy);\n\nexport default routes;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["upload","multer","uploadConfig","routes","Router","post","encryptSession","get","SessionController","showAllSessions","startAllSessions","verifyToken","checkConnectionSession","getMediaByMessage","getSessionState","getQrCode","startSession","statusConnection","logOutSession","closeSession","subscribePresence","downloadMediaByMessage","killServiceWorker","restartService","MessageController","sendMessage","single","sendImage","sendImageAsSticker","sendImageAsStickerGif","replyMessage","sendFile","sendFile64","sendVoice","sendVoice64","sendStatusText","sendLinkPreview","sendLocation","sendMentioned","sendButtons","sendListMessage","GroupController","getAllBroadcastList","getAllGroups","getGroupMembers","getGroupAdmins","getGroupInviteLink","revokeGroupInviteLink","getGroupMembersIds","createGroup","leaveGroup","joinGroupByCode","addParticipant","removeParticipant","promoteParticipant","demoteParticipant","getGroupInfoFromInviteLink","setGroupDescription","setGroupProperty","setGroupSubject","setMessagesAdminsOnly","setGroupProfilePic","changePrivacyGroup","DeviceController","getAllChats","getAllChatsWithMessages","getAllMessagesInChat","getAllNewMessages","getUnreadMessages","getAllUnreadMessages","getChatById","getMessageById","getChatIsOnline","getLastSeen","getListMutes","loadAndGetAllMessagesInChat","getMessages","archiveChat","archiveAllChats","clearChat","clearAllChats","deleteChat","deleteAllChats","deleteMessage","reactMessage","forwardMessages","markUnseenMessage","pinChat","sendContactVcard","sendMute","sendSeen","setChatState","setTemporaryMessages","setTyping","setRecording","starMessage","rejectCall","StatusController","sendTextStorie","sendImageStorie","sendVideoStorie","LabelsController","addNewLabel","addOrRemoveLabels","getAllLabels","put","deleteAllLabels","deleteLabel","checkNumberStatus","getAllContacts","getContact","getNumberProfile","getProfilePicFromServer","getStatus","getBlockList","blockContact","unblockContact","getBatteryLevel","getHostDevice","getPhoneNumber","setProfilePic","setProfileStatus","setProfileName","OrderController","getBusinessProfilesProducts","getOrderbyMsg","chatWoot","use","swaggerUi","serve","setup","swaggerDocument","HealthCheck","healthz","unhealthy"],"sources":["../../src/routes/index.js"],"sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Router } from 'express';\nimport { encryptSession } from '../controller/encryptController';\nimport * as MessageController from '../controller/messageController';\nimport * as StatusController from '../controller/statusController';\nimport * as LabelsController from '../controller/labelsController';\nimport * as GroupController from '../controller/groupController';\nimport * as DeviceController from '../controller/deviceController';\nimport * as SessionController from '../controller/sessionController';\nimport * as OrderController from '../controller/orderController';\nimport * as HealthCheck from '../middleware/healthCheck';\nimport verifyToken from '../middleware/auth';\nimport statusConnection from '../middleware/statusConnection';\nimport multer from 'multer';\nimport uploadConfig from '../config/upload';\nimport swaggerUi from 'swagger-ui-express';\nimport swaggerDocument from '../swagger.json';\n\nconst upload = multer(uploadConfig);\nconst routes = new Router();\n\n// Generate Token\nroutes.post('/api/:session/:secretkey/generate-token', encryptSession);\n\n// All Sessions\nroutes.get('/api/:secretkey/show-all-sessions', SessionController.showAllSessions);\nroutes.post('/api/:secretkey/start-all', SessionController.startAllSessions);\n\n// Sessions\nroutes.get('/api/:session/check-connection-session', verifyToken, SessionController.checkConnectionSession);\nroutes.get('/api/:session/get-media-by-message/:messageId', verifyToken, SessionController.getMediaByMessage);\nroutes.get('/api/:session/status-session', verifyToken, SessionController.getSessionState);\nroutes.get('/api/:session/qrcode-session', verifyToken, SessionController.getQrCode);\nroutes.post('/api/:session/start-session', verifyToken, SessionController.startSession);\nroutes.post('/api/:session/logout-session', verifyToken, statusConnection, SessionController.logOutSession);\nroutes.post('/api/:session/close-session', verifyToken, SessionController.closeSession);\nroutes.post('/api/:session/subscribe-presence', verifyToken, SessionController.subscribePresence);\nroutes.post('/api/:session/download-media', verifyToken, statusConnection, SessionController.downloadMediaByMessage);\nroutes.post('/api/:session/kill-service-workier', verifyToken, statusConnection, SessionController.killServiceWorker);\nroutes.post('/api/:session/restart-service', verifyToken, statusConnection, SessionController.restartService);\n\n// Messages\nroutes.post('/api/:session/send-message', verifyToken, statusConnection, MessageController.sendMessage);\nroutes.post(\n '/api/:session/send-image',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImage\n);\nroutes.post(\n '/api/:session/send-sticker',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImageAsSticker\n);\nroutes.post(\n '/api/:session/send-sticker-gif',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendImageAsStickerGif\n);\nroutes.post('/api/:session/send-reply', verifyToken, statusConnection, MessageController.replyMessage);\nroutes.post(\n '/api/:session/send-file',\n upload.single('file'),\n verifyToken,\n statusConnection,\n MessageController.sendFile\n);\nroutes.post('/api/:session/send-file-base64', verifyToken, statusConnection, MessageController.sendFile64);\nroutes.post('/api/:session/send-voice', verifyToken, statusConnection, MessageController.sendVoice);\nroutes.post('/api/:session/send-voice-base64', verifyToken, statusConnection, MessageController.sendVoice64);\nroutes.post('/api/:session/send-status', verifyToken, statusConnection, MessageController.sendStatusText);\nroutes.post('/api/:session/send-link-preview', verifyToken, statusConnection, MessageController.sendLinkPreview);\nroutes.post('/api/:session/send-location', verifyToken, statusConnection, MessageController.sendLocation);\nroutes.post('/api/:session/send-mentioned', verifyToken, statusConnection, MessageController.sendMentioned);\nroutes.post('/api/:session/send-buttons', verifyToken, statusConnection, MessageController.sendButtons);\nroutes.post('/api/:session/send-list-message', verifyToken, statusConnection, MessageController.sendListMessage);\n\n// Group\nroutes.get('/api/:session/all-broadcast-list', verifyToken, statusConnection, GroupController.getAllBroadcastList);\nroutes.get('/api/:session/all-groups', verifyToken, statusConnection, GroupController.getAllGroups);\nroutes.get('/api/:session/group-members/:groupId', verifyToken, statusConnection, GroupController.getGroupMembers);\nroutes.get('/api/:session/group-admins/:groupId', verifyToken, statusConnection, GroupController.getGroupAdmins);\nroutes.get(\n '/api/:session/group-invite-link/:groupId',\n verifyToken,\n statusConnection,\n GroupController.getGroupInviteLink\n);\nroutes.get(\n '/api/:session/group-revoke-link/:groupId',\n verifyToken,\n statusConnection,\n GroupController.revokeGroupInviteLink\n);\nroutes.get(\n '/api/:session/group-members-ids/:groupId',\n verifyToken,\n statusConnection,\n GroupController.getGroupMembersIds\n);\nroutes.post('/api/:session/create-group', verifyToken, statusConnection, GroupController.createGroup);\nroutes.post('/api/:session/leave-group', verifyToken, statusConnection, GroupController.leaveGroup);\nroutes.post('/api/:session/join-code', verifyToken, statusConnection, GroupController.joinGroupByCode);\nroutes.post('/api/:session/add-participant-group', verifyToken, statusConnection, GroupController.addParticipant);\nroutes.post('/api/:session/remove-participant-group', verifyToken, statusConnection, GroupController.removeParticipant);\nroutes.post(\n '/api/:session/promote-participant-group',\n verifyToken,\n statusConnection,\n GroupController.promoteParticipant\n);\nroutes.post('/api/:session/demote-participant-group', verifyToken, statusConnection, GroupController.demoteParticipant);\nroutes.post(\n '/api/:session/group-info-from-invite-link',\n verifyToken,\n statusConnection,\n GroupController.getGroupInfoFromInviteLink\n);\nroutes.post('/api/:session/group-description', verifyToken, statusConnection, GroupController.setGroupDescription);\nroutes.post('/api/:session/group-property', verifyToken, statusConnection, GroupController.setGroupProperty);\nroutes.post('/api/:session/group-subject', verifyToken, statusConnection, GroupController.setGroupSubject);\nroutes.post('/api/:session/messages-admins-only', verifyToken, statusConnection, GroupController.setMessagesAdminsOnly);\nroutes.post(\n '/api/:session/group-pic',\n upload.single('file'),\n verifyToken,\n statusConnection,\n GroupController.setGroupProfilePic\n);\nroutes.post('/api/:session/change-privacy-group', verifyToken, statusConnection, GroupController.changePrivacyGroup);\n\n// Chat\nroutes.get('/api/:session/all-chats', verifyToken, statusConnection, DeviceController.getAllChats);\nroutes.get(\n '/api/:session/all-chats-with-messages',\n verifyToken,\n statusConnection,\n DeviceController.getAllChatsWithMessages\n);\nroutes.get(\n '/api/:session/all-messages-in-chat/:phone',\n verifyToken,\n statusConnection,\n DeviceController.getAllMessagesInChat\n);\nroutes.get('/api/:session/all-new-messages', verifyToken, statusConnection, DeviceController.getAllNewMessages);\nroutes.get('/api/:session/unread-messages', verifyToken, statusConnection, DeviceController.getUnreadMessages);\nroutes.get('/api/:session/all-unread-messages', verifyToken, statusConnection, DeviceController.getAllUnreadMessages);\nroutes.get('/api/:session/chat-by-id/:phone', verifyToken, statusConnection, DeviceController.getChatById);\nroutes.get('/api/:session/message-by-id/:messageId', verifyToken, statusConnection, DeviceController.getMessageById);\nroutes.get('/api/:session/chat-is-online/:phone', verifyToken, statusConnection, DeviceController.getChatIsOnline);\nroutes.get('/api/:session/last-seen/:phone', verifyToken, statusConnection, DeviceController.getLastSeen);\nroutes.get('/api/:session/list-mutes/:type', verifyToken, statusConnection, DeviceController.getListMutes);\nroutes.get(\n '/api/:session/load-messages-in-chat/:phone',\n verifyToken,\n statusConnection,\n DeviceController.loadAndGetAllMessagesInChat\n);\nroutes.get('/api/:session/get-messages/:phone', verifyToken, statusConnection, DeviceController.getMessages);\n\nroutes.post('/api/:session/archive-chat', verifyToken, statusConnection, DeviceController.archiveChat);\nroutes.post('/api/:session/archive-all-chats', verifyToken, statusConnection, DeviceController.archiveAllChats);\nroutes.post('/api/:session/clear-chat', verifyToken, statusConnection, DeviceController.clearChat);\nroutes.post('/api/:session/clear-all-chats', verifyToken, statusConnection, DeviceController.clearAllChats);\nroutes.post('/api/:session/delete-chat', verifyToken, statusConnection, DeviceController.deleteChat);\nroutes.post('/api/:session/delete-all-chats', verifyToken, statusConnection, DeviceController.deleteAllChats);\nroutes.post('/api/:session/delete-message', verifyToken, statusConnection, DeviceController.deleteMessage);\nroutes.post('/api/:session/react-message', verifyToken, statusConnection, DeviceController.reactMessage);\nroutes.post('/api/:session/forward-messages', verifyToken, statusConnection, DeviceController.forwardMessages);\nroutes.post('/api/:session/mark-unseen', verifyToken, statusConnection, DeviceController.markUnseenMessage);\nroutes.post('/api/:session/pin-chat', verifyToken, statusConnection, DeviceController.pinChat);\nroutes.post('/api/:session/contact-vcard', verifyToken, statusConnection, DeviceController.sendContactVcard);\nroutes.post('/api/:session/send-mute', verifyToken, statusConnection, DeviceController.sendMute);\nroutes.post('/api/:session/send-seen', verifyToken, statusConnection, DeviceController.sendSeen);\nroutes.post('/api/:session/chat-state', verifyToken, statusConnection, DeviceController.setChatState);\nroutes.post('/api/:session/temporary-messages', verifyToken, statusConnection, DeviceController.setTemporaryMessages);\nroutes.post('/api/:session/typing', verifyToken, statusConnection, DeviceController.setTyping);\nroutes.post('/api/:session/recording', verifyToken, statusConnection, DeviceController.setRecording);\nroutes.post('/api/:session/star-message', verifyToken, statusConnection, DeviceController.starMessage);\nroutes.post('/api/:session/reject-call', verifyToken, statusConnection, DeviceController.rejectCall);\n\n// Status\nroutes.post('/api/:session/send-text-storie', verifyToken, statusConnection, StatusController.sendTextStorie);\nroutes.post(\n '/api/:session/send-image-storie',\n upload.single('file'),\n verifyToken,\n statusConnection,\n StatusController.sendImageStorie\n);\nroutes.post(\n '/api/:session/send-video-storie',\n upload.single('file'),\n verifyToken,\n statusConnection,\n StatusController.sendVideoStorie\n);\n\n// Labels\nroutes.post('/api/:session/add-new-label', verifyToken, statusConnection, LabelsController.addNewLabel);\nroutes.post('/api/:session/add-or-remove-label', verifyToken, statusConnection, LabelsController.addOrRemoveLabels);\nroutes.get('/api/:session/get-all-labels', verifyToken, statusConnection, LabelsController.getAllLabels);\nroutes.put('/api/:session/delete-all-labels', verifyToken, statusConnection, LabelsController.deleteAllLabels);\nroutes.put('/api/:session/delete-label/:id', verifyToken, statusConnection, LabelsController.deleteLabel);\n\n// Contact\nroutes.get(\n '/api/:session/check-number-status/:phone',\n verifyToken,\n statusConnection,\n DeviceController.checkNumberStatus\n);\nroutes.get('/api/:session/all-contacts', verifyToken, statusConnection, DeviceController.getAllContacts);\nroutes.get('/api/:session/contact/:phone', verifyToken, statusConnection, DeviceController.getContact);\nroutes.get('/api/:session/profile/:phone', verifyToken, statusConnection, DeviceController.getNumberProfile);\nroutes.get('/api/:session/profile-pic/:phone', verifyToken, statusConnection, DeviceController.getProfilePicFromServer);\nroutes.get('/api/:session/profile-status/:phone', verifyToken, statusConnection, DeviceController.getStatus);\n\n// Blocklist\nroutes.get('/api/:session/blocklist', verifyToken, statusConnection, DeviceController.getBlockList);\nroutes.post('/api/:session/block-contact', verifyToken, statusConnection, DeviceController.blockContact);\nroutes.post('/api/:session/unblock-contact', verifyToken, statusConnection, DeviceController.unblockContact);\n\n// Device\nroutes.get('/api/:session/get-battery-level', verifyToken, statusConnection, DeviceController.getBatteryLevel);\nroutes.get('/api/:session/host-device', verifyToken, statusConnection, DeviceController.getHostDevice);\nroutes.get('/api/:session/get-phone-number', verifyToken, statusConnection, DeviceController.getPhoneNumber);\n\n// Profile\nroutes.post(\n '/api/:session/set-profile-pic',\n upload.single('file'),\n verifyToken,\n statusConnection,\n DeviceController.setProfilePic\n);\nroutes.post('/api/:session/profile-status', verifyToken, statusConnection, DeviceController.setProfileStatus);\nroutes.post('/api/:session/change-username', verifyToken, statusConnection, DeviceController.setProfileName);\n\n// Business\nroutes.get(\n '/api/:session/get-business-profiles-products',\n verifyToken,\n statusConnection,\n OrderController.getBusinessProfilesProducts\n);\nroutes.get('/api/:session/get-order-by-messageId', verifyToken, statusConnection, OrderController.getOrderbyMsg);\n\nroutes.post('/api/:session/chatwoot', DeviceController.chatWoot);\n\n// Api Doc\nroutes.use('/api-docs', swaggerUi.serve);\nroutes.get('/api-docs', swaggerUi.setup(swaggerDocument));\n\n//k8s\nroutes.get('/healthz', HealthCheck.healthz);\nroutes.get('/unhealthy', HealthCheck.unhealthy);\n\nexport default routes;\n"],"mappings":";;;;;;;;;;;;;;;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kE,yjCA9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAkBA,MAAMA,MAAM,GAAG,IAAAC,eAAA,EAAOC,eAAP,CAAf,CACA,MAAMC,MAAM,GAAG,IAAIC,eAAJ,EAAf,C,CAEA;AACAD,MAAM,CAACE,IAAP,CAAY,yCAAZ,EAAuDC,iCAAvD,E,CAEA;AACAH,MAAM,CAACI,GAAP,CAAW,mCAAX,EAAgDC,iBAAiB,CAACC,eAAlE,EACAN,MAAM,CAACE,IAAP,CAAY,2BAAZ,EAAyCG,iBAAiB,CAACE,gBAA3D,E,CAEA;AACAP,MAAM,CAACI,GAAP,CAAW,wCAAX,EAAqDI,aAArD,EAAkEH,iBAAiB,CAACI,sBAApF,EACAT,MAAM,CAACI,GAAP,CAAW,+CAAX,EAA4DI,aAA5D,EAAyEH,iBAAiB,CAACK,iBAA3F,EACAV,MAAM,CAACI,GAAP,CAAW,8BAAX,EAA2CI,aAA3C,EAAwDH,iBAAiB,CAACM,eAA1E,EACAX,MAAM,CAACI,GAAP,CAAW,8BAAX,EAA2CI,aAA3C,EAAwDH,iBAAiB,CAACO,SAA1E,EACAZ,MAAM,CAACE,IAAP,CAAY,6BAAZ,EAA2CM,aAA3C,EAAwDH,iBAAiB,CAACQ,YAA1E;AACAb,MAAM,CAACE,IAAP,CAAY,8BAAZ,EAA4CM,aAA5C,EAAyDM,yBAAzD,EAA2ET,iBAAiB,CAACU,aAA7F;AACAf,MAAM,CAACE,IAAP,CAAY,6BAAZ,EAA2CM,aAA3C,EAAwDH,iBAAiB,CAACW,YAA1E;AACAhB,MAAM,CAACE,IAAP,CAAY,kCAAZ,EAAgDM,aAAhD,EAA6DH,iBAAiB,CAACY,iBAA/E;AACAjB,MAAM,CAACE,IAAP,CAAY,8BAAZ,EAA4CM,aAA5C,EAAyDM,yBAAzD,EAA2ET,iBAAiB,CAACa,sBAA7F;AACAlB,MAAM,CAACE,IAAP,CAAY,oCAAZ,EAAkDM,aAAlD,EAA+DM,yBAA/D,EAAiFT,iBAAiB,CAACc,iBAAnG;AACAnB,MAAM,CAACE,IAAP,CAAY,+BAAZ,EAA6CM,aAA7C,EAA0DM,yBAA1D,EAA4ET,iBAAiB,CAACe,cAA9F;;AAEA;AACApB,MAAM,CAACE,IAAP,CAAY,4BAAZ,EAA0CM,aAA1C,EAAuDM,yBAAvD,EAAyEO,iBAAiB,CAACC,WAA3F;AACAtB,MAAM,CAACE,IAAP;AACE,0BADF;AAEEL,MAAM,CAAC0B,MAAP,CAAc,MAAd,CAFF;AAGEf,aAHF;AAIEM,yBAJF;AAKEO,iBAAiB,CAACG,SALpB;;AAOAxB,MAAM,CAACE,IAAP;AACE,4BADF;AAEEL,MAAM,CAAC0B,MAAP,CAAc,MAAd,CAFF;AAGEf,aAHF;AAIEM,yBAJF;AAKEO,iBAAiB,CAACI,kBALpB;;AAOAzB,MAAM,CAACE,IAAP;AACE,gCADF;AAEEL,MAAM,CAAC0B,MAAP,CAAc,MAAd,CAFF;AAGEf,aAHF;AAIEM,yBAJF;AAKEO,iBAAiB,CAACK,qBALpB;;AAOA1B,MAAM,CAACE,IAAP,CAAY,0BAAZ,EAAwCM,aAAxC,EAAqDM,yBAArD,EAAuEO,iBAAiB,CAACM,YAAzF;AACA3B,MAAM,CAACE,IAAP;AACE,yBADF;AAEEL,MAAM,CAAC0B,MAAP,CAAc,MAAd,CAFF;AAGEf,aAHF;AAIEM,yBAJF;AAKEO,iBAAiB,CAACO,QALpB;;AAOA5B,MAAM,CAACE,IAAP,CAAY,gCAAZ,EAA8CM,aAA9C,EAA2DM,yBAA3D,EAA6EO,iBAAiB,CAACQ,UAA/F;AACA7B,MAAM,CAACE,IAAP,CAAY,0BAAZ,EAAwCM,aAAxC,EAAqDM,yBAArD,EAAuEO,iBAAiB,CAACS,SAAzF;AACA9B,MAAM,CAACE,IAAP,CAAY,iCAAZ,EAA+CM,aAA/C,EAA4DM,yBAA5D,EAA8EO,iBAAiB,CAACU,WAAhG;AACA/B,MAAM,CAACE,IAAP,CAAY,2BAAZ,EAAyCM,aAAzC,EAAsDM,yBAAtD,EAAwEO,iBAAiB,CAACW,cAA1F;AACAhC,MAAM,CAACE,IAAP,CAAY,iCAAZ,EAA+CM,aAA/C,EAA4DM,yBAA5D,EAA8EO,iBAAiB,CAACY,eAAhG;AACAjC,MAAM,CAACE,IAAP,CAAY,6BAAZ,EAA2CM,aAA3C,EAAwDM,yBAAxD,EAA0EO,iBAAiB,CAACa,YAA5F;AACAlC,MAAM,CAACE,IAAP,CAAY,8BAAZ,EAA4CM,aAA5C,EAAyDM,yBAAzD,EAA2EO,iBAAiB,CAACc,aAA7F;AACAnC,MAAM,CAACE,IAAP,CAAY,4BAAZ,EAA0CM,aAA1C,EAAuDM,yBAAvD,EAAyEO,iBAAiB,CAACe,WAA3F;AACApC,MAAM,CAACE,IAAP,CAAY,iCAAZ,EAA+CM,aAA/C,EAA4DM,yBAA5D,EAA8EO,iBAAiB,CAACgB,eAAhG;;AAEA;AACArC,MAAM,CAACI,GAAP,CAAW,kCAAX,EAA+CI,aAA/C,EAA4DM,yBAA5D,EAA8EwB,eAAe,CAACC,mBAA9F;AACAvC,MAAM,CAACI,GAAP,CAAW,0BAAX,EAAuCI,aAAvC,EAAoDM,yBAApD,EAAsEwB,eAAe,CAACE,YAAtF;AACAxC,MAAM,CAACI,GAAP,CAAW,sCAAX,EAAmDI,aAAnD,EAAgEM,yBAAhE,EAAkFwB,eAAe,CAACG,eAAlG;AACAzC,MAAM,CAACI,GAAP,CAAW,qCAAX,EAAkDI,aAAlD,EAA+DM,yBAA/D,EAAiFwB,eAAe,CAACI,cAAjG;AACA1C,MAAM,CAACI,GAAP;AACE,0CADF;AAEEI,aAFF;AAGEM,yBAHF;AAIEwB,eAAe,CAACK,kBAJlB;;AAMA3C,MAAM,CAACI,GAAP;AACE,0CADF;AAEEI,aAFF;AAGEM,yBAHF;AAIEwB,eAAe,CAACM,qBAJlB;;AAMA5C,MAAM,CAACI,GAAP;AACE,0CADF;AAEEI,aAFF;AAGEM,yBAHF;AAIEwB,eAAe,CAACO,kBAJlB;;AAMA7C,MAAM,CAACE,IAAP,CAAY,4BAAZ,EAA0CM,aAA1C,EAAuDM,yBAAvD,EAAyEwB,eAAe,CAACQ,WAAzF;AACA9C,MAAM,CAACE,IAAP,CAAY,2BAAZ,EAAyCM,aAAzC,EAAsDM,yBAAtD,EAAwEwB,eAAe,CAACS,UAAxF;AACA/C,MAAM,CAACE,IAAP,CAAY,yBAAZ,EAAuCM,aAAvC,EAAoDM,yBAApD,EAAsEwB,eAAe,CAACU,eAAtF;AACAhD,MAAM,CAACE,IAAP,CAAY,qCAAZ,EAAmDM,aAAnD,EAAgEM,yBAAhE,EAAkFwB,eAAe,CAACW,cAAlG;AACAjD,MAAM,CAACE,IAAP,CAAY,wCAAZ,EAAsDM,aAAtD,EAAmEM,yBAAnE,EAAqFwB,eAAe,CAACY,iBAArG;AACAlD,MAAM,CAACE,IAAP;AACE,yCADF;AAEEM,aAFF;AAGEM,yBAHF;AAIEwB,eAAe,CAACa,kBAJlB;;AAMAnD,MAAM,CAACE,IAAP,CAAY,wCAAZ,EAAsDM,aAAtD,EAAmEM,yBAAnE,EAAqFwB,eAAe,CAACc,iBAArG;AACApD,MAAM,CAACE,IAAP;AACE,2CADF;AAEEM,aAFF;AAGEM,yBAHF;AAIEwB,eAAe,CAACe,0BAJlB;;AAMArD,MAAM,CAACE,IAAP,CAAY,iCAAZ,EAA+CM,aAA/C,EAA4DM,yBAA5D,EAA8EwB,eAAe,CAACgB,mBAA9F;AACAtD,MAAM,CAACE,IAAP,CAAY,8BAAZ,EAA4CM,aAA5C,EAAyDM,yBAAzD,EAA2EwB,eAAe,CAACiB,gBAA3F;AACAvD,MAAM,CAACE,IAAP,CAAY,6BAAZ,EAA2CM,aAA3C,EAAwDM,yBAAxD,EAA0EwB,eAAe,CAACkB,eAA1F;AACAxD,MAAM,CAACE,IAAP,CAAY,oCAAZ,EAAkDM,aAAlD,EAA+DM,yBAA/D,EAAiFwB,eAAe,CAACmB,qBAAjG;AACAzD,MAAM,CAACE,IAAP;AACE,yBADF;AAEEL,MAAM,CAAC0B,MAAP,CAAc,MAAd,CAFF;AAGEf,aAHF;AAIEM,yBAJF;AAKEwB,eAAe,CAACoB,kBALlB;;AAOA1D,MAAM,CAACE,IAAP,CAAY,oCAAZ,EAAkDM,aAAlD,EAA+DM,yBAA/D,EAAiFwB,eAAe,CAACqB,kBAAjG;;AAEA;AACA3D,MAAM,CAACI,GAAP,CAAW,yBAAX,EAAsCI,aAAtC,EAAmDM,yBAAnD,EAAqE8C,gBAAgB,CAACC,WAAtF;AACA7D,MAAM,CAACI,GAAP;AACE,uCADF;AAEEI,aAFF;AAGEM,yBAHF;AAIE8C,gBAAgB,CAACE,uBAJnB;;AAMA9D,MAAM,CAACI,GAAP;AACE,2CADF;AAEEI,aAFF;AAGEM,yBAHF;AAIE8C,gBAAgB,CAACG,oBAJnB;;AAMA/D,MAAM,CAACI,GAAP,CAAW,gCAAX,EAA6CI,aAA7C,EAA0DM,yBAA1D,EAA4E8C,gBAAgB,CAACI,iBAA7F;AACAhE,MAAM,CAACI,GAAP,CAAW,+BAAX,EAA4CI,aAA5C,EAAyDM,yBAAzD,EAA2E8C,gBAAgB,CAACK,iBAA5F;AACAjE,MAAM,CAACI,GAAP,CAAW,mCAAX,EAAgDI,aAAhD,EAA6DM,yBAA7D,EAA+E8C,gBAAgB,CAACM,oBAAhG;AACAlE,MAAM,CAACI,GAAP,CAAW,iCAAX,EAA8CI,aAA9C,EAA2DM,yBAA3D,EAA6E8C,gBAAgB,CAACO,WAA9F;AACAnE,MAAM,CAACI,GAAP,CAAW,wCAAX,EAAqDI,aAArD,EAAkEM,yBAAlE,EAAoF8C,gBAAgB,CAACQ,cAArG;AACApE,MAAM,CAACI,GAAP,CAAW,qCAAX,EAAkDI,aAAlD,EAA+DM,yBAA/D,EAAiF8C,gBAAgB,CAACS,eAAlG;AACArE,MAAM,CAACI,GAAP,CAAW,gCAAX,EAA6CI,aAA7C,EAA0DM,yBAA1D,EAA4E8C,gBAAgB,CAACU,WAA7F;AACAtE,MAAM,CAACI,GAAP,CAAW,gCAAX,EAA6CI,aAA7C,EAA0DM,yBAA1D,EAA4E8C,gBAAgB,CAACW,YAA7F;AACAvE,MAAM,CAACI,GAAP;AACE,4CADF;AAEEI,aAFF;AAGEM,yBAHF;AAIE8C,gBAAgB,CAACY,2BAJnB;;AAMAxE,MAAM,CAACI,GAAP,CAAW,mCAAX,EAAgDI,aAAhD,EAA6DM,yBAA7D,EAA+E8C,gBAAgB,CAACa,WAAhG;;AAEAzE,MAAM,CAACE,IAAP,CAAY,4BAAZ,EAA0CM,aAA1C,EAAuDM,yBAAvD,EAAyE8C,gBAAgB,CAACc,WAA1F;AACA1E,MAAM,CAACE,IAAP,CAAY,iCAAZ,EAA+CM,aAA/C,EAA4DM,yBAA5D,EAA8E8C,gBAAgB,CAACe,eAA/F;AACA3E,MAAM,CAACE,IAAP,CAAY,0BAAZ,EAAwCM,aAAxC,EAAqDM,yBAArD,EAAuE8C,gBAAgB,CAACgB,SAAxF;AACA5E,MAAM,CAACE,IAAP,CAAY,+BAAZ,EAA6CM,aAA7C,EAA0DM,yBAA1D,EAA4E8C,gBAAgB,CAACiB,aAA7F;AACA7E,MAAM,CAACE,IAAP,CAAY,2BAAZ,EAAyCM,aAAzC,EAAsDM,yBAAtD,EAAwE8C,gBAAgB,CAACkB,UAAzF;AACA9E,MAAM,CAACE,IAAP,CAAY,gCAAZ,EAA8CM,aAA9C,EAA2DM,yBAA3D,EAA6E8C,gBAAgB,CAACmB,cAA9F;AACA/E,MAAM,CAACE,IAAP,CAAY,8BAAZ,EAA4CM,aAA5C,EAAyDM,yBAAzD,EAA2E8C,gBAAgB,CAACoB,aAA5F;AACAhF,MAAM,CAACE,IAAP,CAAY,6BAAZ,EAA2CM,aAA3C,EAAwDM,yBAAxD,EAA0E8C,gBAAgB,CAACqB,YAA3F;AACAjF,MAAM,CAACE,IAAP,CAAY,gCAAZ,EAA8CM,aAA9C,EAA2DM,yBAA3D,EAA6E8C,gBAAgB,CAACsB,eAA9F;AACAlF,MAAM,CAACE,IAAP,CAAY,2BAAZ,EAAyCM,aAAzC,EAAsDM,yBAAtD,EAAwE8C,gBAAgB,CAACuB,iBAAzF;AACAnF,MAAM,CAACE,IAAP,CAAY,wBAAZ,EAAsCM,aAAtC,EAAmDM,yBAAnD,EAAqE8C,gBAAgB,CAACwB,OAAtF;AACApF,MAAM,CAACE,IAAP,CAAY,6BAAZ,EAA2CM,aAA3C,EAAwDM,yBAAxD,EAA0E8C,gBAAgB,CAACyB,gBAA3F;AACArF,MAAM,CAACE,IAAP,CAAY,yBAAZ,EAAuCM,aAAvC,EAAoDM,yBAApD,EAAsE8C,gBAAgB,CAAC0B,QAAvF;AACAtF,MAAM,CAACE,IAAP,CAAY,yBAAZ,EAAuCM,aAAvC,EAAoDM,yBAApD,EAAsE8C,gBAAgB,CAAC2B,QAAvF;AACAvF,MAAM,CAACE,IAAP,CAAY,0BAAZ,EAAwCM,aAAxC,EAAqDM,yBAArD,EAAuE8C,gBAAgB,CAAC4B,YAAxF;AACAxF,MAAM,CAACE,IAAP,CAAY,kCAAZ,EAAgDM,aAAhD,EAA6DM,yBAA7D,EAA+E8C,gBAAgB,CAAC6B,oBAAhG;AACAzF,MAAM,CAACE,IAAP,CAAY,sBAAZ,EAAoCM,aAApC,EAAiDM,yBAAjD,EAAmE8C,gBAAgB,CAAC8B,SAApF;AACA1F,MAAM,CAACE,IAAP,CAAY,yBAAZ,EAAuCM,aAAvC,EAAoDM,yBAApD,EAAsE8C,gBAAgB,CAAC+B,YAAvF;AACA3F,MAAM,CAACE,IAAP,CAAY,4BAAZ,EAA0CM,aAA1C,EAAuDM,yBAAvD,EAAyE8C,gBAAgB,CAACgC,WAA1F;AACA5F,MAAM,CAACE,IAAP,CAAY,2BAAZ,EAAyCM,aAAzC,EAAsDM,yBAAtD,EAAwE8C,gBAAgB,CAACiC,UAAzF;;AAEA;AACA7F,MAAM,CAACE,IAAP,CAAY,gCAAZ,EAA8CM,aAA9C,EAA2DM,yBAA3D,EAA6EgF,gBAAgB,CAACC,cAA9F;AACA/F,MAAM,CAACE,IAAP;AACE,iCADF;AAEEL,MAAM,CAAC0B,MAAP,CAAc,MAAd,CAFF;AAGEf,aAHF;AAIEM,yBAJF;AAKEgF,gBAAgB,CAACE,eALnB;;AAOAhG,MAAM,CAACE,IAAP;AACE,iCADF;AAEEL,MAAM,CAAC0B,MAAP,CAAc,MAAd,CAFF;AAGEf,aAHF;AAIEM,yBAJF;AAKEgF,gBAAgB,CAACG,eALnB;;;AAQA;AACAjG,MAAM,CAACE,IAAP,CAAY,6BAAZ,EAA2CM,aAA3C,EAAwDM,yBAAxD,EAA0EoF,gBAAgB,CAACC,WAA3F;AACAnG,MAAM,CAACE,IAAP,CAAY,mCAAZ,EAAiDM,aAAjD,EAA8DM,yBAA9D,EAAgFoF,gBAAgB,CAACE,iBAAjG;AACApG,MAAM,CAACI,GAAP,CAAW,8BAAX,EAA2CI,aAA3C,EAAwDM,yBAAxD,EAA0EoF,gBAAgB,CAACG,YAA3F;AACArG,MAAM,CAACsG,GAAP,CAAW,iCAAX,EAA8C9F,aAA9C,EAA2DM,yBAA3D,EAA6EoF,gBAAgB,CAACK,eAA9F;AACAvG,MAAM,CAACsG,GAAP,CAAW,gCAAX,EAA6C9F,aAA7C,EAA0DM,yBAA1D,EAA4EoF,gBAAgB,CAACM,WAA7F;;AAEA;AACAxG,MAAM,CAACI,GAAP;AACE,0CADF;AAEEI,aAFF;AAGEM,yBAHF;AAIE8C,gBAAgB,CAAC6C,iBAJnB;;AAMAzG,MAAM,CAACI,GAAP,CAAW,4BAAX,EAAyCI,aAAzC,EAAsDM,yBAAtD,EAAwE8C,gBAAgB,CAAC8C,cAAzF;AACA1G,MAAM,CAACI,GAAP,CAAW,8BAAX,EAA2CI,aAA3C,EAAwDM,yBAAxD,EAA0E8C,gBAAgB,CAAC+C,UAA3F;AACA3G,MAAM,CAACI,GAAP,CAAW,8BAAX,EAA2CI,aAA3C,EAAwDM,yBAAxD,EAA0E8C,gBAAgB,CAACgD,gBAA3F;AACA5G,MAAM,CAACI,GAAP,CAAW,kCAAX,EAA+CI,aAA/C,EAA4DM,yBAA5D,EAA8E8C,gBAAgB,CAACiD,uBAA/F;AACA7G,MAAM,CAACI,GAAP,CAAW,qCAAX,EAAkDI,aAAlD,EAA+DM,yBAA/D,EAAiF8C,gBAAgB,CAACkD,SAAlG;;AAEA;AACA9G,MAAM,CAACI,GAAP,CAAW,yBAAX,EAAsCI,aAAtC,EAAmDM,yBAAnD,EAAqE8C,gBAAgB,CAACmD,YAAtF;AACA/G,MAAM,CAACE,IAAP,CAAY,6BAAZ,EAA2CM,aAA3C,EAAwDM,yBAAxD,EAA0E8C,gBAAgB,CAACoD,YAA3F;AACAhH,MAAM,CAACE,IAAP,CAAY,+BAAZ,EAA6CM,aAA7C,EAA0DM,yBAA1D,EAA4E8C,gBAAgB,CAACqD,cAA7F;;AAEA;AACAjH,MAAM,CAACI,GAAP,CAAW,iCAAX,EAA8CI,aAA9C,EAA2DM,yBAA3D,EAA6E8C,gBAAgB,CAACsD,eAA9F;AACAlH,MAAM,CAACI,GAAP,CAAW,2BAAX,EAAwCI,aAAxC,EAAqDM,yBAArD,EAAuE8C,gBAAgB,CAACuD,aAAxF;AACAnH,MAAM,CAACI,GAAP,CAAW,gCAAX,EAA6CI,aAA7C,EAA0DM,yBAA1D,EAA4E8C,gBAAgB,CAACwD,cAA7F;;AAEA;AACApH,MAAM,CAACE,IAAP;AACE,+BADF;AAEEL,MAAM,CAAC0B,MAAP,CAAc,MAAd,CAFF;AAGEf,aAHF;AAIEM,yBAJF;AAKE8C,gBAAgB,CAACyD,aALnB;;AAOArH,MAAM,CAACE,IAAP,CAAY,8BAAZ,EAA4CM,aAA5C,EAAyDM,yBAAzD,EAA2E8C,gBAAgB,CAAC0D,gBAA5F;AACAtH,MAAM,CAACE,IAAP,CAAY,+BAAZ,EAA6CM,aAA7C,EAA0DM,yBAA1D,EAA4E8C,gBAAgB,CAAC2D,cAA7F;;AAEA;AACAvH,MAAM,CAACI,GAAP;AACE,8CADF;AAEEI,aAFF;AAGEM,yBAHF;AAIE0G,eAAe,CAACC,2BAJlB;;AAMAzH,MAAM,CAACI,GAAP,CAAW,sCAAX,EAAmDI,aAAnD,EAAgEM,yBAAhE,EAAkF0G,eAAe,CAACE,aAAlG;;AAEA1H,MAAM,CAACE,IAAP,CAAY,wBAAZ,EAAsC0D,gBAAgB,CAAC+D,QAAvD;;AAEA;AACA3H,MAAM,CAAC4H,GAAP,CAAW,WAAX,EAAwBC,yBAAA,CAAUC,KAAlC;AACA9H,MAAM,CAACI,GAAP,CAAW,WAAX,EAAwByH,yBAAA,CAAUE,KAAV,CAAgBC,gBAAhB,CAAxB;;AAEA;AACAhI,MAAM,CAACI,GAAP,CAAW,UAAX,EAAuB6H,WAAW,CAACC,OAAnC;AACAlI,MAAM,CAACI,GAAP,CAAW,YAAX,EAAyB6H,WAAW,CAACE,SAArC,E;;AAEenI,M"}
|