mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-05-01 02:43:59 +00:00
refactor - backend single bundle
This commit is contained in:
@@ -27,7 +27,7 @@ module.exports = {
|
|||||||
raw: true,
|
raw: true,
|
||||||
},
|
},
|
||||||
test(req, res) {
|
test(req, res) {
|
||||||
const subprocess = fork(`${__dirname}/../proc/connectProcess.js`);
|
const subprocess = fork(process.argv[1], ['connectProcess']);
|
||||||
subprocess.on('message', resp => res.json(resp));
|
subprocess.on('message', resp => res.json(resp));
|
||||||
subprocess.send(req.body);
|
subprocess.send(req.body);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ module.exports = {
|
|||||||
const existing = this.opened.find(x => x.conid == conid && x.database == database);
|
const existing = this.opened.find(x => x.conid == conid && x.database == database);
|
||||||
if (existing) return existing;
|
if (existing) return existing;
|
||||||
const connection = await connections.get({ conid });
|
const connection = await connections.get({ conid });
|
||||||
const subprocess = fork(`${__dirname}/../proc/databaseConnectionProcess.js`);
|
const subprocess = fork(process.argv[1], ['databaseConnectionProcess']);
|
||||||
const newOpened = {
|
const newOpened = {
|
||||||
conid,
|
conid,
|
||||||
database,
|
database,
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
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');
|
||||||
@@ -20,7 +19,7 @@ module.exports = {
|
|||||||
const existing = this.opened.find(x => x.conid == conid);
|
const existing = this.opened.find(x => x.conid == conid);
|
||||||
if (existing) return existing;
|
if (existing) return existing;
|
||||||
const connection = await connections.get({ conid });
|
const connection = await connections.get({ conid });
|
||||||
const subprocess = fork(`${__dirname}/../proc/serverConnectionProcess.js`);
|
const subprocess = fork(process.argv[1], ['serverConnectionProcess']);
|
||||||
const newOpened = {
|
const newOpened = {
|
||||||
conid,
|
conid,
|
||||||
subprocess,
|
subprocess,
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
require('./proc');
|
|
||||||
|
|
||||||
module.exports = {};
|
|
||||||
@@ -1,9 +1,3 @@
|
|||||||
const express = require('express');
|
|
||||||
const bodyParser = require('body-parser');
|
|
||||||
const http = require('http');
|
|
||||||
const cors = require('cors');
|
|
||||||
const io = require('socket.io');
|
|
||||||
require('./deps');
|
|
||||||
// require('socket.io-client');
|
// require('socket.io-client');
|
||||||
|
|
||||||
// "socket.io-client": "^2.3.0",
|
// "socket.io-client": "^2.3.0",
|
||||||
@@ -11,29 +5,14 @@ require('./deps');
|
|||||||
// "uuid": "^3.4.0",
|
// "uuid": "^3.4.0",
|
||||||
// "uws": "10.148.1"
|
// "uws": "10.148.1"
|
||||||
|
|
||||||
|
const processName = process.argv[2];
|
||||||
|
if (processName && processName.endsWith('Process')) {
|
||||||
|
const proc = require('./proc');
|
||||||
|
|
||||||
const useController = require('./utility/useController');
|
const module = proc[processName];
|
||||||
const connections = require('./controllers/connections');
|
module.start();
|
||||||
const serverConnections = require('./controllers/serverConnections');
|
} else {
|
||||||
const databaseConnections = require('./controllers/databaseConnections');
|
const main = require('./main');
|
||||||
const tables = require('./controllers/tables');
|
|
||||||
const socket = require('./utility/socket');
|
main.start();
|
||||||
|
}
|
||||||
const app = express();
|
|
||||||
|
|
||||||
const server = http.createServer(app);
|
|
||||||
socket.set(io(server));
|
|
||||||
|
|
||||||
app.use(cors());
|
|
||||||
app.use(bodyParser.json());
|
|
||||||
|
|
||||||
app.get('/', (req, res) => {
|
|
||||||
res.send('DbGate API');
|
|
||||||
});
|
|
||||||
|
|
||||||
useController(app, '/connections', connections);
|
|
||||||
useController(app, '/server-connections', serverConnections);
|
|
||||||
useController(app, '/database-connections', databaseConnections);
|
|
||||||
useController(app, '/tables', tables);
|
|
||||||
|
|
||||||
server.listen(3000);
|
|
||||||
|
|||||||
37
packages/api/src/main.js
Normal file
37
packages/api/src/main.js
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const bodyParser = require('body-parser');
|
||||||
|
const http = require('http');
|
||||||
|
const cors = require('cors');
|
||||||
|
const io = require('socket.io');
|
||||||
|
|
||||||
|
const useController = require('./utility/useController');
|
||||||
|
const connections = require('./controllers/connections');
|
||||||
|
const serverConnections = require('./controllers/serverConnections');
|
||||||
|
const databaseConnections = require('./controllers/databaseConnections');
|
||||||
|
const tables = require('./controllers/tables');
|
||||||
|
const socket = require('./utility/socket');
|
||||||
|
|
||||||
|
function start() {
|
||||||
|
console.log('process.argv', process.argv);
|
||||||
|
|
||||||
|
const app = express();
|
||||||
|
|
||||||
|
const server = http.createServer(app);
|
||||||
|
socket.set(io(server));
|
||||||
|
|
||||||
|
app.use(cors());
|
||||||
|
app.use(bodyParser.json());
|
||||||
|
|
||||||
|
app.get('/', (req, res) => {
|
||||||
|
res.send('DbGate API');
|
||||||
|
});
|
||||||
|
|
||||||
|
useController(app, '/connections', connections);
|
||||||
|
useController(app, '/server-connections', serverConnections);
|
||||||
|
useController(app, '/database-connections', databaseConnections);
|
||||||
|
useController(app, '/tables', tables);
|
||||||
|
|
||||||
|
server.listen(3000);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { start };
|
||||||
@@ -1,14 +1,18 @@
|
|||||||
const engines = require('@dbgate/engines');
|
const engines = require('@dbgate/engines');
|
||||||
const driverConnect = require('../utility/driverConnect')
|
const driverConnect = require('../utility/driverConnect');
|
||||||
|
|
||||||
process.on('message', async connection => {
|
function start() {
|
||||||
try {
|
process.on('message', async connection => {
|
||||||
const driver = engines(connection);
|
try {
|
||||||
const conn = await driverConnect(driver, connection);
|
const driver = engines(connection);
|
||||||
const res = await driver.getVersion(conn);
|
const conn = await driverConnect(driver, connection);
|
||||||
process.send(res);
|
const res = await driver.getVersion(conn);
|
||||||
} catch (e) {
|
process.send(res);
|
||||||
console.log(e);
|
} catch (e) {
|
||||||
process.send({ msgtype: 'error', error: e.message });
|
console.log(e);
|
||||||
}
|
process.send({ msgtype: 'error', error: e.message });
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { start };
|
||||||
|
|||||||
@@ -56,10 +56,14 @@ async function handleMessage({ msgtype, ...other }) {
|
|||||||
await handler(other);
|
await handler(other);
|
||||||
}
|
}
|
||||||
|
|
||||||
process.on('message', async message => {
|
function start() {
|
||||||
try {
|
process.on('message', async message => {
|
||||||
await handleMessage(message);
|
try {
|
||||||
} catch (e) {
|
await handleMessage(message);
|
||||||
process.send({ msgtype: 'error', error: e.message });
|
} catch (e) {
|
||||||
}
|
process.send({ msgtype: 'error', error: e.message });
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { start };
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
require('./connectProcess');
|
const connectProcess = require('./connectProcess');
|
||||||
require('./databaseConnectionProcess');
|
const databaseConnectionProcess = require('./databaseConnectionProcess');
|
||||||
require('./serverConnectionProcess');
|
const serverConnectionProcess = require('./serverConnectionProcess');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
connectProcess,
|
||||||
|
databaseConnectionProcess,
|
||||||
|
serverConnectionProcess,
|
||||||
|
};
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const engines = require('@dbgate/engines');
|
const engines = require('@dbgate/engines');
|
||||||
const driverConnect = require('../utility/driverConnect')
|
const driverConnect = require('../utility/driverConnect');
|
||||||
|
|
||||||
let systemConnection;
|
let systemConnection;
|
||||||
let storedConnection;
|
let storedConnection;
|
||||||
@@ -28,10 +28,14 @@ async function handleMessage({ msgtype, ...other }) {
|
|||||||
await handler(other);
|
await handler(other);
|
||||||
}
|
}
|
||||||
|
|
||||||
process.on('message', async message => {
|
function start() {
|
||||||
try {
|
process.on('message', async message => {
|
||||||
await handleMessage(message);
|
try {
|
||||||
} catch (e) {
|
await handleMessage(message);
|
||||||
process.send({ msgtype: 'error', error: e.message });
|
} catch (e) {
|
||||||
}
|
process.send({ msgtype: 'error', error: e.message });
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { start };
|
||||||
|
|||||||
Reference in New Issue
Block a user