removed uuid dependency from api package

This commit is contained in:
Jan Prochazka
2024-05-20 19:15:03 +02:00
parent 134d8d1b1a
commit 153f40f13e
18 changed files with 20 additions and 38 deletions

View File

@@ -1,7 +1,6 @@
const stableStringify = require('json-stable-stringify'); const stableStringify = require('json-stable-stringify');
const _ = require('lodash'); const _ = require('lodash');
const fp = require('lodash/fp'); const fp = require('lodash/fp');
const uuidv1 = require('uuid/v1');
const { testWrapper } = require('../tools'); const { testWrapper } = require('../tools');
const engines = require('../engines'); const engines = require('../engines');
const { getAlterDatabaseScript, extendDatabaseInfo, generateDbPairingId } = require('dbgate-tools'); const { getAlterDatabaseScript, extendDatabaseInfo, generateDbPairingId } = require('dbgate-tools');

View File

@@ -1,7 +1,6 @@
const stableStringify = require('json-stable-stringify'); const stableStringify = require('json-stable-stringify');
const _ = require('lodash'); const _ = require('lodash');
const fp = require('lodash/fp'); const fp = require('lodash/fp');
const uuidv1 = require('uuid/v1');
const { testWrapper } = require('../tools'); const { testWrapper } = require('../tools');
const engines = require('../engines'); const engines = require('../engines');
const { getAlterTableScript, extendDatabaseInfo, generateDbPairingId } = require('dbgate-tools'); const { getAlterTableScript, extendDatabaseInfo, generateDbPairingId } = require('dbgate-tools');
@@ -76,7 +75,7 @@ describe('Alter table', () => {
tbl.columns.push({ tbl.columns.push({
columnName: 'added', columnName: 'added',
dataType: 'int', dataType: 'int',
pairingId: uuidv1(), pairingId: crypto.randomUUID(),
notNull: false, notNull: false,
autoIncrement: false, autoIncrement: false,
}); });

View File

@@ -57,8 +57,7 @@
"rimraf": "^3.0.0", "rimraf": "^3.0.0",
"simple-encryptor": "^4.0.0", "simple-encryptor": "^4.0.0",
"ssh2": "^1.11.0", "ssh2": "^1.11.0",
"tar": "^6.0.5", "tar": "^6.0.5"
"uuid": "^3.4.0"
}, },
"scripts": { "scripts": {
"start": "env-cmd node src/index.js --listen-api", "start": "env-cmd node src/index.js --listen-api",

View File

@@ -6,7 +6,6 @@ const socket = require('../utility/socket');
const loadFilesRecursive = require('../utility/loadFilesRecursive'); const loadFilesRecursive = require('../utility/loadFilesRecursive');
const getJslFileName = require('../utility/getJslFileName'); const getJslFileName = require('../utility/getJslFileName');
const { getLogger } = require('dbgate-tools'); const { getLogger } = require('dbgate-tools');
const uuidv1 = require('uuid/v1');
const dbgateApi = require('../shell'); const dbgateApi = require('../shell');
const jsldata = require('./jsldata'); const jsldata = require('./jsldata');
const platformInfo = require('../utility/platformInfo'); const platformInfo = require('../utility/platformInfo');
@@ -127,7 +126,7 @@ module.exports = {
return true; return true;
} }
const tmpchangedFilePath = path.join(resolveArchiveFolder(folder), `${file}-${uuidv1()}.jsonl`); const tmpchangedFilePath = path.join(resolveArchiveFolder(folder), `${file}-${crypto.randomUUID()}.jsonl`);
const reader = await dbgateApi.modifyJsonLinesReader({ const reader = await dbgateApi.modifyJsonLinesReader({
fileName: changedFilePath, fileName: changedFilePath,
changeSet, changeSet,

View File

@@ -1,14 +1,13 @@
const axios = require('axios'); const axios = require('axios');
const jwt = require('jsonwebtoken'); const jwt = require('jsonwebtoken');
const getExpressPath = require('../utility/getExpressPath'); const getExpressPath = require('../utility/getExpressPath');
const uuidv1 = require('uuid/v1');
const { getLogins } = require('../utility/hasPermission'); const { getLogins } = require('../utility/hasPermission');
const { getLogger } = require('dbgate-tools'); const { getLogger } = require('dbgate-tools');
const AD = require('activedirectory2').promiseWrapper; const AD = require('activedirectory2').promiseWrapper;
const logger = getLogger('auth'); const logger = getLogger('auth');
const tokenSecret = uuidv1(); const tokenSecret = crypto.randomUUID();
function shouldAuthorizeApi() { function shouldAuthorizeApi() {
const logins = getLogins(); const logins = getLogins();

View File

@@ -1,4 +1,3 @@
const uuidv1 = require('uuid/v1');
const connections = require('./connections'); const connections = require('./connections');
const archive = require('./archive'); const archive = require('./archive');
const socket = require('../utility/socket'); const socket = require('../utility/socket');
@@ -137,7 +136,7 @@ module.exports = {
/** @param {import('dbgate-types').OpenedDatabaseConnection} conn */ /** @param {import('dbgate-types').OpenedDatabaseConnection} conn */
sendRequest(conn, message) { sendRequest(conn, message) {
const msgid = uuidv1(); const msgid = crypto.randomUUID();
const promise = new Promise((resolve, reject) => { const promise = new Promise((resolve, reject) => {
this.requests[msgid] = [resolve, reject]; this.requests[msgid] = [resolve, reject];
try { try {

View File

@@ -1,4 +1,3 @@
const uuidv1 = require('uuid/v1');
const fs = require('fs-extra'); const fs = require('fs-extra');
const path = require('path'); const path = require('path');
const { filesdir, archivedir, resolveArchiveFolder, uploadsdir, appdir } = require('../utility/directories'); const { filesdir, archivedir, resolveArchiveFolder, uploadsdir, appdir } = require('../utility/directories');
@@ -164,7 +163,7 @@ module.exports = {
generateUploadsFile_meta: true, generateUploadsFile_meta: true,
async generateUploadsFile({ extension }) { async generateUploadsFile({ extension }) {
const fileName = `${uuidv1()}.${extension || 'html'}`; const fileName = `${crypto.randomUUID()}.${extension || 'html'}`;
return { return {
fileName, fileName,
filePath: path.join(uploadsdir(), fileName), filePath: path.join(uploadsdir(), fileName),

View File

@@ -1,7 +1,6 @@
const _ = require('lodash'); const _ = require('lodash');
const path = require('path'); const path = require('path');
const fs = require('fs-extra'); const fs = require('fs-extra');
const uuidv1 = require('uuid/v1');
const byline = require('byline'); const byline = require('byline');
const socket = require('../utility/socket'); const socket = require('../utility/socket');
const { fork } = require('child_process'); const { fork } = require('child_process');
@@ -165,7 +164,7 @@ module.exports = {
start_meta: true, start_meta: true,
async start({ script }) { async start({ script }) {
const runid = uuidv1(); const runid = crypto.randomUUID()
if (script.type == 'json') { if (script.type == 'json') {
const js = jsonScriptToJavascript(script); const js = jsonScriptToJavascript(script);
@@ -213,7 +212,7 @@ module.exports = {
loadReader_meta: true, loadReader_meta: true,
async loadReader({ functionName, props }) { async loadReader({ functionName, props }) {
const promise = new Promise((resolve, reject) => { const promise = new Promise((resolve, reject) => {
const runid = uuidv1(); const runid = crypto.randomUUID();
this.requests[runid] = [resolve, reject]; this.requests[runid] = [resolve, reject];
this.startCore(runid, loaderScriptTemplate(functionName, props, runid)); this.startCore(runid, loaderScriptTemplate(functionName, props, runid));
}); });

View File

@@ -1,7 +1,6 @@
const connections = require('./connections'); const connections = require('./connections');
const socket = require('../utility/socket'); const socket = require('../utility/socket');
const { fork } = require('child_process'); const { fork } = require('child_process');
const uuidv1 = require('uuid/v1');
const _ = require('lodash'); const _ = require('lodash');
const AsyncLock = require('async-lock'); const AsyncLock = require('async-lock');
const { handleProcessCommunication } = require('../utility/processComm'); const { handleProcessCommunication } = require('../utility/processComm');
@@ -201,7 +200,7 @@ module.exports = {
}, },
sendRequest(conn, message) { sendRequest(conn, message) {
const msgid = uuidv1(); const msgid = crypto.randomUUID();
const promise = new Promise((resolve, reject) => { const promise = new Promise((resolve, reject) => {
this.requests[msgid] = [resolve, reject]; this.requests[msgid] = [resolve, reject];
try { try {

View File

@@ -1,5 +1,4 @@
const _ = require('lodash'); const _ = require('lodash');
const uuidv1 = require('uuid/v1');
const connections = require('./connections'); const connections = require('./connections');
const socket = require('../utility/socket'); const socket = require('../utility/socket');
const { fork } = require('child_process'); const { fork } = require('child_process');
@@ -85,7 +84,7 @@ module.exports = {
create_meta: true, create_meta: true,
async create({ conid, database }) { async create({ conid, database }) {
const sesid = uuidv1(); const sesid = crypto.randomUUID();
const connection = await connections.getCore({ conid }); const connection = await connections.getCore({ conid });
const subprocess = fork( const subprocess = fork(
global['API_PACKAGE'] || process.argv[1], global['API_PACKAGE'] || process.argv[1],

View File

@@ -1,6 +1,5 @@
const path = require('path'); const path = require('path');
const { uploadsdir } = require('../utility/directories'); const { uploadsdir } = require('../utility/directories');
const uuidv1 = require('uuid/v1');
const { getLogger } = require('dbgate-tools'); const { getLogger } = require('dbgate-tools');
const logger = getLogger('uploads'); const logger = getLogger('uploads');
@@ -15,7 +14,7 @@ module.exports = {
res.json(null); res.json(null);
return; return;
} }
const uploadName = uuidv1(); const uploadName = crypto.randomUUID();
const filePath = path.join(uploadsdir(), uploadName); const filePath = path.join(uploadsdir(), uploadName);
logger.info(`Uploading file ${data.name}, size=${data.size}`); logger.info(`Uploading file ${data.name}, size=${data.size}`);

View File

@@ -1,4 +1,3 @@
const uuidv1 = require('uuid/v1');
const path = require('path'); const path = require('path');
const fs = require('fs'); const fs = require('fs');
const _ = require('lodash'); const _ = require('lodash');
@@ -31,7 +30,7 @@ class TableWriter {
} }
initializeFromQuery(structure, resultIndex) { initializeFromQuery(structure, resultIndex) {
this.jslid = uuidv1(); this.jslid = crypto.randomUUID();
this.currentFile = path.join(jsldir(), `${this.jslid}.jsonl`); this.currentFile = path.join(jsldir(), `${this.jslid}.jsonl`);
fs.writeFileSync( fs.writeFileSync(
this.currentFile, this.currentFile,

View File

@@ -1,11 +1,10 @@
const path = require('path'); const path = require('path');
const uuidv1 = require('uuid/v1');
const { uploadsdir } = require('../utility/directories'); const { uploadsdir } = require('../utility/directories');
const { downloadFile } = require('../utility/downloader'); const { downloadFile } = require('../utility/downloader');
async function download(url) { async function download(url) {
if (url && url.match(/(^http:\/\/)|(^https:\/\/)/)) { if (url && url.match(/(^http:\/\/)|(^https:\/\/)/)) {
const tmpFile = path.join(uploadsdir(), uuidv1()); const tmpFile = path.join(uploadsdir(), crypto.randomUUID());
await downloadFile(url, tmpFile); await downloadFile(url, tmpFile);
return tmpFile; return tmpFile;
} }

View File

@@ -1,5 +1,4 @@
const { fork } = require('child_process'); const { fork } = require('child_process');
const uuidv1 = require('uuid/v1');
const { handleProcessCommunication } = require('./processComm'); const { handleProcessCommunication } = require('./processComm');
const processArgs = require('../utility/processArgs'); const processArgs = require('../utility/processArgs');
const pipeForkLogs = require('./pipeForkLogs'); const pipeForkLogs = require('./pipeForkLogs');
@@ -67,7 +66,7 @@ class DatastoreProxy {
async getRows(offset, limit) { async getRows(offset, limit) {
await this.ensureSubprocess(); await this.ensureSubprocess();
const msgid = uuidv1(); const msgid = crypto.randomUUID();
const promise = new Promise((resolve, reject) => { const promise = new Promise((resolve, reject) => {
this.requests[msgid] = [resolve, reject]; this.requests[msgid] = [resolve, reject];
try { try {
@@ -81,7 +80,7 @@ class DatastoreProxy {
} }
async notifyChangedCore() { async notifyChangedCore() {
const msgid = uuidv1(); const msgid = crypto.randomUUID();
const promise = new Promise((resolve, reject) => { const promise = new Promise((resolve, reject) => {
this.requests[msgid] = [resolve, reject]; this.requests[msgid] = [resolve, reject];
try { try {

View File

@@ -1,6 +1,5 @@
const AsyncLock = require('async-lock'); const AsyncLock = require('async-lock');
const fs = require('fs-extra'); const fs = require('fs-extra');
const uuidv1 = require('uuid/v1');
const lock = new AsyncLock(); const lock = new AsyncLock();
@@ -57,7 +56,7 @@ class JsonLinesDatabase {
? obj ? obj
: { : {
...obj, ...obj,
_id: uuidv1(), _id: crypto.randomUUID(),
}; };
this.data.push(elem); this.data.push(elem);
await this._save(); await this._save();

View File

@@ -8,7 +8,6 @@ const stableStringify = require('json-stable-stringify');
const { evaluateCondition } = require('dbgate-sqltree'); const { evaluateCondition } = require('dbgate-sqltree');
const requirePluginFunction = require('./requirePluginFunction'); const requirePluginFunction = require('./requirePluginFunction');
const esort = require('external-sorting'); const esort = require('external-sorting');
const uuidv1 = require('uuid/v1');
const { jsldir } = require('./directories'); const { jsldir } = require('./directories');
const LineReader = require('./LineReader'); const LineReader = require('./LineReader');
@@ -28,7 +27,7 @@ class JsonLinesDatastore {
} }
static async sortFile(infile, outfile, sort) { static async sortFile(infile, outfile, sort) {
const tempDir = path.join(os.tmpdir(), uuidv1()); const tempDir = path.join(os.tmpdir(), crypto.randomUUID());
fs.mkdirSync(tempDir); fs.mkdirSync(tempDir);
await esort await esort

View File

@@ -1,7 +1,6 @@
// const pacote = require('pacote'); // const pacote = require('pacote');
const axios = require('axios'); const axios = require('axios');
// const tarballExtract = require('tarball-extract'); // const tarballExtract = require('tarball-extract');
const uuidv1 = require('uuid/v1');
const path = require('path'); const path = require('path');
const fs = require('fs'); const fs = require('fs');
const zlib = require('zlib'); const zlib = require('zlib');
@@ -38,9 +37,9 @@ async function downloadPackage(packageName, directory) {
const tarball = infoResp.data.versions[latest].dist.tarball; const tarball = infoResp.data.versions[latest].dist.tarball;
const tmpFile = path.join(uploadsdir(), uuidv1() + '.tgz'); const tmpFile = path.join(uploadsdir(), crypto.randomUUID() + '.tgz');
await downloadFile(tarball, tmpFile); await downloadFile(tarball, tmpFile);
const tmpDir = path.join(uploadsdir(), uuidv1()); const tmpDir = path.join(uploadsdir(), crypto.randomUUID());
fs.mkdirSync(tmpDir); fs.mkdirSync(tmpDir);
await extractTarball(tmpFile, tmpDir); await extractTarball(tmpFile, tmpDir);
await copyDirectory(path.join(tmpDir, 'package'), directory); await copyDirectory(path.join(tmpDir, 'package'), directory);

View File

@@ -1,5 +1,4 @@
const { getLogger } = require('dbgate-tools'); const { getLogger } = require('dbgate-tools');
const uuidv1 = require('uuid/v1');
const { getSshTunnel } = require('./sshTunnel'); const { getSshTunnel } = require('./sshTunnel');
const logger = getLogger('sshTunnelProxy'); const logger = getLogger('sshTunnelProxy');
@@ -22,7 +21,7 @@ function handleGetSshTunnelResponse({ msgid, response }, subprocess) {
async function getSshTunnelProxy(connection) { async function getSshTunnelProxy(connection) {
if (!process.send) return getSshTunnel(connection); if (!process.send) return getSshTunnel(connection);
const msgid = uuidv1(); const msgid = crypto.randomUUID();
process.send({ msgtype: 'getsshtunnel-request', msgid, connection }); process.send({ msgtype: 'getsshtunnel-request', msgid, connection });
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
dispatchedMessages[msgid] = { resolve, reject }; dispatchedMessages[msgid] = { resolve, reject };