export - output files

This commit is contained in:
Jan Prochazka
2020-06-07 18:11:06 +02:00
parent f37524f76f
commit f63788f79b
10 changed files with 131 additions and 21 deletions

View File

@@ -1,6 +1,6 @@
const _ = require('lodash');
const path = require('path');
const fs = require('fs');
const fs = require('fs-extra');
const uuidv1 = require('uuid/v1');
const socket = require('../utility/socket');
const { fork } = require('child_process');
@@ -83,11 +83,26 @@ module.exports = {
cancel_meta: 'post',
async cancel({ runid }) {
const session = this.opened.find((x) => x.runid == runid);
if (!session) {
const runner = this.opened.find((x) => x.runid == runid);
if (!runner) {
throw new Error('Invalid runner');
}
session.subprocess.kill();
runner.subprocess.kill();
return { state: 'ok' };
},
files_meta: 'get',
async files({ runid }) {
const directory = path.join(rundir(), runid);
const files = await fs.readdir(directory);
const res = [];
for (const file of files) {
const stat = await fs.stat(path.join(directory, file));
res.push({
name: file,
size: stat.size,
});
}
return res;
},
};

View File

@@ -19,6 +19,8 @@ const runners = require('./controllers/runners');
const jsldata = require('./controllers/jsldata');
const config = require('./controllers/config');
const { rundir } = require('./utility/directories');
function start(argument = null) {
// console.log('process.argv', process.argv);
@@ -43,6 +45,8 @@ function start(argument = null) {
app.use('/pages', express.static(process.env.PAGES_DIRECTORY));
}
app.use('/runners/data', express.static(rundir()));
if (fs.existsSync('/home/dbgate-docker/build')) {
// server static files inside docker container
app.use(express.static('/home/dbgate-docker/build'));
@@ -54,7 +58,7 @@ function start(argument = null) {
if (argument == '--dynport') {
childProcessChecker();
findFreePort(53911, function (err, port) {
server.listen(port, () => {
console.log(`DbGate API listening on port ${port}`);