diff --git a/packages/api/src/controllers/archive.js b/packages/api/src/controllers/archive.js index 6af505abc..6562076d6 100644 --- a/packages/api/src/controllers/archive.js +++ b/packages/api/src/controllers/archive.js @@ -18,8 +18,8 @@ module.exports = { type: 'jsonl', }, ...folders - .filter((x) => x != 'default') - .map((name) => ({ + .filter(x => x != 'default') + .map(name => ({ name, type: 'jsonl', })), @@ -39,8 +39,8 @@ module.exports = { if (!(await fs.exists(dir))) return []; const files = await fs.readdir(dir); return files - .filter((name) => name.endsWith('.jsonl')) - .map((name) => ({ + .filter(name => name.endsWith('.jsonl')) + .map(name => ({ name: name.slice(0, -'.jsonl'.length), type: 'jsonl', })); @@ -84,7 +84,7 @@ module.exports = { }); let structure = null; const rows = []; - liner.on('line', (line) => { + liner.on('line', line => { const data = JSON.parse(line); if (structure) rows.push(data); else structure = data; diff --git a/packages/api/src/controllers/connections.js b/packages/api/src/controllers/connections.js index 2f93458c6..902522c56 100644 --- a/packages/api/src/controllers/connections.js +++ b/packages/api/src/controllers/connections.js @@ -9,7 +9,7 @@ const { encryptConnection } = require('../utility/crypting'); function getPortalCollections() { if (process.env.CONNECTIONS) { - return _.compact(process.env.CONNECTIONS.split(',')).map((id) => ({ + return _.compact(process.env.CONNECTIONS.split(',')).map(id => ({ _id: id, engine: process.env[`ENGINE_${id}`], server: process.env[`SERVER_${id}`], @@ -46,7 +46,7 @@ module.exports = { }, test(req, res) { const subprocess = fork(process.argv[1], ['connectProcess', ...process.argv.slice(3)]); - subprocess.on('message', (resp) => { + subprocess.on('message', resp => { // @ts-ignore const { msgtype } = resp; if (msgtype == 'connected' || msgtype == 'error') { @@ -80,7 +80,7 @@ module.exports = { get_meta: 'get', async get({ conid }) { - if (portalConnections) return portalConnections.find((x) => x._id == conid); + if (portalConnections) return portalConnections.find(x => x._id == conid); const res = await this.datastore.find({ _id: conid }); return res[0]; }, diff --git a/packages/api/src/controllers/files.js b/packages/api/src/controllers/files.js index 828730ce0..efb75d1bc 100644 --- a/packages/api/src/controllers/files.js +++ b/packages/api/src/controllers/files.js @@ -23,7 +23,7 @@ module.exports = { if (!hasPermission(`files/${folder}/read`)) return []; const dir = path.join(filesdir(), folder); if (!(await fs.exists(dir))) return []; - const files = (await fs.readdir(dir)).map((file) => ({ folder, file })); + const files = (await fs.readdir(dir)).map(file => ({ folder, file })); return files; }, @@ -34,7 +34,7 @@ module.exports = { for (const folder of folders) { if (!hasPermission(`files/${folder}/read`)) continue; const dir = path.join(filesdir(), folder); - const files = (await fs.readdir(dir)).map((file) => ({ folder, file })); + const files = (await fs.readdir(dir)).map(file => ({ folder, file })); res.push(...files); } return res; diff --git a/packages/api/src/controllers/metadata.js b/packages/api/src/controllers/metadata.js index 093914a7f..1bcfe90ae 100644 --- a/packages/api/src/controllers/metadata.js +++ b/packages/api/src/controllers/metadata.js @@ -3,7 +3,7 @@ const fp = require('lodash/fp'); const databaseConnections = require('./databaseConnections'); function pickObjectNames(array) { - return _.sortBy(array, (x) => `${x.schemaName}.${x.pureName}`).map(fp.pick(['pureName', 'schemaName'])); + return _.sortBy(array, x => `${x.schemaName}.${x.pureName}`).map(fp.pick(['pureName', 'schemaName'])); } module.exports = { @@ -30,18 +30,18 @@ module.exports = { tableInfo_meta: 'get', async tableInfo({ conid, database, schemaName, pureName }) { const opened = await databaseConnections.ensureOpened(conid, database); - const table = opened.structure.tables.find((x) => x.pureName == pureName && x.schemaName == schemaName); - const allForeignKeys = _.flatten(opened.structure.tables.map((x) => x.foreignKeys)); + const table = opened.structure.tables.find(x => x.pureName == pureName && x.schemaName == schemaName); + const allForeignKeys = _.flatten(opened.structure.tables.map(x => x.foreignKeys)); return { ...table, - dependencies: allForeignKeys.filter((x) => x.refSchemaName == schemaName && x.refTableName == pureName), + dependencies: allForeignKeys.filter(x => x.refSchemaName == schemaName && x.refTableName == pureName), }; }, sqlObjectInfo_meta: 'get', async sqlObjectInfo({ objectTypeField, conid, database, schemaName, pureName }) { const opened = await databaseConnections.ensureOpened(conid, database); - const res = opened.structure[objectTypeField].find((x) => x.pureName == pureName && x.schemaName == schemaName); + const res = opened.structure[objectTypeField].find(x => x.pureName == pureName && x.schemaName == schemaName); return res; }, }; diff --git a/packages/api/src/controllers/plugins.js b/packages/api/src/controllers/plugins.js index a4d6a19b5..f3bfd1bb9 100644 --- a/packages/api/src/controllers/plugins.js +++ b/packages/api/src/controllers/plugins.js @@ -52,7 +52,7 @@ module.exports = { `http://registry.npmjs.com/-/v1/search?text=${encodeURIComponent(filter)}+keywords:dbgateplugin&size=25&from=0` ); const { objects } = resp.data || {}; - return (objects || []).map((x) => x.package); + return (objects || []).map(x => x.package); }, info_meta: 'get', @@ -90,9 +90,7 @@ module.exports = { const files = await fs.readdir(pluginsdir()); const res = []; for (const packageName of files) { - const manifest = await fs - .readFile(path.join(pluginsdir(), packageName, 'package.json')) - .then((x) => JSON.parse(x)); + const manifest = await fs.readFile(path.join(pluginsdir(), packageName, 'package.json')).then(x => JSON.parse(x)); const readmeFile = path.join(pluginsdir(), packageName, 'README.md'); if (await fs.exists(readmeFile)) { manifest.readme = await fs.readFile(readmeFile, { encoding: 'utf-8' }); @@ -119,7 +117,7 @@ module.exports = { await downloadPackage(packageName, dir); } socket.emitChanged(`installed-plugins-changed`); - this.removedPlugins = this.removedPlugins.filter((x) => x != packageName); + this.removedPlugins = this.removedPlugins.filter(x => x != packageName); await this.saveRemovePlugins(); }, @@ -170,7 +168,7 @@ module.exports = { } for (const packageName of Object.keys(preinstallPluginMinimalVersions)) { - const installedVersion = installed.find((x) => x.name == packageName); + const installedVersion = installed.find(x => x.name == packageName); if (installedVersion) { // plugin installed, test, whether upgrade const requiredVersion = preinstallPluginMinimalVersions[packageName]; diff --git a/packages/api/src/controllers/runners.js b/packages/api/src/controllers/runners.js index 74b6e0ac2..4b52723ba 100644 --- a/packages/api/src/controllers/runners.js +++ b/packages/api/src/controllers/runners.js @@ -11,17 +11,17 @@ const { extractShellApiPlugins, extractShellApiFunctionName } = require('dbgate- function extractPlugins(script) { const requireRegex = /\s*\/\/\s*@require\s+([^\s]+)\s*\n/g; const matches = [...script.matchAll(requireRegex)]; - return matches.map((x) => x[1]); + return matches.map(x => x[1]); } -const requirePluginsTemplate = (plugins) => +const requirePluginsTemplate = plugins => plugins .map( - (packageName) => `const ${_.camelCase(packageName)} = require(process.env.PLUGIN_${_.camelCase(packageName)});\n` + packageName => `const ${_.camelCase(packageName)} = require(process.env.PLUGIN_${_.camelCase(packageName)});\n` ) - .join('') + `dbgateApi.registerPlugins(${plugins.map((x) => _.camelCase(x)).join(',')});\n`; + .join('') + `dbgateApi.registerPlugins(${plugins.map(x => _.camelCase(x)).join(',')});\n`; -const scriptTemplate = (script) => ` +const scriptTemplate = script => ` const dbgateApi = require(process.env.DBGATE_API); ${requirePluginsTemplate(extractPlugins(script))} require=null; @@ -97,20 +97,20 @@ module.exports = { stdio: ['ignore', 'pipe', 'pipe', 'ipc'], env: { DBGATE_API: process.argv[1], - ..._.fromPairs(pluginNames.map((name) => [`PLUGIN_${_.camelCase(name)}`, path.join(pluginsdir(), name)])), + ..._.fromPairs(pluginNames.map(name => [`PLUGIN_${_.camelCase(name)}`, path.join(pluginsdir(), name)])), }, }); - const pipeDispatcher = (severity) => (data) => + const pipeDispatcher = severity => data => this.dispatchMessage(runid, { severity, message: data.toString().trim() }); byline(subprocess.stdout).on('data', pipeDispatcher('info')); byline(subprocess.stderr).on('data', pipeDispatcher('error')); - subprocess.on('exit', (code) => { + subprocess.on('exit', code => { this.rejectRequest(runid, { message: 'No data retured, maybe input data source is too big' }); console.log('... EXIT process', code); socket.emit(`runner-done-${runid}`, code); }); - subprocess.on('error', (error) => { + subprocess.on('error', error => { this.rejectRequest(runid, { message: error && (error.message || error.toString()) }); console.error('... ERROR subprocess', error); this.dispatchMessage({ @@ -138,7 +138,7 @@ module.exports = { cancel_meta: 'post', async cancel({ runid }) { - const runner = this.opened.find((x) => x.runid == runid); + const runner = this.opened.find(x => x.runid == runid); if (!runner) { throw new Error('Invalid runner'); } diff --git a/packages/api/src/controllers/scheduler.js b/packages/api/src/controllers/scheduler.js index 5b9130589..0377856ee 100644 --- a/packages/api/src/controllers/scheduler.js +++ b/packages/api/src/controllers/scheduler.js @@ -11,7 +11,7 @@ module.exports = { tasks: [], async unload() { - this.tasks.forEach((x) => x.destroy()); + this.tasks.forEach(x => x.destroy()); this.tasks = []; }, diff --git a/packages/api/src/controllers/serverConnections.js b/packages/api/src/controllers/serverConnections.js index a33fbf9f2..a5e92ebe9 100644 --- a/packages/api/src/controllers/serverConnections.js +++ b/packages/api/src/controllers/serverConnections.js @@ -8,13 +8,13 @@ module.exports = { closed: {}, handle_databases(conid, { databases }) { - const existing = this.opened.find((x) => x.conid == conid); + const existing = this.opened.find(x => x.conid == conid); if (!existing) return; existing.databases = databases; socket.emitChanged(`database-list-changed-${conid}`); }, handle_status(conid, { status }) { - const existing = this.opened.find((x) => x.conid == conid); + const existing = this.opened.find(x => x.conid == conid); if (!existing) return; existing.status = status; socket.emitChanged(`server-status-changed`); @@ -22,7 +22,7 @@ module.exports = { handle_ping() {}, async ensureOpened(conid) { - const existing = this.opened.find((x) => x.conid == conid); + const existing = this.opened.find(x => x.conid == conid); if (existing) return existing; const connection = await connections.get({ conid }); const subprocess = fork(process.argv[1], ['serverConnectionProcess', ...process.argv.slice(3)]); @@ -53,11 +53,11 @@ module.exports = { }, close(conid, kill = true) { - const existing = this.opened.find((x) => x.conid == conid); + const existing = this.opened.find(x => x.conid == conid); if (existing) { existing.disconnected = true; if (kill) existing.subprocess.kill(); - this.opened = this.opened.filter((x) => x.conid != conid); + this.opened = this.opened.filter(x => x.conid != conid); this.closed[conid] = { ...existing.status, name: 'error', diff --git a/packages/api/src/controllers/sessions.js b/packages/api/src/controllers/sessions.js index a91570d43..f7ec88b55 100644 --- a/packages/api/src/controllers/sessions.js +++ b/packages/api/src/controllers/sessions.js @@ -83,7 +83,7 @@ module.exports = { executeQuery_meta: 'post', async executeQuery({ sesid, sql }) { - const session = this.opened.find((x) => x.sesid == sesid); + const session = this.opened.find(x => x.sesid == sesid); if (!session) { throw new Error('Invalid session'); } @@ -107,7 +107,7 @@ module.exports = { kill_meta: 'post', async kill({ sesid }) { - const session = this.opened.find((x) => x.sesid == sesid); + const session = this.opened.find(x => x.sesid == sesid); if (!session) { throw new Error('Invalid session'); } diff --git a/packages/api/src/currentVersion.js b/packages/api/src/currentVersion.js index 2736eb1c7..53ab48605 100644 --- a/packages/api/src/currentVersion.js +++ b/packages/api/src/currentVersion.js @@ -1,5 +1,4 @@ - -module.exports = { +module.exports = { version: '3.8.6', - buildTime: '2020-12-10T11:14:01.053Z' + buildTime: '2020-12-10T11:14:01.053Z', }; diff --git a/packages/api/src/proc/connectProcess.js b/packages/api/src/proc/connectProcess.js index 8fb780371..dcbe0466b 100644 --- a/packages/api/src/proc/connectProcess.js +++ b/packages/api/src/proc/connectProcess.js @@ -4,7 +4,7 @@ const { decryptConnection } = require('../utility/crypting'); function start() { childProcessChecker(); - process.on('message', async (connection) => { + process.on('message', async connection => { try { const driver = requireEngineDriver(connection); const conn = await driver.connect(decryptConnection(connection)); diff --git a/packages/api/src/proc/databaseConnectionProcess.js b/packages/api/src/proc/databaseConnectionProcess.js index 81c5a8c48..b5f0c6ee3 100644 --- a/packages/api/src/proc/databaseConnectionProcess.js +++ b/packages/api/src/proc/databaseConnectionProcess.js @@ -125,7 +125,7 @@ function start() { } }, 60 * 1000); - process.on('message', async (message) => { + process.on('message', async message => { try { await handleMessage(message); } catch (e) { diff --git a/packages/api/src/proc/jslDatastoreProcess.js b/packages/api/src/proc/jslDatastoreProcess.js index 38d492384..f3299faf1 100644 --- a/packages/api/src/proc/jslDatastoreProcess.js +++ b/packages/api/src/proc/jslDatastoreProcess.js @@ -46,7 +46,7 @@ function start() { } }, 60 * 1000); - process.on('message', async (message) => { + process.on('message', async message => { try { await handleMessage(message); } catch (e) { diff --git a/packages/api/src/proc/serverConnectionProcess.js b/packages/api/src/proc/serverConnectionProcess.js index a3697c015..80aa85156 100644 --- a/packages/api/src/proc/serverConnectionProcess.js +++ b/packages/api/src/proc/serverConnectionProcess.js @@ -94,7 +94,7 @@ function start() { } }, 60 * 1000); - process.on('message', async (message) => { + process.on('message', async message => { try { await handleMessage(message); } catch (err) { diff --git a/packages/api/src/proc/sessionProcess.js b/packages/api/src/proc/sessionProcess.js index 04ff0b1dd..62a6ab572 100644 --- a/packages/api/src/proc/sessionProcess.js +++ b/packages/api/src/proc/sessionProcess.js @@ -181,7 +181,7 @@ async function handleMessage({ msgtype, ...other }) { function start() { childProcessChecker(); - process.on('message', async (message) => { + process.on('message', async message => { try { await handleMessage(message); } catch (e) { diff --git a/packages/api/src/shell/jsonLinesReader.js b/packages/api/src/shell/jsonLinesReader.js index 0a7018bd1..f92f70ddb 100644 --- a/packages/api/src/shell/jsonLinesReader.js +++ b/packages/api/src/shell/jsonLinesReader.js @@ -13,7 +13,7 @@ class ParseStream extends stream.Transform { _transform(chunk, encoding, done) { const obj = JSON.parse(chunk); if (!this.wasHeader) { - if (!this.header) this.push({ columns: Object.keys(obj).map((columnName) => ({ columnName })) }); + if (!this.header) this.push({ columns: Object.keys(obj).map(columnName => ({ columnName })) }); this.wasHeader = true; } if (!this.limitRows || this.rowsWritten < this.limitRows) { diff --git a/packages/api/src/utility/childProcessChecker.js b/packages/api/src/utility/childProcessChecker.js index e065949f8..f1dad6ab1 100644 --- a/packages/api/src/utility/childProcessChecker.js +++ b/packages/api/src/utility/childProcessChecker.js @@ -1,5 +1,5 @@ let counter = 0; - + function childProcessChecker() { setInterval(() => { try { diff --git a/packages/api/src/utility/downloadPackage.js b/packages/api/src/utility/downloadPackage.js index d15add204..37bdb7f43 100644 --- a/packages/api/src/utility/downloadPackage.js +++ b/packages/api/src/utility/downloadPackage.js @@ -15,15 +15,14 @@ function extractTarball(tmpFile, destination) { fs.createReadStream(tmpFile) .pipe(zlib.createGunzip()) .pipe(tar.extract({ cwd: destination })) - .on('error', (err) => reject(err)) + .on('error', err => reject(err)) .on('end', () => resolve()); }); } - function copyDirectory(source, target) { return new Promise((resolve, reject) => { - ncp(source, target, (err) => { + ncp(source, target, err => { if (err) reject(err); resolve(); }); diff --git a/packages/api/src/utility/requireEngineDriver.js b/packages/api/src/utility/requireEngineDriver.js index d263111a9..2a8688f8b 100644 --- a/packages/api/src/utility/requireEngineDriver.js +++ b/packages/api/src/utility/requireEngineDriver.js @@ -1,7 +1,6 @@ const _ = require('lodash'); const requirePlugin = require('../shell/requirePlugin'); - /** @returns {import('dbgate-types').EngineDriver} */ function requireEngineDriver(connection) { let engine = null;