From 73ee56985babb17cd877ed2269e7d38be0671b6b Mon Sep 17 00:00:00 2001 From: kukulaka Date: Thu, 3 Sep 2020 15:53:27 +0100 Subject: [PATCH] CSV export --- api/src/middleware/response-manager.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/api/src/middleware/response-manager.ts b/api/src/middleware/response-manager.ts index d722057f24..6a4c23ccfc 100644 --- a/api/src/middleware/response-manager.ts +++ b/api/src/middleware/response-manager.ts @@ -25,15 +25,16 @@ const responseManager: RequestHandler = asyncHandler(async (req, res, next) => { if (exportType == 'csv') { // have chosen to export csv - const json2csv = require('json2csv'); + const { Parser } = require('json2csv'); // need to get the actual fields in data - const exportData = res.locals.data; + const exportData = res.locals.data.data; /** @todo deep object parsing to get all fields */ - const fieldsOut = Object.keys(exportData); - const csv = await json2csv.parse(exportData, fieldsOut); + const json2csvParser = new Parser(); + const csv = await json2csvParser.parse(exportData); + // will this be ok for larger files? res.setHeader('Content-disposition', 'attachment; filename=export.csv'); res.set('Content-Type', 'text/csv');