From 0c3c08ac9893d3a92c7695242ccafbbd908844e4 Mon Sep 17 00:00:00 2001 From: Carlos Valente Date: Sat, 27 Apr 2024 09:22:54 +0200 Subject: [PATCH] refactor: custom fields casing --- apps/server/src/api-integration/integration.controller.ts | 3 ++- apps/server/src/api-integration/integration.utils.ts | 2 +- apps/server/src/utils/parserFunctions.ts | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/server/src/api-integration/integration.controller.ts b/apps/server/src/api-integration/integration.controller.ts index 7ecaac87e..0b5432a9e 100644 --- a/apps/server/src/api-integration/integration.controller.ts +++ b/apps/server/src/api-integration/integration.controller.ts @@ -46,7 +46,8 @@ const actionHandlers: Record = { if (typeof property !== 'string' || value === undefined) { throw new Error('Invalid property or value'); } - const newObjectProperty = parseProperty(property, value); + // all custom fields keys are lowercase + const newObjectProperty = parseProperty(property.toLowerCase(), value); if (patchEvent.custom && newObjectProperty.custom) { Object.assign(patchEvent.custom, newObjectProperty.custom); diff --git a/apps/server/src/api-integration/integration.utils.ts b/apps/server/src/api-integration/integration.utils.ts index 548b0a834..8b0014761 100644 --- a/apps/server/src/api-integration/integration.utils.ts +++ b/apps/server/src/api-integration/integration.utils.ts @@ -27,7 +27,7 @@ export function parseProperty(property: string, value: unknown) { throw new Error(`Custom field ${customKey} not found`); } const parserFn = whitelistedPayload.custom; - return { custom: { [customKey]: { value: parserFn(value) } } }; + return { custom: { [customKey]: parserFn(value) } }; } if (!isKeyOfType(property, whitelistedPayload)) { diff --git a/apps/server/src/utils/parserFunctions.ts b/apps/server/src/utils/parserFunctions.ts index bff730f56..6aed650c6 100644 --- a/apps/server/src/utils/parserFunctions.ts +++ b/apps/server/src/utils/parserFunctions.ts @@ -259,7 +259,8 @@ export const parseCustomFields = (data: Partial): CustomFields => console.log('ERROR: missing required field, skipping'); continue; } - newCustomFields[field.label] = { + const key = field.label.toLowerCase(); + newCustomFields[key] = { type: field.type, colour: field.colour, label: field.label,