@wppconnect/server 2.2.1 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/dist/config.js +2 -2
- package/dist/controller/catalogController.js +3 -11
- package/dist/controller/groupController.js +309 -104
- package/dist/controller/labelsController.js +67 -13
- package/dist/controller/messageController.js +282 -89
- package/dist/controller/miscController.js +27 -14
- package/dist/controller/orderController.js +22 -7
- package/dist/controller/sessionController.js +1 -11
- package/dist/controller/statusController.js +67 -14
- package/dist/swagger.json +1182 -893
- package/dist/util/functions.js +4 -7
- package/dist/util/tokenStore/model/token.js +10 -11
- package/package.json +8 -8
package/dist/util/functions.js
CHANGED
|
@@ -137,14 +137,11 @@ async function autoDownload(client, req, message) {
|
|
|
137
137
|
const hashName = crypto.randomBytes(24).toString('hex');
|
|
138
138
|
|
|
139
139
|
const s3 = new _awsSdk.default.S3();
|
|
140
|
-
const bucketName =
|
|
141
|
-
_config.default.webhook
|
|
142
|
-
_config.default.webhook.awsBucketName :
|
|
140
|
+
const bucketName = _config.default.webhook?.awsBucketName ?
|
|
141
|
+
_config.default.webhook?.awsBucketName :
|
|
143
142
|
client.session;
|
|
144
143
|
const fileName = `${
|
|
145
|
-
_config.default.webhook
|
|
146
|
-
client.session + '/' :
|
|
147
|
-
''
|
|
144
|
+
_config.default.webhook?.awsBucketName ? client.session + '/' : ''
|
|
148
145
|
}${hashName}.${mime.extension(message.mimetype)}`;
|
|
149
146
|
|
|
150
147
|
const params = {
|
|
@@ -300,4 +297,4 @@ function createCatalogLink(session) {
|
|
|
300
297
|
const [wid] = session.split('@');
|
|
301
298
|
return `https://wa.me/c/${wid}`;
|
|
302
299
|
}
|
|
303
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXdzU2RrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfY3J5cHRvIiwiX2ZzIiwiX21pbWVUeXBlcyIsIl9vcyIsIl9wYXRoIiwiX3V0aWwiLCJfY29uZmlnIiwiX2luZGV4IiwibWltZSIsImNyeXB0byIsImNvbmZpZyIsIndlYmhvb2siLCJ1cGxvYWRTMyIsIm1pbWV0eXBlcyIsIkNyeXB0byIsImNvbnRhY3RUb0FycmF5IiwibnVtYmVyIiwiaXNHcm91cCIsImxvY2FsQXJyIiwiQXJyYXkiLCJpc0FycmF5IiwiY29udGFjdCIsInNwbGl0IiwicmVwbGFjZSIsInB1c2giLCJhcnJDb250YWN0cyIsImdyb3VwVG9BcnJheSIsImdyb3VwIiwiZ3JvdXBOYW1lVG9BcnJheSIsImNhbGxXZWJIb29rIiwiY2xpZW50IiwicmVxIiwiZXZlbnQiLCJkYXRhIiwic2VydmVyT3B0aW9ucyIsInVybCIsImF1dG9Eb3dubG9hZCIsImNoYXRJZCIsImZyb20iLCJfc2VyaWFsaXplZCIsIk9iamVjdCIsImFzc2lnbiIsInNlc3Npb24iLCJtYXBwZXIiLCJlbmFibGUiLCJjb252ZXJ0IiwicHJlZml4IiwiYXBpIiwicG9zdCIsInRoZW4iLCJldmVudHMiLCJpbmNsdWRlcyIsInJlYWRNZXNzYWdlIiwic2VuZFNlZW4iLCJlIiwiY2F0Y2giLCJsb2dnZXIiLCJ3YXJuIiwiZXJyb3IiLCJtZXNzYWdlIiwiaXNNZWRpYSIsImlzTU1TIiwiYnVmZmVyIiwiZGVjcnlwdEZpbGUiLCJoYXNoTmFtZSIsInJhbmRvbUJ5dGVzIiwidG9TdHJpbmciLCJzMyIsImF3cyIsIlMzIiwiYnVja2V0TmFtZSIsImF3c0J1Y2tldE5hbWUiLCJmaWxlTmFtZSIsImV4dGVuc2lvbiIsIm1pbWV0eXBlIiwicGFyYW1zIiwiQnVja2V0IiwiS2V5IiwiQm9keSIsIkFDTCIsIkNvbnRlbnRUeXBlIiwidXBsb2FkIiwicHJvbWlzZSIsImZpbGVVcmwiLCJMb2NhdGlvbiIsImJvZHkiLCJzdGFydEFsbFNlc3Npb25zIiwiaG9zdCIsInBvcnQiLCJzZWNyZXRLZXkiLCJzdGFydEhlbHBlciIsImFsbFVucmVhZE9uU3RhcnQiLCJzZW5kVW5yZWFkIiwiYXJjaGl2ZSIsImluZm8iLCJjaGF0cyIsImdldEFsbENoYXRzV2l0aE1lc3NhZ2VzIiwibGVuZ3RoIiwiaSIsImoiLCJtc2dzIiwiZXgiLCJzbGVlcCIsInRpbWUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJnZXRBbGxDaGF0cyIsImZpbHRlciIsImMiLCJkYXRlIiwiRGF0ZSIsInQiLCJEYXlzQmV0d2VlbiIsImRheXNUb0FyY2hpdmUiLCJhcmNoaXZlQ2hhdCIsImlkIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwid2FpdFRpbWUiLCJTdGFydERhdGUiLCJlbmREYXRlIiwib25lRGF5Iiwic3RhcnQiLCJVVEMiLCJnZXRGdWxsWWVhciIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImVuZCIsImNyZWF0ZUZvbGRlcnMiLCJfX2Rpcm5hbWUiLCJwYXRoIiwiZGlybmFtZSIsImRpckZpbGVzIiwiZnMiLCJleGlzdHNTeW5jIiwibWtkaXJTeW5jIiwiZGlyVXBsb2FkIiwic3RyVG9Cb29sIiwicyIsInRlc3QiLCJnZXRJUEFkZHJlc3MiLCJpbnRlcmZhY2VzIiwib3MiLCJuZXR3b3JrSW50ZXJmYWNlcyIsImRldk5hbWUiLCJpZmFjZSIsImFsaWFzIiwiZmFtaWx5IiwiYWRkcmVzcyIsImludGVybmFsIiwic2V0TWF4TGlzdG5lcnMiLCJOdW1iZXIiLCJpc0ludGVnZXIiLCJtYXhMaXN0ZW5lcnMiLCJwcm9jZXNzIiwic2V0TWF4TGlzdGVuZXJzIiwidW5saW5rQXN5bmMiLCJwcm9taXNpZnkiLCJ1bmxpbmsiLCJleHBvcnRzIiwiY3JlYXRlQ2F0YWxvZ0xpbmsiLCJ3aWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9mdW5jdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIxIFdQUENvbm5lY3QgVGVhbVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IGF3cyBmcm9tICdhd3Mtc2RrJztcbmltcG9ydCBhcGkgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IENyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBtaW1ldHlwZXMgZnJvbSAnbWltZS10eXBlcyc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcblxuaW1wb3J0IGNvbmZpZyBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgY29udmVydCB9IGZyb20gJy4uL21hcHBlci9pbmRleCc7XG5pbXBvcnQgeyBTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvU2VydmVyT3B0aW9ucyc7XG5cbmxldCBtaW1lOiBhbnksIGNyeXB0bzogYW55OyAvLywgYXdzOiBhbnk7XG5pZiAoY29uZmlnLndlYmhvb2sudXBsb2FkUzMpIHtcbiAgbWltZSA9IGNvbmZpZy53ZWJob29rLnVwbG9hZFMzID8gbWltZXR5cGVzIDogbnVsbDtcbiAgY3J5cHRvID0gY29uZmlnLndlYmhvb2sudXBsb2FkUzMgPyBDcnlwdG8gOiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udGFjdFRvQXJyYXkobnVtYmVyOiBhbnksIGlzR3JvdXA/OiBib29sZWFuKSB7XG4gIGNvbnN0IGxvY2FsQXJyOiBhbnkgPSBbXTtcbiAgaWYgKEFycmF5LmlzQXJyYXkobnVtYmVyKSkge1xuICAgIGZvciAobGV0IGNvbnRhY3Qgb2YgbnVtYmVyKSB7XG4gICAgICBpc0dyb3VwXG4gICAgICAgID8gKGNvbnRhY3QgPSBjb250YWN0LnNwbGl0KCdAJylbMF0pXG4gICAgICAgIDogKGNvbnRhY3QgPSBjb250YWN0LnNwbGl0KCdAJylbMF0/LnJlcGxhY2UoL1teXFx3IF0vZywgJycpKTtcbiAgICAgIGlmIChjb250YWN0ICE9PSAnJylcbiAgICAgICAgaWYgKGlzR3JvdXApIChsb2NhbEFyciBhcyBhbnkpLnB1c2goYCR7Y29udGFjdH1AZy51c2ApO1xuICAgICAgICBlbHNlIChsb2NhbEFyciBhcyBhbnkpLnB1c2goYCR7Y29udGFjdH1AYy51c2ApO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBhcnJDb250YWN0cyA9IG51bWJlci5zcGxpdCgvXFxzKlssO11cXHMqL2cpO1xuICAgIGZvciAobGV0IGNvbnRhY3Qgb2YgYXJyQ29udGFjdHMpIHtcbiAgICAgIGlzR3JvdXBcbiAgICAgICAgPyAoY29udGFjdCA9IGNvbnRhY3Quc3BsaXQoJ0AnKVswXSlcbiAgICAgICAgOiAoY29udGFjdCA9IGNvbnRhY3Quc3BsaXQoJ0AnKVswXT8ucmVwbGFjZSgvW15cXHcgXS9nLCAnJykpO1xuICAgICAgaWYgKGNvbnRhY3QgIT09ICcnKVxuICAgICAgICBpZiAoaXNHcm91cCkgKGxvY2FsQXJyIGFzIGFueSkucHVzaChgJHtjb250YWN0fUBnLnVzYCk7XG4gICAgICAgIGVsc2UgKGxvY2FsQXJyIGFzIGFueSkucHVzaChgJHtjb250YWN0fUBjLnVzYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxvY2FsQXJyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBUb0FycmF5KGdyb3VwOiBhbnkpIHtcbiAgY29uc3QgbG9jYWxBcnI6IGFueSA9IFtdO1xuICBpZiAoQXJyYXkuaXNBcnJheShncm91cCkpIHtcbiAgICBmb3IgKGxldCBjb250YWN0IG9mIGdyb3VwKSB7XG4gICAgICBjb250YWN0ID0gY29udGFjdC5zcGxpdCgnQCcpWzBdO1xuICAgICAgaWYgKGNvbnRhY3QgIT09ICcnKSAobG9jYWxBcnIgYXMgYW55KS5wdXNoKGAke2NvbnRhY3R9QGcudXNgKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYXJyQ29udGFjdHMgPSBncm91cC5zcGxpdCgvXFxzKlssO11cXHMqL2cpO1xuICAgIGZvciAobGV0IGNvbnRhY3Qgb2YgYXJyQ29udGFjdHMpIHtcbiAgICAgIGNvbnRhY3QgPSBjb250YWN0LnNwbGl0KCdAJylbMF07XG4gICAgICBpZiAoY29udGFjdCAhPT0gJycpIChsb2NhbEFyciBhcyBhbnkpLnB1c2goYCR7Y29udGFjdH1AZy51c2ApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsb2NhbEFycjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwTmFtZVRvQXJyYXkoZ3JvdXA6IGFueSkge1xuICBjb25zdCBsb2NhbEFycjogYW55ID0gW107XG4gIGlmIChBcnJheS5pc0FycmF5KGdyb3VwKSkge1xuICAgIGZvciAoY29uc3QgY29udGFjdCBvZiBncm91cCkge1xuICAgICAgaWYgKGNvbnRhY3QgIT09ICcnKSAobG9jYWxBcnIgYXMgYW55KS5wdXNoKGAke2NvbnRhY3R9YCk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IGFyckNvbnRhY3RzID0gZ3JvdXAuc3BsaXQoL1xccypbLDtdXFxzKi9nKTtcbiAgICBmb3IgKGNvbnN0IGNvbnRhY3Qgb2YgYXJyQ29udGFjdHMpIHtcbiAgICAgIGlmIChjb250YWN0ICE9PSAnJykgKGxvY2FsQXJyIGFzIGFueSkucHVzaChgJHtjb250YWN0fWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsb2NhbEFycjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNhbGxXZWJIb29rKFxuICBjbGllbnQ6IGFueSxcbiAgcmVxOiBhbnksXG4gIGV2ZW50OiBhbnksXG4gIGRhdGE6IGFueVxuKSB7XG4gIGNvbnN0IHdlYmhvb2sgPVxuICAgIGNsaWVudD8uY29uZmlnLndlYmhvb2sgfHwgcmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay51cmwgfHwgZmFsc2U7XG4gIGlmICh3ZWJob29rKSB7XG4gICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2suYXV0b0Rvd25sb2FkKVxuICAgICAgYXdhaXQgYXV0b0Rvd25sb2FkKGNsaWVudCwgcmVxLCBkYXRhKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY2hhdElkID1cbiAgICAgICAgZGF0YS5mcm9tIHx8XG4gICAgICAgIGRhdGEuY2hhdElkIHx8XG4gICAgICAgIChkYXRhLmNoYXRJZCA/IGRhdGEuY2hhdElkLl9zZXJpYWxpemVkIDogbnVsbCk7XG4gICAgICBkYXRhID0gT2JqZWN0LmFzc2lnbih7IGV2ZW50OiBldmVudCwgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24gfSwgZGF0YSk7XG4gICAgICBpZiAocmVxLnNlcnZlck9wdGlvbnMubWFwcGVyLmVuYWJsZSlcbiAgICAgICAgZGF0YSA9IGF3YWl0IGNvbnZlcnQocmVxLnNlcnZlck9wdGlvbnMubWFwcGVyLnByZWZpeCwgZGF0YSk7XG4gICAgICBhcGlcbiAgICAgICAgLnBvc3Qod2ViaG9vaywgZGF0YSlcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBldmVudHMgPSBbJ3VucmVhZG1lc3NhZ2VzJywgJ29ubWVzc2FnZSddO1xuICAgICAgICAgICAgaWYgKGV2ZW50cy5pbmNsdWRlcyhldmVudCkgJiYgcmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay5yZWFkTWVzc2FnZSlcbiAgICAgICAgICAgICAgY2xpZW50LnNlbmRTZWVuKGNoYXRJZCk7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgcmVxLmxvZ2dlci53YXJuKCdFcnJvciBjYWxsaW5nIFdlYmhvb2suJywgZSk7XG4gICAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgfVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGF1dG9Eb3dubG9hZChjbGllbnQ6IGFueSwgcmVxOiBhbnksIG1lc3NhZ2U6IGFueSkge1xuICB0cnkge1xuICAgIGlmIChtZXNzYWdlICYmIChtZXNzYWdlWydtaW1ldHlwZSddIHx8IG1lc3NhZ2UuaXNNZWRpYSB8fCBtZXNzYWdlLmlzTU1TKSkge1xuICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgY2xpZW50LmRlY3J5cHRGaWxlKG1lc3NhZ2UpO1xuICAgICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2sudXBsb2FkUzMpIHtcbiAgICAgICAgY29uc3QgaGFzaE5hbWUgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMjQpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgICAgICBjb25zdCBzMyA9IG5ldyBhd3MuUzMoKTtcbiAgICAgICAgY29uc3QgYnVja2V0TmFtZSA9XG4gICAgICAgICAgY29uZmlnLndlYmhvb2suYXdzQnVja2V0TmFtZSAmJiBjb25maWcud2ViaG9vay5hd3NCdWNrZXROYW1lICE9PSAnJ1xuICAgICAgICAgICAgPyBjb25maWcud2ViaG9vay5hd3NCdWNrZXROYW1lXG4gICAgICAgICAgICA6IGNsaWVudC5zZXNzaW9uO1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke1xuICAgICAgICAgIGNvbmZpZy53ZWJob29rLmF3c0J1Y2tldE5hbWUgJiYgY29uZmlnLndlYmhvb2suYXdzQnVja2V0TmFtZSAhPT0gJydcbiAgICAgICAgICAgID8gY2xpZW50LnNlc3Npb24gKyAnLydcbiAgICAgICAgICAgIDogJydcbiAgICAgICAgfSR7aGFzaE5hbWV9LiR7bWltZS5leHRlbnNpb24obWVzc2FnZS5taW1ldHlwZSl9YDtcblxuICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgQnVja2V0OiBidWNrZXROYW1lLFxuICAgICAgICAgIEtleTogZmlsZU5hbWUsXG4gICAgICAgICAgQm9keTogYnVmZmVyLFxuICAgICAgICAgIEFDTDogJ3B1YmxpYy1yZWFkJyxcbiAgICAgICAgICBDb250ZW50VHlwZTogbWVzc2FnZS5taW1ldHlwZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHMzLnVwbG9hZChwYXJhbXMpLnByb21pc2UoKTtcbiAgICAgICAgbWVzc2FnZS5maWxlVXJsID0gZGF0YS5Mb2NhdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2UuYm9keSA9IGF3YWl0IGJ1ZmZlci50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgcmVxLmxvZ2dlci5lcnJvcihlKTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3RhcnRBbGxTZXNzaW9ucyhjb25maWc6IGFueSwgbG9nZ2VyOiBhbnkpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCBhcGkucG9zdChcbiAgICAgIGAke2NvbmZpZy5ob3N0fToke2NvbmZpZy5wb3J0fS9hcGkvJHtjb25maWcuc2VjcmV0S2V5fS9zdGFydC1hbGxgXG4gICAgKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5lcnJvcihlKTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3RhcnRIZWxwZXIoY2xpZW50OiBhbnksIHJlcTogYW55KSB7XG4gIGlmIChyZXEuc2VydmVyT3B0aW9ucy53ZWJob29rLmFsbFVucmVhZE9uU3RhcnQpIGF3YWl0IHNlbmRVbnJlYWQoY2xpZW50LCByZXEpO1xuXG4gIGlmIChyZXEuc2VydmVyT3B0aW9ucy5hcmNoaXZlLmVuYWJsZSkgYXdhaXQgYXJjaGl2ZShjbGllbnQsIHJlcSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNlbmRVbnJlYWQoY2xpZW50OiBhbnksIHJlcTogYW55KSB7XG4gIHJlcS5sb2dnZXIuaW5mbyhgJHtjbGllbnQuc2Vzc2lvbn0gOiBJbmljaW8gZW52aWFyIG1lbnNhZ2VucyBuw6NvIGxpZGFzYCk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBjaGF0cyA9IGF3YWl0IGNsaWVudC5nZXRBbGxDaGF0c1dpdGhNZXNzYWdlcyh0cnVlKTtcblxuICAgIGlmIChjaGF0cyAmJiBjaGF0cy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoYXRzLmxlbmd0aDsgaSsrKVxuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGNoYXRzW2ldLm1zZ3MubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ3VucmVhZG1lc3NhZ2VzJywgY2hhdHNbaV0ubXNnc1tqXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXEubG9nZ2VyLmluZm8oYCR7Y2xpZW50LnNlc3Npb259IDogRmltIGVudmlhciBtZW5zYWdlbnMgbsOjbyBsaWRhc2ApO1xuICB9IGNhdGNoIChleCkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZXgpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGFyY2hpdmUoY2xpZW50OiBhbnksIHJlcTogYW55KSB7XG4gIGFzeW5jIGZ1bmN0aW9uIHNsZWVwKHRpbWU6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCB0aW1lICogMTApKTtcbiAgfVxuXG4gIHJlcS5sb2dnZXIuaW5mbyhgJHtjbGllbnQuc2Vzc2lvbn0gOiBJbmljaW8gYXJxdWl2YW5kbyBjaGF0c2ApO1xuXG4gIHRyeSB7XG4gICAgbGV0IGNoYXRzID0gYXdhaXQgY2xpZW50LmdldEFsbENoYXRzKCk7XG4gICAgaWYgKGNoYXRzICYmIEFycmF5LmlzQXJyYXkoY2hhdHMpICYmIGNoYXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNoYXRzID0gY2hhdHMuZmlsdGVyKChjKSA9PiAhYy5hcmNoaXZlKTtcbiAgICB9XG4gICAgaWYgKGNoYXRzICYmIEFycmF5LmlzQXJyYXkoY2hhdHMpICYmIGNoYXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hhdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGNoYXRzW2ldLnQgKiAxMDAwKTtcblxuICAgICAgICBpZiAoRGF5c0JldHdlZW4oZGF0ZSkgPiByZXEuc2VydmVyT3B0aW9ucy5hcmNoaXZlLmRheXNUb0FyY2hpdmUpIHtcbiAgICAgICAgICBhd2FpdCBjbGllbnQuYXJjaGl2ZUNoYXQoXG4gICAgICAgICAgICBjaGF0c1tpXS5pZC5pZCB8fCBjaGF0c1tpXS5pZC5fc2VyaWFsaXplZCxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgICApO1xuICAgICAgICAgIGF3YWl0IHNsZWVwKFxuICAgICAgICAgICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogcmVxLnNlcnZlck9wdGlvbnMuYXJjaGl2ZS53YWl0VGltZSArIDEpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXEubG9nZ2VyLmluZm8oYCR7Y2xpZW50LnNlc3Npb259IDogRmltIGFycXVpdmFuZG8gY2hhdHNgKTtcbiAgfSBjYXRjaCAoZXgpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGV4KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBEYXlzQmV0d2VlbihTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZW5kRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIC8vIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGluIGFsbCBVVEMgZGF5cyAobm8gRFNUKVxuICBjb25zdCBvbmVEYXkgPSAxMDAwICogNjAgKiA2MCAqIDI0O1xuXG4gIC8vIEEgZGF5IGluIFVUQyBhbHdheXMgbGFzdHMgMjQgaG91cnMgKHVubGlrZSBpbiBvdGhlciB0aW1lIGZvcm1hdHMpXG4gIGNvbnN0IHN0YXJ0ID0gRGF0ZS5VVEMoXG4gICAgZW5kRGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgIGVuZERhdGUuZ2V0TW9udGgoKSxcbiAgICBlbmREYXRlLmdldERhdGUoKVxuICApO1xuICBjb25zdCBlbmQgPSBEYXRlLlVUQyhcbiAgICBTdGFydERhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICBTdGFydERhdGUuZ2V0TW9udGgoKSxcbiAgICBTdGFydERhdGUuZ2V0RGF0ZSgpXG4gICk7XG5cbiAgLy8gc28gaXQncyBzYWZlIHRvIGRpdmlkZSBieSAyNCBob3Vyc1xuICByZXR1cm4gKHN0YXJ0IC0gZW5kKSAvIG9uZURheTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvbGRlcnMoKSB7XG4gIGNvbnN0IF9fZGlybmFtZSA9IHBhdGgucmVzb2x2ZShwYXRoLmRpcm5hbWUoJycpKTtcbiAgY29uc3QgZGlyRmlsZXMgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnV2hhdHNBcHBJbWFnZXMnKTtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGRpckZpbGVzKSkge1xuICAgIGZzLm1rZGlyU3luYyhkaXJGaWxlcyk7XG4gIH1cblxuICBjb25zdCBkaXJVcGxvYWQgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAndXBsb2FkcycpO1xuICBpZiAoIWZzLmV4aXN0c1N5bmMoZGlyVXBsb2FkKSkge1xuICAgIGZzLm1rZGlyU3luYyhkaXJVcGxvYWQpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJUb0Jvb2woczogc3RyaW5nKSB7XG4gIHJldHVybiAvXih0cnVlfDEpJC9pLnRlc3Qocyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJUEFkZHJlc3MoKSB7XG4gIGNvbnN0IGludGVyZmFjZXMgPSBvcy5uZXR3b3JrSW50ZXJmYWNlcygpO1xuICBmb3IgKGNvbnN0IGRldk5hbWUgaW4gaW50ZXJmYWNlcykge1xuICAgIGNvbnN0IGlmYWNlOiBhbnkgPSBpbnRlcmZhY2VzW2Rldk5hbWVdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaWZhY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGFsaWFzID0gaWZhY2VbaV07XG4gICAgICBpZiAoXG4gICAgICAgIGFsaWFzLmZhbWlseSA9PT0gJ0lQdjQnICYmXG4gICAgICAgIGFsaWFzLmFkZHJlc3MgIT09ICcxMjcuMC4wLjEnICYmXG4gICAgICAgICFhbGlhcy5pbnRlcm5hbFxuICAgICAgKVxuICAgICAgICByZXR1cm4gYWxpYXMuYWRkcmVzcztcbiAgICB9XG4gIH1cbiAgcmV0dXJuICcwLjAuMC4wJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE1heExpc3RuZXJzKHNlcnZlck9wdGlvbnM6IFNlcnZlck9wdGlvbnMpIHtcbiAgaWYgKHNlcnZlck9wdGlvbnMgJiYgTnVtYmVyLmlzSW50ZWdlcihzZXJ2ZXJPcHRpb25zLm1heExpc3RlbmVycykpIHtcbiAgICBwcm9jZXNzLnNldE1heExpc3RlbmVycyhzZXJ2ZXJPcHRpb25zLm1heExpc3RlbmVycyk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHVubGlua0FzeW5jID0gcHJvbWlzaWZ5KGZzLnVubGluayk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDYXRhbG9nTGluayhzZXNzaW9uOiBhbnkpIHtcbiAgY29uc3QgW3dpZF0gPSBzZXNzaW9uLnNwbGl0KCdAJyk7XG4gIHJldHVybiBgaHR0cHM6Ly93YS5tZS9jLyR7d2lkfWA7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQWVBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEdBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLEdBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLEtBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTs7QUFFQSxJQUFBUSxPQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFULE9BQUEsb0JBQTBDLENBekIxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FjQSxJQUFJVSxJQUFTLEVBQUVDLE1BQVcsQ0FBQyxDQUFDO0FBQzVCLElBQUlDLGVBQU0sQ0FBQ0MsT0FBTyxDQUFDQyxRQUFRLEVBQUUsQ0FDM0JKLElBQUksR0FBR0UsZUFBTSxDQUFDQyxPQUFPLENBQUNDLFFBQVEsR0FBR0Msa0JBQVMsR0FBRyxJQUFJLENBQ2pESixNQUFNLEdBQUdDLGVBQU0sQ0FBQ0MsT0FBTyxDQUFDQyxRQUFRLEdBQUdFLGVBQU0sR0FBRyxJQUFJLENBQ2xELENBRU8sU0FBU0MsY0FBY0EsQ0FBQ0MsTUFBVyxFQUFFQyxPQUFpQixFQUFFLENBQzdELE1BQU1DLFFBQWEsR0FBRyxFQUFFLENBQ3hC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
|
|
300
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXdzU2RrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfY3J5cHRvIiwiX2ZzIiwiX21pbWVUeXBlcyIsIl9vcyIsIl9wYXRoIiwiX3V0aWwiLCJfY29uZmlnIiwiX2luZGV4IiwibWltZSIsImNyeXB0byIsImNvbmZpZyIsIndlYmhvb2siLCJ1cGxvYWRTMyIsIm1pbWV0eXBlcyIsIkNyeXB0byIsImNvbnRhY3RUb0FycmF5IiwibnVtYmVyIiwiaXNHcm91cCIsImxvY2FsQXJyIiwiQXJyYXkiLCJpc0FycmF5IiwiY29udGFjdCIsInNwbGl0IiwicmVwbGFjZSIsInB1c2giLCJhcnJDb250YWN0cyIsImdyb3VwVG9BcnJheSIsImdyb3VwIiwiZ3JvdXBOYW1lVG9BcnJheSIsImNhbGxXZWJIb29rIiwiY2xpZW50IiwicmVxIiwiZXZlbnQiLCJkYXRhIiwic2VydmVyT3B0aW9ucyIsInVybCIsImF1dG9Eb3dubG9hZCIsImNoYXRJZCIsImZyb20iLCJfc2VyaWFsaXplZCIsIk9iamVjdCIsImFzc2lnbiIsInNlc3Npb24iLCJtYXBwZXIiLCJlbmFibGUiLCJjb252ZXJ0IiwicHJlZml4IiwiYXBpIiwicG9zdCIsInRoZW4iLCJldmVudHMiLCJpbmNsdWRlcyIsInJlYWRNZXNzYWdlIiwic2VuZFNlZW4iLCJlIiwiY2F0Y2giLCJsb2dnZXIiLCJ3YXJuIiwiZXJyb3IiLCJtZXNzYWdlIiwiaXNNZWRpYSIsImlzTU1TIiwiYnVmZmVyIiwiZGVjcnlwdEZpbGUiLCJoYXNoTmFtZSIsInJhbmRvbUJ5dGVzIiwidG9TdHJpbmciLCJzMyIsImF3cyIsIlMzIiwiYnVja2V0TmFtZSIsImF3c0J1Y2tldE5hbWUiLCJmaWxlTmFtZSIsImV4dGVuc2lvbiIsIm1pbWV0eXBlIiwicGFyYW1zIiwiQnVja2V0IiwiS2V5IiwiQm9keSIsIkFDTCIsIkNvbnRlbnRUeXBlIiwidXBsb2FkIiwicHJvbWlzZSIsImZpbGVVcmwiLCJMb2NhdGlvbiIsImJvZHkiLCJzdGFydEFsbFNlc3Npb25zIiwiaG9zdCIsInBvcnQiLCJzZWNyZXRLZXkiLCJzdGFydEhlbHBlciIsImFsbFVucmVhZE9uU3RhcnQiLCJzZW5kVW5yZWFkIiwiYXJjaGl2ZSIsImluZm8iLCJjaGF0cyIsImdldEFsbENoYXRzV2l0aE1lc3NhZ2VzIiwibGVuZ3RoIiwiaSIsImoiLCJtc2dzIiwiZXgiLCJzbGVlcCIsInRpbWUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJnZXRBbGxDaGF0cyIsImZpbHRlciIsImMiLCJkYXRlIiwiRGF0ZSIsInQiLCJEYXlzQmV0d2VlbiIsImRheXNUb0FyY2hpdmUiLCJhcmNoaXZlQ2hhdCIsImlkIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwid2FpdFRpbWUiLCJTdGFydERhdGUiLCJlbmREYXRlIiwib25lRGF5Iiwic3RhcnQiLCJVVEMiLCJnZXRGdWxsWWVhciIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImVuZCIsImNyZWF0ZUZvbGRlcnMiLCJfX2Rpcm5hbWUiLCJwYXRoIiwiZGlybmFtZSIsImRpckZpbGVzIiwiZnMiLCJleGlzdHNTeW5jIiwibWtkaXJTeW5jIiwiZGlyVXBsb2FkIiwic3RyVG9Cb29sIiwicyIsInRlc3QiLCJnZXRJUEFkZHJlc3MiLCJpbnRlcmZhY2VzIiwib3MiLCJuZXR3b3JrSW50ZXJmYWNlcyIsImRldk5hbWUiLCJpZmFjZSIsImFsaWFzIiwiZmFtaWx5IiwiYWRkcmVzcyIsImludGVybmFsIiwic2V0TWF4TGlzdG5lcnMiLCJOdW1iZXIiLCJpc0ludGVnZXIiLCJtYXhMaXN0ZW5lcnMiLCJwcm9jZXNzIiwic2V0TWF4TGlzdGVuZXJzIiwidW5saW5rQXN5bmMiLCJwcm9taXNpZnkiLCJ1bmxpbmsiLCJleHBvcnRzIiwiY3JlYXRlQ2F0YWxvZ0xpbmsiLCJ3aWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9mdW5jdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIxIFdQUENvbm5lY3QgVGVhbVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IGF3cyBmcm9tICdhd3Mtc2RrJztcbmltcG9ydCBhcGkgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IENyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBtaW1ldHlwZXMgZnJvbSAnbWltZS10eXBlcyc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcblxuaW1wb3J0IGNvbmZpZyBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgY29udmVydCB9IGZyb20gJy4uL21hcHBlci9pbmRleCc7XG5pbXBvcnQgeyBTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvU2VydmVyT3B0aW9ucyc7XG5cbmxldCBtaW1lOiBhbnksIGNyeXB0bzogYW55OyAvLywgYXdzOiBhbnk7XG5pZiAoY29uZmlnLndlYmhvb2sudXBsb2FkUzMpIHtcbiAgbWltZSA9IGNvbmZpZy53ZWJob29rLnVwbG9hZFMzID8gbWltZXR5cGVzIDogbnVsbDtcbiAgY3J5cHRvID0gY29uZmlnLndlYmhvb2sudXBsb2FkUzMgPyBDcnlwdG8gOiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udGFjdFRvQXJyYXkobnVtYmVyOiBhbnksIGlzR3JvdXA/OiBib29sZWFuKSB7XG4gIGNvbnN0IGxvY2FsQXJyOiBhbnkgPSBbXTtcbiAgaWYgKEFycmF5LmlzQXJyYXkobnVtYmVyKSkge1xuICAgIGZvciAobGV0IGNvbnRhY3Qgb2YgbnVtYmVyKSB7XG4gICAgICBpc0dyb3VwXG4gICAgICAgID8gKGNvbnRhY3QgPSBjb250YWN0LnNwbGl0KCdAJylbMF0pXG4gICAgICAgIDogKGNvbnRhY3QgPSBjb250YWN0LnNwbGl0KCdAJylbMF0/LnJlcGxhY2UoL1teXFx3IF0vZywgJycpKTtcbiAgICAgIGlmIChjb250YWN0ICE9PSAnJylcbiAgICAgICAgaWYgKGlzR3JvdXApIChsb2NhbEFyciBhcyBhbnkpLnB1c2goYCR7Y29udGFjdH1AZy51c2ApO1xuICAgICAgICBlbHNlIChsb2NhbEFyciBhcyBhbnkpLnB1c2goYCR7Y29udGFjdH1AYy51c2ApO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBhcnJDb250YWN0cyA9IG51bWJlci5zcGxpdCgvXFxzKlssO11cXHMqL2cpO1xuICAgIGZvciAobGV0IGNvbnRhY3Qgb2YgYXJyQ29udGFjdHMpIHtcbiAgICAgIGlzR3JvdXBcbiAgICAgICAgPyAoY29udGFjdCA9IGNvbnRhY3Quc3BsaXQoJ0AnKVswXSlcbiAgICAgICAgOiAoY29udGFjdCA9IGNvbnRhY3Quc3BsaXQoJ0AnKVswXT8ucmVwbGFjZSgvW15cXHcgXS9nLCAnJykpO1xuICAgICAgaWYgKGNvbnRhY3QgIT09ICcnKVxuICAgICAgICBpZiAoaXNHcm91cCkgKGxvY2FsQXJyIGFzIGFueSkucHVzaChgJHtjb250YWN0fUBnLnVzYCk7XG4gICAgICAgIGVsc2UgKGxvY2FsQXJyIGFzIGFueSkucHVzaChgJHtjb250YWN0fUBjLnVzYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxvY2FsQXJyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBUb0FycmF5KGdyb3VwOiBhbnkpIHtcbiAgY29uc3QgbG9jYWxBcnI6IGFueSA9IFtdO1xuICBpZiAoQXJyYXkuaXNBcnJheShncm91cCkpIHtcbiAgICBmb3IgKGxldCBjb250YWN0IG9mIGdyb3VwKSB7XG4gICAgICBjb250YWN0ID0gY29udGFjdC5zcGxpdCgnQCcpWzBdO1xuICAgICAgaWYgKGNvbnRhY3QgIT09ICcnKSAobG9jYWxBcnIgYXMgYW55KS5wdXNoKGAke2NvbnRhY3R9QGcudXNgKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYXJyQ29udGFjdHMgPSBncm91cC5zcGxpdCgvXFxzKlssO11cXHMqL2cpO1xuICAgIGZvciAobGV0IGNvbnRhY3Qgb2YgYXJyQ29udGFjdHMpIHtcbiAgICAgIGNvbnRhY3QgPSBjb250YWN0LnNwbGl0KCdAJylbMF07XG4gICAgICBpZiAoY29udGFjdCAhPT0gJycpIChsb2NhbEFyciBhcyBhbnkpLnB1c2goYCR7Y29udGFjdH1AZy51c2ApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsb2NhbEFycjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwTmFtZVRvQXJyYXkoZ3JvdXA6IGFueSkge1xuICBjb25zdCBsb2NhbEFycjogYW55ID0gW107XG4gIGlmIChBcnJheS5pc0FycmF5KGdyb3VwKSkge1xuICAgIGZvciAoY29uc3QgY29udGFjdCBvZiBncm91cCkge1xuICAgICAgaWYgKGNvbnRhY3QgIT09ICcnKSAobG9jYWxBcnIgYXMgYW55KS5wdXNoKGAke2NvbnRhY3R9YCk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IGFyckNvbnRhY3RzID0gZ3JvdXAuc3BsaXQoL1xccypbLDtdXFxzKi9nKTtcbiAgICBmb3IgKGNvbnN0IGNvbnRhY3Qgb2YgYXJyQ29udGFjdHMpIHtcbiAgICAgIGlmIChjb250YWN0ICE9PSAnJykgKGxvY2FsQXJyIGFzIGFueSkucHVzaChgJHtjb250YWN0fWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsb2NhbEFycjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNhbGxXZWJIb29rKFxuICBjbGllbnQ6IGFueSxcbiAgcmVxOiBhbnksXG4gIGV2ZW50OiBhbnksXG4gIGRhdGE6IGFueVxuKSB7XG4gIGNvbnN0IHdlYmhvb2sgPVxuICAgIGNsaWVudD8uY29uZmlnLndlYmhvb2sgfHwgcmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay51cmwgfHwgZmFsc2U7XG4gIGlmICh3ZWJob29rKSB7XG4gICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2suYXV0b0Rvd25sb2FkKVxuICAgICAgYXdhaXQgYXV0b0Rvd25sb2FkKGNsaWVudCwgcmVxLCBkYXRhKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY2hhdElkID1cbiAgICAgICAgZGF0YS5mcm9tIHx8XG4gICAgICAgIGRhdGEuY2hhdElkIHx8XG4gICAgICAgIChkYXRhLmNoYXRJZCA/IGRhdGEuY2hhdElkLl9zZXJpYWxpemVkIDogbnVsbCk7XG4gICAgICBkYXRhID0gT2JqZWN0LmFzc2lnbih7IGV2ZW50OiBldmVudCwgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24gfSwgZGF0YSk7XG4gICAgICBpZiAocmVxLnNlcnZlck9wdGlvbnMubWFwcGVyLmVuYWJsZSlcbiAgICAgICAgZGF0YSA9IGF3YWl0IGNvbnZlcnQocmVxLnNlcnZlck9wdGlvbnMubWFwcGVyLnByZWZpeCwgZGF0YSk7XG4gICAgICBhcGlcbiAgICAgICAgLnBvc3Qod2ViaG9vaywgZGF0YSlcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBldmVudHMgPSBbJ3VucmVhZG1lc3NhZ2VzJywgJ29ubWVzc2FnZSddO1xuICAgICAgICAgICAgaWYgKGV2ZW50cy5pbmNsdWRlcyhldmVudCkgJiYgcmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay5yZWFkTWVzc2FnZSlcbiAgICAgICAgICAgICAgY2xpZW50LnNlbmRTZWVuKGNoYXRJZCk7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgcmVxLmxvZ2dlci53YXJuKCdFcnJvciBjYWxsaW5nIFdlYmhvb2suJywgZSk7XG4gICAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gICAgfVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGF1dG9Eb3dubG9hZChjbGllbnQ6IGFueSwgcmVxOiBhbnksIG1lc3NhZ2U6IGFueSkge1xuICB0cnkge1xuICAgIGlmIChtZXNzYWdlICYmIChtZXNzYWdlWydtaW1ldHlwZSddIHx8IG1lc3NhZ2UuaXNNZWRpYSB8fCBtZXNzYWdlLmlzTU1TKSkge1xuICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgY2xpZW50LmRlY3J5cHRGaWxlKG1lc3NhZ2UpO1xuICAgICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2sudXBsb2FkUzMpIHtcbiAgICAgICAgY29uc3QgaGFzaE5hbWUgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMjQpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgICAgICBjb25zdCBzMyA9IG5ldyBhd3MuUzMoKTtcbiAgICAgICAgY29uc3QgYnVja2V0TmFtZSA9IGNvbmZpZy53ZWJob29rPy5hd3NCdWNrZXROYW1lXG4gICAgICAgICAgPyBjb25maWcud2ViaG9vaz8uYXdzQnVja2V0TmFtZVxuICAgICAgICAgIDogY2xpZW50LnNlc3Npb247XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7XG4gICAgICAgICAgY29uZmlnLndlYmhvb2s/LmF3c0J1Y2tldE5hbWUgPyBjbGllbnQuc2Vzc2lvbiArICcvJyA6ICcnXG4gICAgICAgIH0ke2hhc2hOYW1lfS4ke21pbWUuZXh0ZW5zaW9uKG1lc3NhZ2UubWltZXR5cGUpfWA7XG5cbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgIEJ1Y2tldDogYnVja2V0TmFtZSxcbiAgICAgICAgICBLZXk6IGZpbGVOYW1lLFxuICAgICAgICAgIEJvZHk6IGJ1ZmZlcixcbiAgICAgICAgICBBQ0w6ICdwdWJsaWMtcmVhZCcsXG4gICAgICAgICAgQ29udGVudFR5cGU6IG1lc3NhZ2UubWltZXR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBzMy51cGxvYWQocGFyYW1zKS5wcm9taXNlKCk7XG4gICAgICAgIG1lc3NhZ2UuZmlsZVVybCA9IGRhdGEuTG9jYXRpb247XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlLmJvZHkgPSBhd2FpdCBidWZmZXIudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIHJlcS5sb2dnZXIuZXJyb3IoZSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0QWxsU2Vzc2lvbnMoY29uZmlnOiBhbnksIGxvZ2dlcjogYW55KSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgYXBpLnBvc3QoXG4gICAgICBgJHtjb25maWcuaG9zdH06JHtjb25maWcucG9ydH0vYXBpLyR7Y29uZmlnLnNlY3JldEtleX0vc3RhcnQtYWxsYFxuICAgICk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZXJyb3IoZSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0SGVscGVyKGNsaWVudDogYW55LCByZXE6IGFueSkge1xuICBpZiAocmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay5hbGxVbnJlYWRPblN0YXJ0KSBhd2FpdCBzZW5kVW5yZWFkKGNsaWVudCwgcmVxKTtcblxuICBpZiAocmVxLnNlcnZlck9wdGlvbnMuYXJjaGl2ZS5lbmFibGUpIGF3YWl0IGFyY2hpdmUoY2xpZW50LCByZXEpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzZW5kVW5yZWFkKGNsaWVudDogYW55LCByZXE6IGFueSkge1xuICByZXEubG9nZ2VyLmluZm8oYCR7Y2xpZW50LnNlc3Npb259IDogSW5pY2lvIGVudmlhciBtZW5zYWdlbnMgbsOjbyBsaWRhc2ApO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgY2hhdHMgPSBhd2FpdCBjbGllbnQuZ2V0QWxsQ2hhdHNXaXRoTWVzc2FnZXModHJ1ZSk7XG5cbiAgICBpZiAoY2hhdHMgJiYgY2hhdHMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGF0cy5sZW5ndGg7IGkrKylcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBjaGF0c1tpXS5tc2dzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgY2FsbFdlYkhvb2soY2xpZW50LCByZXEsICd1bnJlYWRtZXNzYWdlcycsIGNoYXRzW2ldLm1zZ3Nbal0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVxLmxvZ2dlci5pbmZvKGAke2NsaWVudC5zZXNzaW9ufSA6IEZpbSBlbnZpYXIgbWVuc2FnZW5zIG7Do28gbGlkYXNgKTtcbiAgfSBjYXRjaCAoZXgpIHtcbiAgICByZXEubG9nZ2VyLmVycm9yKGV4KTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBhcmNoaXZlKGNsaWVudDogYW55LCByZXE6IGFueSkge1xuICBhc3luYyBmdW5jdGlvbiBzbGVlcCh0aW1lOiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgdGltZSAqIDEwKSk7XG4gIH1cblxuICByZXEubG9nZ2VyLmluZm8oYCR7Y2xpZW50LnNlc3Npb259IDogSW5pY2lvIGFycXVpdmFuZG8gY2hhdHNgKTtcblxuICB0cnkge1xuICAgIGxldCBjaGF0cyA9IGF3YWl0IGNsaWVudC5nZXRBbGxDaGF0cygpO1xuICAgIGlmIChjaGF0cyAmJiBBcnJheS5pc0FycmF5KGNoYXRzKSAmJiBjaGF0cy5sZW5ndGggPiAwKSB7XG4gICAgICBjaGF0cyA9IGNoYXRzLmZpbHRlcigoYykgPT4gIWMuYXJjaGl2ZSk7XG4gICAgfVxuICAgIGlmIChjaGF0cyAmJiBBcnJheS5pc0FycmF5KGNoYXRzKSAmJiBjaGF0cy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoYXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShjaGF0c1tpXS50ICogMTAwMCk7XG5cbiAgICAgICAgaWYgKERheXNCZXR3ZWVuKGRhdGUpID4gcmVxLnNlcnZlck9wdGlvbnMuYXJjaGl2ZS5kYXlzVG9BcmNoaXZlKSB7XG4gICAgICAgICAgYXdhaXQgY2xpZW50LmFyY2hpdmVDaGF0KFxuICAgICAgICAgICAgY2hhdHNbaV0uaWQuaWQgfHwgY2hhdHNbaV0uaWQuX3NlcmlhbGl6ZWQsXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBhd2FpdCBzbGVlcChcbiAgICAgICAgICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHJlcS5zZXJ2ZXJPcHRpb25zLmFyY2hpdmUud2FpdFRpbWUgKyAxKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmVxLmxvZ2dlci5pbmZvKGAke2NsaWVudC5zZXNzaW9ufSA6IEZpbSBhcnF1aXZhbmRvIGNoYXRzYCk7XG4gIH0gY2F0Y2ggKGV4KSB7XG4gICAgcmVxLmxvZ2dlci5lcnJvcihleCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gRGF5c0JldHdlZW4oU3RhcnREYXRlOiBEYXRlKSB7XG4gIGNvbnN0IGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuICAvLyBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBpbiBhbGwgVVRDIGRheXMgKG5vIERTVClcbiAgY29uc3Qgb25lRGF5ID0gMTAwMCAqIDYwICogNjAgKiAyNDtcblxuICAvLyBBIGRheSBpbiBVVEMgYWx3YXlzIGxhc3RzIDI0IGhvdXJzICh1bmxpa2UgaW4gb3RoZXIgdGltZSBmb3JtYXRzKVxuICBjb25zdCBzdGFydCA9IERhdGUuVVRDKFxuICAgIGVuZERhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICBlbmREYXRlLmdldE1vbnRoKCksXG4gICAgZW5kRGF0ZS5nZXREYXRlKClcbiAgKTtcbiAgY29uc3QgZW5kID0gRGF0ZS5VVEMoXG4gICAgU3RhcnREYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgU3RhcnREYXRlLmdldE1vbnRoKCksXG4gICAgU3RhcnREYXRlLmdldERhdGUoKVxuICApO1xuXG4gIC8vIHNvIGl0J3Mgc2FmZSB0byBkaXZpZGUgYnkgMjQgaG91cnNcbiAgcmV0dXJuIChzdGFydCAtIGVuZCkgLyBvbmVEYXk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb2xkZXJzKCkge1xuICBjb25zdCBfX2Rpcm5hbWUgPSBwYXRoLnJlc29sdmUocGF0aC5kaXJuYW1lKCcnKSk7XG4gIGNvbnN0IGRpckZpbGVzID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ1doYXRzQXBwSW1hZ2VzJyk7XG4gIGlmICghZnMuZXhpc3RzU3luYyhkaXJGaWxlcykpIHtcbiAgICBmcy5ta2RpclN5bmMoZGlyRmlsZXMpO1xuICB9XG5cbiAgY29uc3QgZGlyVXBsb2FkID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ3VwbG9hZHMnKTtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGRpclVwbG9hZCkpIHtcbiAgICBmcy5ta2RpclN5bmMoZGlyVXBsb2FkKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyVG9Cb29sKHM6IHN0cmluZykge1xuICByZXR1cm4gL14odHJ1ZXwxKSQvaS50ZXN0KHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SVBBZGRyZXNzKCkge1xuICBjb25zdCBpbnRlcmZhY2VzID0gb3MubmV0d29ya0ludGVyZmFjZXMoKTtcbiAgZm9yIChjb25zdCBkZXZOYW1lIGluIGludGVyZmFjZXMpIHtcbiAgICBjb25zdCBpZmFjZTogYW55ID0gaW50ZXJmYWNlc1tkZXZOYW1lXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGlmYWNlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBhbGlhcyA9IGlmYWNlW2ldO1xuICAgICAgaWYgKFxuICAgICAgICBhbGlhcy5mYW1pbHkgPT09ICdJUHY0JyAmJlxuICAgICAgICBhbGlhcy5hZGRyZXNzICE9PSAnMTI3LjAuMC4xJyAmJlxuICAgICAgICAhYWxpYXMuaW50ZXJuYWxcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIGFsaWFzLmFkZHJlc3M7XG4gICAgfVxuICB9XG4gIHJldHVybiAnMC4wLjAuMCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRNYXhMaXN0bmVycyhzZXJ2ZXJPcHRpb25zOiBTZXJ2ZXJPcHRpb25zKSB7XG4gIGlmIChzZXJ2ZXJPcHRpb25zICYmIE51bWJlci5pc0ludGVnZXIoc2VydmVyT3B0aW9ucy5tYXhMaXN0ZW5lcnMpKSB7XG4gICAgcHJvY2Vzcy5zZXRNYXhMaXN0ZW5lcnMoc2VydmVyT3B0aW9ucy5tYXhMaXN0ZW5lcnMpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB1bmxpbmtBc3luYyA9IHByb21pc2lmeShmcy51bmxpbmspO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2F0YWxvZ0xpbmsoc2Vzc2lvbjogYW55KSB7XG4gIGNvbnN0IFt3aWRdID0gc2Vzc2lvbi5zcGxpdCgnQCcpO1xuICByZXR1cm4gYGh0dHBzOi8vd2EubWUvYy8ke3dpZH1g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
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _config = _interopRequireDefault(require("../../../config"));
|
|
2
|
+
var _db = _interopRequireDefault(require("../../db/mongodb/db"));
|
|
2
3
|
|
|
3
|
-
const
|
|
4
|
-
_config.default.tokenStoreType === 'mongodb' ?
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (_config.default.tokenStoreType === 'mongodb') {
|
|
9
|
-
const TokenSchema = new mongoose.Schema({
|
|
4
|
+
const Token =
|
|
5
|
+
_config.default.tokenStoreType === 'mongodb' ?
|
|
6
|
+
_db.default.model(
|
|
7
|
+
'Token',
|
|
8
|
+
new _db.default.Schema({
|
|
10
9
|
WABrowserId: String,
|
|
11
10
|
WASecretBundle: String,
|
|
12
11
|
WAToken1: String,
|
|
@@ -14,9 +13,9 @@ if (_config.default.tokenStoreType === 'mongodb') {
|
|
|
14
13
|
webhook: String,
|
|
15
14
|
config: String,
|
|
16
15
|
sessionName: String
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
})
|
|
17
|
+
) :
|
|
18
|
+
null;var _default =
|
|
20
19
|
|
|
21
20
|
Token;exports.default = _default;
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29uZmlnIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGIiLCJUb2tlbiIsImNvbmZpZyIsInRva2VuU3RvcmVUeXBlIiwibW9uZ29vc2UiLCJtb2RlbCIsIlNjaGVtYSIsIldBQnJvd3NlcklkIiwiU3RyaW5nIiwiV0FTZWNyZXRCdW5kbGUiLCJXQVRva2VuMSIsIldBVG9rZW4yIiwid2ViaG9vayIsInNlc3Npb25OYW1lIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlsL3Rva2VuU3RvcmUvbW9kZWwvdG9rZW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbmZpZyBmcm9tICcuLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IG1vbmdvb3NlIGZyb20gJy4uLy4uL2RiL21vbmdvZGIvZGInO1xuXG5jb25zdCBUb2tlbiA9XG4gIGNvbmZpZy50b2tlblN0b3JlVHlwZSA9PT0gJ21vbmdvZGInXG4gICAgPyBtb25nb29zZS5tb2RlbChcbiAgICAgICAgJ1Rva2VuJyxcbiAgICAgICAgbmV3IG1vbmdvb3NlLlNjaGVtYSh7XG4gICAgICAgICAgV0FCcm93c2VySWQ6IFN0cmluZyxcbiAgICAgICAgICBXQVNlY3JldEJ1bmRsZTogU3RyaW5nLFxuICAgICAgICAgIFdBVG9rZW4xOiBTdHJpbmcsXG4gICAgICAgICAgV0FUb2tlbjI6IFN0cmluZyxcbiAgICAgICAgICB3ZWJob29rOiBTdHJpbmcsXG4gICAgICAgICAgY29uZmlnOiBTdHJpbmcsXG4gICAgICAgICAgc2Vzc2lvbk5hbWU6IFN0cmluZyxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICA6IG51bGw7XG5cbmV4cG9ydCBkZWZhdWx0IFRva2VuO1xuIl0sIm1hcHBpbmdzIjoieUxBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsR0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBOztBQUVBLE1BQU1FLEtBQUs7QUFDVEMsZUFBTSxDQUFDQyxjQUFjLEtBQUssU0FBUztBQUMvQkMsV0FBUSxDQUFDQyxLQUFLO0VBQ1osT0FBTztFQUNQLElBQUlELFdBQVEsQ0FBQ0UsTUFBTSxDQUFDO0lBQ2xCQyxXQUFXLEVBQUVDLE1BQU07SUFDbkJDLGNBQWMsRUFBRUQsTUFBTTtJQUN0QkUsUUFBUSxFQUFFRixNQUFNO0lBQ2hCRyxRQUFRLEVBQUVILE1BQU07SUFDaEJJLE9BQU8sRUFBRUosTUFBTTtJQUNmTixNQUFNLEVBQUVNLE1BQU07SUFDZEssV0FBVyxFQUFFTDtFQUNmLENBQUM7QUFDSCxDQUFDO0FBQ0QsSUFBSSxDQUFDLElBQUFNLFFBQUE7O0FBRUliLEtBQUssQ0FBQWMsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wppconnect/server",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.3",
|
|
4
4
|
"description": "Projeto feito para autenticar a automomacao do WhatsappWeb com multi-clientes de forma dinamica. Backend feito em Nodejs(express, socketio), FrontEnd (ReactJS)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"author": "kingaspx",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@wppconnect-team/wppconnect": "^1.27.
|
|
35
|
+
"@wppconnect-team/wppconnect": "^1.27.1",
|
|
36
36
|
"archiver": "^5.3.1",
|
|
37
37
|
"axios": "^1.4.0",
|
|
38
38
|
"bcrypt": "^5.1.0",
|
|
@@ -78,13 +78,13 @@
|
|
|
78
78
|
"@types/swagger-ui-express": "^4.1.3",
|
|
79
79
|
"@types/unzipper": "^0.10.6",
|
|
80
80
|
"@typescript-eslint/eslint-plugin": "^5.59.8",
|
|
81
|
-
"aws-sdk": "^2.
|
|
81
|
+
"aws-sdk": "^2.1390.0",
|
|
82
82
|
"commitizen": "^4.3.0",
|
|
83
83
|
"conventional-changelog-cli": "^2.2.2",
|
|
84
84
|
"crypto-js": "^4.1.1",
|
|
85
|
-
"eslint": "^8.
|
|
85
|
+
"eslint": "^8.42.0",
|
|
86
86
|
"eslint-config-prettier": "^8.8.0",
|
|
87
|
-
"eslint-config-standard-with-typescript": "^
|
|
87
|
+
"eslint-config-standard-with-typescript": "^35.0.0",
|
|
88
88
|
"eslint-plugin-import": "^2.27.5",
|
|
89
89
|
"eslint-plugin-n": "^16.0.0",
|
|
90
90
|
"eslint-plugin-prettier": "^4.2.1",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"prettier": "^2.8.8",
|
|
98
98
|
"pretty-quick": "^3.1.3",
|
|
99
99
|
"redis": "^4.6.7",
|
|
100
|
-
"release-it": "^15.10.
|
|
100
|
+
"release-it": "^15.10.5",
|
|
101
101
|
"rimraf": "^5.0.1",
|
|
102
102
|
"shx": "^0.3.4",
|
|
103
103
|
"swagger-autogen": "^2.23.1",
|
|
@@ -105,10 +105,10 @@
|
|
|
105
105
|
"ts-loader": "^9.4.3",
|
|
106
106
|
"ts-node": "^10.9.1",
|
|
107
107
|
"typescript": "^5.1.3",
|
|
108
|
-
"webpack-cli": "^5.1.
|
|
108
|
+
"webpack-cli": "^5.1.2"
|
|
109
109
|
},
|
|
110
110
|
"peerDependencies": {
|
|
111
|
-
"aws-sdk": "^2.
|
|
111
|
+
"aws-sdk": "^2.1390.0",
|
|
112
112
|
"crypto-js": "^4.1.1",
|
|
113
113
|
"mongoose": "^7.2.2",
|
|
114
114
|
"redis": "^4.6.7"
|