From f12bc5e12606e54bda15d8bb800ffb5becd065d1 Mon Sep 17 00:00:00 2001 From: Guillim Date: Thu, 20 Feb 2025 16:34:27 +0100 Subject: [PATCH] Deduplicate-emails (#10361) last request from @felix --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- .../factories/query-runner-args.factory.ts | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts index a53335bc2..b157a4f85 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts @@ -234,7 +234,33 @@ export class QueryRunnerArgsFactory { case FieldMetadataType.LINKS: { const newPrimaryLinkUrl = lowercaseDomain(value?.primaryLinkUrl); - return [key, { ...value, primaryLinkUrl: newPrimaryLinkUrl }]; + let secondaryLinks = value?.secondaryLinks; + + if (secondaryLinks) { + try { + const secondaryLinksArray = JSON.parse(secondaryLinks); + + secondaryLinks = JSON.stringify( + secondaryLinksArray.map((link) => { + return { + ...link, + url: lowercaseDomain(link.url), + }; + }), + ); + } catch { + /* empty */ + } + } + + return [ + key, + { + ...value, + primaryLinkUrl: newPrimaryLinkUrl, + secondaryLinks, + }, + ]; } case FieldMetadataType.EMAILS: { let additionalEmails = value?.additionalEmails;