|
|
@ -3,39 +3,78 @@ const { spawnSync } = require('child_process'); |
|
|
|
|
|
|
|
|
|
|
|
const router = express.Router(); |
|
|
|
const router = express.Router(); |
|
|
|
|
|
|
|
|
|
|
|
router.get('/', (request, response) => { |
|
|
|
router |
|
|
|
console.log('Calling CLI script to get data.'); |
|
|
|
.get('/', (request, response) => { |
|
|
|
|
|
|
|
console.log('Calling CLI script to get data.'); |
|
|
|
const scriptName = 'striker-access-database'; |
|
|
|
|
|
|
|
const childProcess = spawnSync( |
|
|
|
const scriptName = 'striker-access-database'; |
|
|
|
scriptName, |
|
|
|
const childProcess = spawnSync( |
|
|
|
[ |
|
|
|
scriptName, |
|
|
|
'--query', |
|
|
|
[ |
|
|
|
'SELECT file_uuid, file_name, file_size, file_type, file_md5sum FROM files;', |
|
|
|
'--query', |
|
|
|
], |
|
|
|
'SELECT file_uuid, file_name, file_size, file_type, file_md5sum FROM files;', |
|
|
|
{ |
|
|
|
], |
|
|
|
timeout: 10000, |
|
|
|
{ |
|
|
|
encoding: 'utf-8', |
|
|
|
timeout: 10000, |
|
|
|
}, |
|
|
|
encoding: 'utf-8', |
|
|
|
); |
|
|
|
}, |
|
|
|
let stdoutJSON; |
|
|
|
); |
|
|
|
|
|
|
|
let stdoutJSON; |
|
|
|
if (childProcess.error) { |
|
|
|
|
|
|
|
console.log('Error:', childProcess.error); |
|
|
|
if (childProcess.error) { |
|
|
|
|
|
|
|
console.log('Error:', childProcess.error); |
|
|
|
response.status(500).send(); |
|
|
|
|
|
|
|
} |
|
|
|
response.status(500).send(); |
|
|
|
|
|
|
|
} |
|
|
|
console.log('Stdout:', childProcess.stdout); |
|
|
|
|
|
|
|
console.log('Stderr:', childProcess.stderr); |
|
|
|
console.log('Stdout:', childProcess.stdout); |
|
|
|
|
|
|
|
console.log('Stderr:', childProcess.stderr); |
|
|
|
try { |
|
|
|
|
|
|
|
stdoutJSON = JSON.parse(childProcess.stdout); |
|
|
|
try { |
|
|
|
} catch (jsonParseError) { |
|
|
|
stdoutJSON = JSON.parse(childProcess.stdout); |
|
|
|
console.warn(`Failed to parse output of script ${scriptName}.`); |
|
|
|
} catch (jsonParseError) { |
|
|
|
} |
|
|
|
console.warn(`Failed to parse output of script ${scriptName}.`); |
|
|
|
|
|
|
|
} |
|
|
|
response.status(200).send(stdoutJSON); |
|
|
|
|
|
|
|
}); |
|
|
|
response.status(200).send(stdoutJSON); |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
.get('/:fileUUID', (request, response) => { |
|
|
|
|
|
|
|
console.log('Calling CLI script to get data.'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const scriptName = 'striker-access-database'; |
|
|
|
|
|
|
|
const childProcess = spawnSync( |
|
|
|
|
|
|
|
scriptName, |
|
|
|
|
|
|
|
[ |
|
|
|
|
|
|
|
'--query', |
|
|
|
|
|
|
|
`SELECT *
|
|
|
|
|
|
|
|
FROM files AS fil |
|
|
|
|
|
|
|
JOIN file_locations AS fil_loc |
|
|
|
|
|
|
|
ON fil.file_uuid = fil_loc.file_location_file_uuid |
|
|
|
|
|
|
|
WHERE fil.file_uuid = '${request.params.fileUUID}';`,
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
timeout: 10000, |
|
|
|
|
|
|
|
encoding: 'utf-8', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
let stdoutJSON; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (childProcess.error) { |
|
|
|
|
|
|
|
console.log('Error:', childProcess.error); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
response.status(500).send(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log('Stdout:', childProcess.stdout); |
|
|
|
|
|
|
|
console.log('Stderr:', childProcess.stderr); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
stdoutJSON = JSON.parse(childProcess.stdout); |
|
|
|
|
|
|
|
} catch (jsonParseError) { |
|
|
|
|
|
|
|
console.warn(`Failed to parse output of script ${scriptName}.`); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
response.status(200).send(stdoutJSON); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
module.exports = router; |
|
|
|
module.exports = router; |
|
|
|