From 721474b588312f3ba51b16a6a3a59c4f7755f7f0 Mon Sep 17 00:00:00 2001 From: Ali Torun Date: Wed, 5 Jun 2024 18:40:10 +0300 Subject: [PATCH 1/2] refactor: Update manifest service to handle missing ui.label in key generation --- .../api/src/manifest/manifest.service.spec.ts | 7 +++--- apps/api/src/manifest/manifest.service.ts | 25 ++++++++++--------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/apps/api/src/manifest/manifest.service.spec.ts b/apps/api/src/manifest/manifest.service.spec.ts index db8701e..bb46774 100644 --- a/apps/api/src/manifest/manifest.service.spec.ts +++ b/apps/api/src/manifest/manifest.service.spec.ts @@ -8,7 +8,6 @@ import { WebhookParams, } from '../models'; import { EmailHookFixture, WebHookFixture } from '../../test/fixtures'; -import { WebHookResponse } from '../hook/models'; import { Test, TestingModule } from '@nestjs/testing'; import { decrypt, generateHmac, verifyHmac } from '../utils/crypto-helpers'; @@ -20,6 +19,7 @@ import { HttpService } from '@nestjs/axios'; import { ManifestService } from './manifest.service'; import { MockFactory } from 'mockingbird'; import { TildaManifestFixture } from '../../test/fixtures/manifest/tilda-manifest.fixture'; +import { WebHookResponse } from '../hook/models'; import { WebhookProcessor } from '../hook/processors/webhook.processor'; import { faker } from '@faker-js/faker'; import { of } from 'rxjs'; @@ -618,7 +618,7 @@ describe('ManifestService', () => { expect(transformedPatternValues).toEqual(expectedValues); }); - it('should generate the correct all key values with inputName', () => { + it('should generate only key values with ui.label', () => { const manifest = JSON.parse( JSON.stringify(validManifest), ) as TildaManifest; @@ -628,10 +628,9 @@ describe('ManifestService', () => { surname, testName: name, }; - + delete manifest.data.fields['name'].ui.label; const expectedOutput = { [manifest.data.fields['surname'].ui.label]: surname, - [manifest.data.fields['name'].ui.label]: name, }; const generatedKeyValues = manifestService.getDataWithUiLabels( diff --git a/apps/api/src/manifest/manifest.service.ts b/apps/api/src/manifest/manifest.service.ts index cba2cfd..077d274 100644 --- a/apps/api/src/manifest/manifest.service.ts +++ b/apps/api/src/manifest/manifest.service.ts @@ -181,7 +181,10 @@ export class ManifestService { if (hook.factory === HookType.email) { const emailParams: EmailParams = hook.params as EmailParams; this.encryptManifestEmailRecipients(emailParams.recipients, secret); - this.encryptSmtpConfigValues((hook.params as EmailParams).config, secret); + this.encryptSmtpConfigValues( + (hook.params as EmailParams).config, + secret, + ); } }); @@ -212,7 +215,10 @@ export class ManifestService { if (hook.factory === HookType.email) { const emailParams: EmailParams = hook.params as EmailParams; this.decryptManifestEmailRecipients(emailParams.recipients, secret); - this.decryptSmtpConfigValues((hook.params as EmailParams).config, secret); + this.decryptSmtpConfigValues( + (hook.params as EmailParams).config, + secret, + ); } }); @@ -349,17 +355,12 @@ export class ManifestService { const dataWithUiLabels: DataWithUiLabels = {}; for (const payloadName in payload) { for (const fieldKey in manifest.data.fields) { - if (manifest.data.fields.hasOwnProperty(fieldKey)) { - if (payloadName == fieldKey) { - dataWithUiLabels[manifest.data.fields[fieldKey].ui.label] = - payload[payloadName]; - break; - } - if (manifest.data.fields[fieldKey].inputName == payloadName) { - dataWithUiLabels[manifest.data.fields[fieldKey].ui.label] = - payload[payloadName]; - break; + const field = manifest.data.fields[fieldKey] as Field; + if (payloadName == fieldKey || field.inputName == payloadName) { + if (field.ui && field.ui.label) { + dataWithUiLabels[field.ui.label] = payload[payloadName]; } + break; } } } From 4466dc52a8c75fc696beafeef0ea491c32d99d22 Mon Sep 17 00:00:00 2001 From: Ali Torun Date: Wed, 5 Jun 2024 18:47:42 +0300 Subject: [PATCH 2/2] refactor: Update manifest service to handle missing ui.label in key generation --- apps/api/src/manifest/manifest.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/api/src/manifest/manifest.service.ts b/apps/api/src/manifest/manifest.service.ts index 077d274..1745afd 100644 --- a/apps/api/src/manifest/manifest.service.ts +++ b/apps/api/src/manifest/manifest.service.ts @@ -355,9 +355,9 @@ export class ManifestService { const dataWithUiLabels: DataWithUiLabels = {}; for (const payloadName in payload) { for (const fieldKey in manifest.data.fields) { - const field = manifest.data.fields[fieldKey] as Field; + const field = manifest.data.fields[fieldKey]; if (payloadName == fieldKey || field.inputName == payloadName) { - if (field.ui && field.ui.label) { + if (field?.ui?.label) { dataWithUiLabels[field.ui.label] = payload[payloadName]; } break;