From 32aeea5456e55aace86a3e34e7fd6b2291f2bc4b Mon Sep 17 00:00:00 2001 From: Agustin <agusr1999@gmail.com> Date: Tue, 19 Oct 2021 14:46:35 -0300 Subject: [PATCH] Added invalid id error to parameter update --- src/Config/Constants.ts | 2 +- src/Services/ParameterService.ts | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Config/Constants.ts b/src/Config/Constants.ts index 8baaf85..7331d93 100644 --- a/src/Config/Constants.ts +++ b/src/Config/Constants.ts @@ -5,7 +5,7 @@ export const SheetNames = { MUJERES_MENORES: 'Mujeres<1', }; -export const extraDataIDs = { +export const extraDataIDs: {[key: string]: string} = { minLowPrev: 'minorLowPrevalence', minModPrev: 'minorModeratePrevalence', minIntPrev: 'minorIntensePrevalence', diff --git a/src/Services/ParameterService.ts b/src/Services/ParameterService.ts index 8bb2070..a6a3456 100644 --- a/src/Services/ParameterService.ts +++ b/src/Services/ParameterService.ts @@ -286,6 +286,16 @@ const updatePair = async (param: DefaultExtraDataDTO, pairID: string): Promise<v }); }; +const validateID = (id: string): boolean => { + const keys: string[] = Object.keys(extraDataIDs); + for (let i = 0; i < keys.length; i + 1) { + if (extraDataIDs[keys[i]] === id) { + return true; + } + } + return false; +}; + const updateExtraData = async (parameters: DefaultExtraDataDTO[]): Promise<void> => { const ids: string[] = []; let total = 0; @@ -313,7 +323,7 @@ const updateExtraData = async (parameters: DefaultExtraDataDTO[]): Promise<void> await updatePair(parameters[0], extraDataIDs.rurAdultLowPerc); } else if (ids.includes(extraDataIDs.rurAdultLowPerc)) { await updatePair(parameters[0], extraDataIDs.rurAdultActPerc); - } else { + } else if (validateID(parameters[0].id)) { await DefaultExtraData.update( { value: parameters[0].value }, { @@ -324,6 +334,8 @@ const updateExtraData = async (parameters: DefaultExtraDataDTO[]): Promise<void> ).catch((err) => { throw err; }); + } else { + throw new Error('Invalid parameter ID'); } }; -- GitLab