From de0783909d7fd1c1b165dfa94be32bb8865e85b4 Mon Sep 17 00:00:00 2001 From: Tsu-ba-me Date: Thu, 2 Dec 2021 15:46:24 -0500 Subject: [PATCH] fix(striker-ui-api): complete GET all files --- striker-ui-api/routes/files.js | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/striker-ui-api/routes/files.js b/striker-ui-api/routes/files.js index c83cfa83..50f16b8b 100644 --- a/striker-ui-api/routes/files.js +++ b/striker-ui-api/routes/files.js @@ -6,25 +6,36 @@ const router = express.Router(); router.get('/', (request, response) => { console.log('Calling CLI script to get data.'); + const scriptName = 'striker-access-database'; const childProcess = spawnSync( - 'striker-access-database', - ['--query', 'SELECT * FROM files;'], + scriptName, + [ + '--query', + 'SELECT file_uuid, file_name, file_size, file_type, file_md5sum FROM files;', + ], { timeout: 10000, encoding: 'utf-8', }, ); + let stdoutJSON; - if (childProcess.error) - { - response.status(500); + if (childProcess.error) { + console.log('Error:', childProcess.error); + + response.status(500).send(); } - console.log('error:', childProcess.error); - 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); + } catch (jsonParseError) { + console.warn(`Failed to parse output of script ${scriptName}.`); + } - response.status(200).send(childProcess.stdout); + response.status(200).send(stdoutJSON); }); module.exports = router;