From df351b8cba5cccf4dc959ae06d04101242f89816 Mon Sep 17 00:00:00 2001 From: Carlos Valente <34649812+cpvalente@users.noreply.github.com> Date: Fri, 17 Feb 2023 20:23:00 +0100 Subject: [PATCH] hotfix: resolve data directory (#288) --- apps/client/src/common/api/ontimeApi.ts | 6 +++--- apps/server/src/controllers/ontimeController.js | 3 +-- apps/server/src/utils/parser.js | 9 +++------ 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/apps/client/src/common/api/ontimeApi.ts b/apps/client/src/common/api/ontimeApi.ts index 27fe73704..365622b32 100644 --- a/apps/client/src/common/api/ontimeApi.ts +++ b/apps/client/src/common/api/ontimeApi.ts @@ -138,18 +138,18 @@ export const downloadRundown = async () => { */ type UploadDataOptions = { onlyRundown?: boolean; -} +}; export const uploadData = async (file: string, setProgress: (value: number) => void, options?: UploadDataOptions) => { const formData = new FormData(); formData.append('userFile', file); - const onlyRundown = options?.onlyRundown; + const onlyRundown = options?.onlyRundown || 'false'; await axios .post(`${ontimeURL}/db?onlyRundown=${onlyRundown}`, formData, { headers: { 'Content-Type': 'multipart/form-data', }, onUploadProgress: (progressEvent) => { - const complete = Math.round((progressEvent.loaded * 100) / progressEvent.total); + const complete = progressEvent?.total ? Math.round((progressEvent.loaded * 100) / progressEvent.total) : 0; setProgress(complete); }, }) diff --git a/apps/server/src/controllers/ontimeController.js b/apps/server/src/controllers/ontimeController.js index a2bb6f62a..3511459d9 100644 --- a/apps/server/src/controllers/ontimeController.js +++ b/apps/server/src/controllers/ontimeController.js @@ -27,9 +27,8 @@ export const poll = async (req, res) => { export const dbDownload = async (req, res) => { const { title } = DataProvider.getEventData(); const fileTitle = title || 'ontime data'; - const dbInDisk = resolveDbPath(); - res.download(dbInDisk, `${fileTitle}.json`, (err) => { + res.download(resolveDbPath, `${fileTitle}.json`, (err) => { if (err) { res.status(500).send({ message: `Could not download the file: ${err}`, diff --git a/apps/server/src/utils/parser.js b/apps/server/src/utils/parser.js index 8a63fa33b..8b14b4df8 100644 --- a/apps/server/src/utils/parser.js +++ b/apps/server/src/utils/parser.js @@ -292,8 +292,7 @@ export const validateEvent = (eventArgs) => { const e = eventArgs; const d = eventDef; - const start = - e.timeStart != null && typeof e.timeStart === 'number' ? e.timeStart : d.timeStart; + const start = e.timeStart != null && typeof e.timeStart === 'number' ? e.timeStart : d.timeStart; const end = e.timeEnd != null && typeof e.timeEnd === 'number' ? e.timeEnd : d.timeEnd; event = { @@ -344,9 +343,7 @@ export const fileHandler = async (file) => { try { const excelData = xlsx .parse(file, { cellDates: true }) - .find( - ({ name }) => name.toLowerCase() === 'ontime' || name.toLowerCase() === 'event schedule' - ); + .find(({ name }) => name.toLowerCase() === 'ontime' || name.toLowerCase() === 'event schedule'); // we only look at worksheets called ontime or event schedule if (excelData?.data) { @@ -379,7 +376,7 @@ export const fileHandler = async (file) => { return { error: true, message: 'Error parsing JSON file' }; } - if (uploadedJson.settings.version === 1) { + if (uploadedJson.settings.version === 2) { try { res.data = await parseJson(uploadedJson); res.message = 'success';