- attivita
- gestione degli script sul server - creato websocket per interagire con gli script del server.
This commit is contained in:
@@ -20,6 +20,10 @@ const Publisher = require('../models/publisher');
|
||||
const SubCatProd = require('../models/subcatprod');
|
||||
const Gasordine = require('../models/gasordine');
|
||||
|
||||
const { User } = require('../models/user');
|
||||
|
||||
const server_constants = require('../tools/server_constants');
|
||||
|
||||
const { ImageDownloader } = require('../tools/general.js');
|
||||
|
||||
const path = require('path');
|
||||
@@ -1156,4 +1160,37 @@ router.post('/import', authenticate, async (req, res) => {
|
||||
|
||||
});
|
||||
|
||||
router.post('/exec', authenticate, async (req, res) => {
|
||||
try {
|
||||
idapp = req.body.idapp;
|
||||
console.log('/exec idapp=', idapp, req.body.script);
|
||||
script = req.body.mydata.script;
|
||||
listafiles = req.body.mydata.listafiles;
|
||||
tokcheck = req.body.mydata.tokcheck;
|
||||
extfiles = req.body.mydata.extfiles;
|
||||
dir = req.body.mydata.dir;
|
||||
withinput = req.body.mydata.withinput;
|
||||
|
||||
const TOKCHECK = 'php8.1_version_762321HSD121nJDokq@?!aFS.tar.gz'
|
||||
|
||||
if (!User.isAdmin(req.user.perm) || (tokcheck !== TOKCHECK)) {
|
||||
// If without permissions, exit
|
||||
return res.status(404).send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
|
||||
}
|
||||
|
||||
let result = '';
|
||||
|
||||
if (withinput)
|
||||
result = await tools.execScriptWithInputOnServer(idapp, script);
|
||||
else
|
||||
result = await tools.execScriptOnServer(idapp, script, dir, listafiles, extfiles);
|
||||
|
||||
return res.send(result);
|
||||
} catch (e) {
|
||||
console.error('e', e);
|
||||
return res.status(400).send({ code: server_constants.RIS_CODE_ERR, msg: '' });
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user