From 4298938d1f696178f47f99d411548516f7610c85 Mon Sep 17 00:00:00 2001 From: Benjamin Langlotz Date: Thu, 29 Feb 2024 15:41:27 +0100 Subject: [PATCH] fix(KUI-1207): fix call to getCourseInfo Only look at body if statusCode is 200/OK, otherwise return default values --- server/apiCalls/kursinfoApi.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/server/apiCalls/kursinfoApi.js b/server/apiCalls/kursinfoApi.js index 4a5b327a..de365a11 100644 --- a/server/apiCalls/kursinfoApi.js +++ b/server/apiCalls/kursinfoApi.js @@ -9,11 +9,19 @@ async function _getCourseInfo(courseCode) { const uri = client.resolve(paths.getCourseInfoByCourseCode.uri, { courseCode }) const res = await client.getAsync({ uri }, { useCache: false }) - if (res.body) { - const { sellingText, courseDisposition, supplementaryInfo, imageInfo } = res.body - return { sellingText, courseDisposition, supplementaryInfo, imageInfo } + const defaultValues = { sellingText: {}, imageInfo: '', supplementaryInfo: {}, courseDisposition: {} } + + if (res.statusCode === 200 && res.body) { + const { body } = res + return { + sellingText: body.sellingText ?? defaultValues.sellingText, + courseDisposition: body.courseDisposition ?? defaultValues.courseDisposition, + supplementaryInfo: body.supplementaryInfo ?? defaultValues.supplementaryInfo, + imageInfo: body.imageInfo ?? defaultValues.imageInfo, + } } - return { sellingText: {}, imageInfo: '', supplementaryInfo: {}, courseDisposition: {} } + + return defaultValues } catch (err) { log.error('Kursinfo-api is not available', err) return err