diff --git a/client/components/Reader/ContentsPage/ContentsPage.vue b/client/components/Reader/ContentsPage/ContentsPage.vue index 7aab66da..135657aa 100644 --- a/client/components/Reader/ContentsPage/ContentsPage.vue +++ b/client/components/Reader/ContentsPage/ContentsPage.vue @@ -321,21 +321,25 @@ class ContentsPage { } } + getFirstElem(items) { + return (Array.isArray(items) ? items[0] : items); + } + async expandClick(key) { const item = this.contents[key]; const expanded = !item.expanded; if (!expanded) { - const subitems = this.$refs[`subitem${key}`]; + let subitems = this.getFirstElem(this.$refs[`subitem${key}`]); subitems.style.height = '0'; await utils.sleep(200); } - this.contents[key] = Object.assign({}, item, {expanded}); + this.contents[key].expanded = expanded; if (expanded) { await this.$nextTick(); - const subitems = this.$refs[`subitem${key}`]; + let subitems = this.getFirstElem(this.$refs[`subitem${key}`]); subitems.style.height = subitems.scrollHeight + 'px'; } } diff --git a/client/store/modules/reader.js b/client/store/modules/reader.js index e89c154b..8e01554e 100644 --- a/client/store/modules/reader.js +++ b/client/store/modules/reader.js @@ -222,9 +222,6 @@ const libsDefaults = { {r: 'http://flibusta.is', s: 'http://flibusta.is', list: [ {l: 'http://flibusta.is', c: 'Флибуста | Книжное братство'}, ]}, - {r: 'https://flibs.in', s: 'https://flibs.in', list: [ - {l: 'https://flibs.in', c: 'Flibs'}, - ]}, {r: 'http://fantasy-worlds.org', s: 'http://fantasy-worlds.org', list: [ {l: 'http://fantasy-worlds.org', c: 'Миры Фэнтези'}, ]}, diff --git a/docs/liberama.top/liberama b/docs/liberama.top/liberama index ba59a6a4..7349e971 100644 --- a/docs/liberama.top/liberama +++ b/docs/liberama.top/liberama @@ -18,7 +18,7 @@ server { server_name liberama.top; - client_max_body_size 50m; + client_max_body_size 100m; proxy_read_timeout 1h; gzip on; @@ -63,7 +63,7 @@ server { listen 80; server_name b.liberama.top; - client_max_body_size 50m; + client_max_body_size 100m; proxy_read_timeout 1h; gzip on; diff --git a/docs/omnireader.ru/cron_server.sh b/docs/omnireader.ru/cron_server.sh index 3ad24ab8..9d2ac9b8 100755 --- a/docs/omnireader.ru/cron_server.sh +++ b/docs/omnireader.ru/cron_server.sh @@ -1,7 +1,7 @@ #!/bin/bash if ! pgrep -x "liberama" > /dev/null ; then - sudo -H -u www-data bash -c "cd /var/www; /home/liberama/liberama" + sudo -H -u www-data bash -c "cd /var/www; /home/liberama/liberama >/dev/null" else echo "Process 'liberama' already running" fi diff --git a/docs/omnireader.ru/omnireader b/docs/omnireader.ru/omnireader index 5ba759bd..a6d4e8c2 100644 --- a/docs/omnireader.ru/omnireader +++ b/docs/omnireader.ru/omnireader @@ -7,7 +7,7 @@ server { server_name omnireader.ru; - client_max_body_size 50m; + client_max_body_size 100m; proxy_read_timeout 1h; gzip on; @@ -52,7 +52,7 @@ server { listen 80; server_name old.omnireader.ru; - client_max_body_size 50m; + client_max_body_size 100m; gzip on; gzip_min_length 1024; diff --git a/docs/omnireader.ru/start_server.sh b/docs/omnireader.ru/start_server.sh index d50f347d..ddb2e6b3 100755 --- a/docs/omnireader.ru/start_server.sh +++ b/docs/omnireader.ru/start_server.sh @@ -1,4 +1,4 @@ #!/bin/bash -sudo -H -u www-data bash -c "cd /var/www; /home/liberama/liberama" & disown +sudo -H -u www-data bash -c "cd /var/www; /home/liberama/liberama >/dev/null & disown" sudo service cron start diff --git a/package-lock.json b/package-lock.json index 11e9411c..47144f71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,11 +25,11 @@ "localforage": "^1.10.0", "lodash": "^4.17.21", "minimist": "^1.2.5", - "multer": "^1.4.3", + "multer": "^1.4.5-lts.1", "pako": "^2.0.4", "path-browserify": "^1.0.1", "pidusage": "^3.0.0", - "quasar": "^2.3.2", + "quasar": "^2.7.5", "safe-buffer": "^5.2.1", "sanitize-html": "^2.5.3", "sjcl": "^1.0.8", @@ -38,8 +38,8 @@ "sqlite3": "^5.0.2", "tar-fs": "^2.1.1", "unbzip2-stream": "^1.4.3", - "vue": "^3.2.22", - "vue-router": "^4.0.12", + "vue": "^3.2.37", + "vue-router": "^4.1.1", "vuex": "^4.0.2", "vuex-persistedstate": "^4.1.0", "webdav": "^4.7.0", @@ -61,7 +61,7 @@ "css-loader": "^6.5.1", "css-minimizer-webpack-plugin": "^4.0.0", "eslint": "^8.19.0", - "eslint-plugin-vue": "^9.1.1", + "eslint-plugin-vue": "^9.2.0", "html-webpack-plugin": "^5.5.0", "mini-css-extract-plugin": "^2.4.4", "pkg": "^5.5.1", @@ -3239,15 +3239,14 @@ } }, "node_modules/busboy": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", - "integrity": "sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { - "dicer": "0.2.5", - "readable-stream": "1.1.x" + "streamsearch": "^1.1.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=10.16.0" } }, "node_modules/byte-length": { @@ -4348,18 +4347,6 @@ "node": ">=0.10" } }, - "node_modules/dicer": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", - "integrity": "sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==", - "dependencies": { - "readable-stream": "1.1.x", - "streamsearch": "0.1.2" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -4785,9 +4772,9 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.1.1.tgz", - "integrity": "sha512-W9n5PB1X2jzC7CK6riG0oAcxjmKrjTF6+keL1rni8n57DZeilx/Fulz+IRJK3lYseLNAygN0I62L7DvioW40Tw==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.2.0.tgz", + "integrity": "sha512-W2hc+NUXoce8sZtWgZ45miQTy6jNyuSdub5aZ1IBune4JDeAyzucYX0TzkrQ1jMO52sNUDYlCIHDoaNePe0p5g==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", @@ -6429,11 +6416,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -7242,22 +7224,20 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multer": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", - "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", - "deprecated": "Multer 1.x is affected by CVE-2022-24434. This is fixed in v1.4.4-lts.1 which drops support for versions of Node.js before 6. Please upgrade to at least Node.js 6 and version 1.4.4-lts.1 of Multer. If you need support for older versions of Node.js, we are open to accepting patches that would fix the CVE on the main 1.x release line, whilst maintaining compatibility with Node.js 0.10.", + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", "dependencies": { "append-field": "^1.0.0", - "busboy": "^0.2.11", + "busboy": "^1.0.0", "concat-stream": "^1.5.2", "mkdirp": "^0.5.4", "object-assign": "^4.1.1", - "on-finished": "^2.3.0", "type-is": "^1.6.4", "xtend": "^4.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 6.0.0" } }, "node_modules/multistream": { @@ -8802,9 +8782,9 @@ } }, "node_modules/quasar": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.7.4.tgz", - "integrity": "sha512-8OIa6azm7N6QUPjcZ5AhDCEBha5NnNqt+D1BMIteqaSqkVKFYBf+FMhUCC8R/Tc6Myz85vK7KGPn9tvaC6gXYQ==", + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.7.5.tgz", + "integrity": "sha512-DWI0S+bXASfMSPrB8c/LVsXpA4dF7cBUbaJlcrM+1ioTNBHtiudma2Nhk2SDd5bzk9AYVHh5A8JCZuKqQAXt7g==", "engines": { "node": ">= 10.18.1", "npm": ">= 6.13.4", @@ -8924,17 +8904,6 @@ "node": ">=0.10.0" } }, - "node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, "node_modules/rechoir": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", @@ -9735,18 +9704,13 @@ } }, "node_modules/streamsearch": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", - "integrity": "sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { - "node": ">=0.8.0" + "node": ">=10.0.0" } }, - "node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, "node_modules/string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -10611,11 +10575,11 @@ } }, "node_modules/vue-router": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.16.tgz", - "integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.1.tgz", + "integrity": "sha512-Wp1mEf2xCwT0ez7o9JvgpfBp9JGnVb+dPERzXDbugTatzJAJ60VWOhJKifQty85k+jOreoFHER4r5fu062PhPw==", "dependencies": { - "@vue/devtools-api": "^6.0.0" + "@vue/devtools-api": "^6.1.4" }, "funding": { "url": "https://github.com/sponsors/posva" @@ -13960,12 +13924,11 @@ "dev": true }, "busboy": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", - "integrity": "sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "requires": { - "dicer": "0.2.5", - "readable-stream": "1.1.x" + "streamsearch": "^1.1.0" } }, "byte-length": { @@ -14792,15 +14755,6 @@ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "dev": true }, - "dicer": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", - "integrity": "sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==", - "requires": { - "readable-stream": "1.1.x", - "streamsearch": "0.1.2" - } - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -15220,9 +15174,9 @@ } }, "eslint-plugin-vue": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.1.1.tgz", - "integrity": "sha512-W9n5PB1X2jzC7CK6riG0oAcxjmKrjTF6+keL1rni8n57DZeilx/Fulz+IRJK3lYseLNAygN0I62L7DvioW40Tw==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.2.0.tgz", + "integrity": "sha512-W2hc+NUXoce8sZtWgZ45miQTy6jNyuSdub5aZ1IBune4JDeAyzucYX0TzkrQ1jMO52sNUDYlCIHDoaNePe0p5g==", "dev": true, "requires": { "eslint-utils": "^3.0.0", @@ -16340,11 +16294,6 @@ "call-bind": "^1.0.2" } }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -16980,16 +16929,15 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multer": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", - "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", "requires": { "append-field": "^1.0.0", - "busboy": "^0.2.11", + "busboy": "^1.0.0", "concat-stream": "^1.5.2", "mkdirp": "^0.5.4", "object-assign": "^4.1.1", - "on-finished": "^2.3.0", "type-is": "^1.6.4", "xtend": "^4.0.0" } @@ -18077,9 +18025,9 @@ } }, "quasar": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.7.4.tgz", - "integrity": "sha512-8OIa6azm7N6QUPjcZ5AhDCEBha5NnNqt+D1BMIteqaSqkVKFYBf+FMhUCC8R/Tc6Myz85vK7KGPn9tvaC6gXYQ==" + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.7.5.tgz", + "integrity": "sha512-DWI0S+bXASfMSPrB8c/LVsXpA4dF7cBUbaJlcrM+1ioTNBHtiudma2Nhk2SDd5bzk9AYVHh5A8JCZuKqQAXt7g==" }, "querystring": { "version": "0.2.1", @@ -18158,17 +18106,6 @@ } } }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, "rechoir": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", @@ -18773,14 +18710,9 @@ } }, "streamsearch": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", - "integrity": "sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" }, "string-width": { "version": "1.0.2", @@ -19424,11 +19356,11 @@ } }, "vue-router": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.16.tgz", - "integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.1.tgz", + "integrity": "sha512-Wp1mEf2xCwT0ez7o9JvgpfBp9JGnVb+dPERzXDbugTatzJAJ60VWOhJKifQty85k+jOreoFHER4r5fu062PhPw==", "requires": { - "@vue/devtools-api": "^6.0.0" + "@vue/devtools-api": "^6.1.4" } }, "vue-style-loader": { diff --git a/package.json b/package.json index 60f9daaf..d5c5d66a 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "css-loader": "^6.5.1", "css-minimizer-webpack-plugin": "^4.0.0", "eslint": "^8.19.0", - "eslint-plugin-vue": "^9.1.1", + "eslint-plugin-vue": "^9.2.0", "html-webpack-plugin": "^5.5.0", "mini-css-extract-plugin": "^2.4.4", "pkg": "^5.5.1", @@ -63,11 +63,11 @@ "localforage": "^1.10.0", "lodash": "^4.17.21", "minimist": "^1.2.5", - "multer": "^1.4.3", + "multer": "^1.4.5-lts.1", "pako": "^2.0.4", "path-browserify": "^1.0.1", "pidusage": "^3.0.0", - "quasar": "^2.3.2", + "quasar": "^2.7.5", "safe-buffer": "^5.2.1", "sanitize-html": "^2.5.3", "sjcl": "^1.0.8", @@ -76,8 +76,8 @@ "sqlite3": "^5.0.2", "tar-fs": "^2.1.1", "unbzip2-stream": "^1.4.3", - "vue": "^3.2.22", - "vue-router": "^4.0.12", + "vue": "^3.2.37", + "vue-router": "^4.1.1", "vuex": "^4.0.2", "vuex-persistedstate": "^4.1.0", "webdav": "^4.7.0", diff --git a/server/core/Logger.js b/server/core/Logger.js index 2d83d56e..0b9dae67 100644 --- a/server/core/Logger.js +++ b/server/core/Logger.js @@ -49,7 +49,7 @@ class BaseLog { this.outputBuffer = []; await this.flushImpl(this.data) - .catch(e => { console.log(e); ayncExit.exit(1); } ); + .catch(e => { console.error(`Logger error: ${e}`); ayncExit.exit(1); } ); this.flushing = false; } @@ -218,6 +218,8 @@ class Logger { } else { console.log(mes); } + + return mes; } async close() { diff --git a/server/core/Reader/JembaReaderStorage.js b/server/core/Reader/JembaReaderStorage.js index 8e7a00e8..258e839f 100644 --- a/server/core/Reader/JembaReaderStorage.js +++ b/server/core/Reader/JembaReaderStorage.js @@ -2,6 +2,7 @@ const _ = require('lodash'); const utils = require('../utils'); const JembaConnManager = require('../../db/JembaConnManager');//singleton +const log = new (require('../AppLogger'))().log;//singleton let instance = null; @@ -20,25 +21,30 @@ class JembaReaderStorage { } async doAction(act) { - if (!_.isObject(act.items)) - throw new Error('items is not an object'); + try { + if (!_.isObject(act.items)) + throw new Error('items is not an object'); - let result = {}; - switch (act.action) { - case 'check': - result = await this.checkItems(act.items); - break; - case 'get': - result = await this.getItems(act.items); - break; - case 'set': - result = await this.setItems(act.items, act.force); - break; - default: - throw new Error('Unknown action'); + let result = {}; + switch (act.action) { + case 'check': + result = await this.checkItems(act.items); + break; + case 'get': + result = await this.getItems(act.items); + break; + case 'set': + result = await this.setItems(act.items, act.force); + break; + default: + throw new Error('Unknown action'); + } + + return result; + } catch (e) { + log(LM_ERR, `JembaReaderStorage: ${e.message}`); + throw e; } - - return result; } async checkItems(items) {