Files
dbgate/packages/api/src/main.js
2020-04-10 09:50:20 +02:00

49 lines
1.4 KiB
JavaScript

const express = require('express');
const bodyParser = require('body-parser');
const http = require('http');
const cors = require('cors');
const io = require('socket.io');
const fs = require('fs');
const useController = require('./utility/useController');
const socket = require('./utility/socket');
const connections = require('./controllers/connections');
const serverConnections = require('./controllers/serverConnections');
const databaseConnections = require('./controllers/databaseConnections');
const tables = require('./controllers/tables');
const sessions = require('./controllers/sessions');
const jsldata = require('./controllers/jsldata');
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());
useController(app, '/connections', connections);
useController(app, '/server-connections', serverConnections);
useController(app, '/database-connections', databaseConnections);
useController(app, '/tables', tables);
useController(app, '/sessions', sessions);
useController(app, '/jsldata', jsldata);
if (fs.existsSync('/home/dbgate-docker/build')) {
// server static files inside docker container
app.use(express.static('/home/dbgate-docker/build'));
} else {
app.get('/', (req, res) => {
res.send('DbGate API');
});
}
server.listen(3000);
}
module.exports = { start };