Skip to content

Commit 4a0bbcc

Browse files
committed
ONCEHUB-98709 Refactored code and added null checks
1 parent dcecef6 commit 4a0bbcc

File tree

1 file changed

+39
-25
lines changed

1 file changed

+39
-25
lines changed

src/util/oncehub-custom-transformer.js

Lines changed: 39 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -61,23 +61,51 @@ const changeDateFormatForCustomerio = (
6161
}
6262
};
6363

64-
const oncehubTransformer = (destination, event) => {
65-
destination = destination.toString().toLowerCase();
66-
const contextTraitsPresent = doesEventContainContextTraits(event);
67-
const eventTraitsPresent = doesEventContainsTraits(event);
68-
const checkDestinationList = getPIIDestinationList().includes(destination);
64+
const shouldBlockEvent = (destination, event) => {
6965
const checkPageEventBlockedDestination =
7066
getPageEventBlockedDestinationsList().includes(destination);
71-
if (event.message.type === EventType.PAGE && checkPageEventBlockedDestination) {
72-
// eslint-disable-next-line no-param-reassign
73-
return null;
67+
if (event?.message?.type === EventType.PAGE && checkPageEventBlockedDestination) {
68+
return true;
7469
}
7570
// Check if event should be blocked based on location-wise blacklist
7671
const blacklist = getBlockedEventsByDestination();
72+
73+
// eslint-disable-next-line sonarjs/prefer-single-boolean-return
7774
if (
78-
event.message.type === EventType.TRACK &&
79-
blacklist[destination]?.includes(event.message.event)
75+
event?.message?.type === EventType.TRACK &&
76+
blacklist[destination]?.includes(event?.message?.event)
8077
) {
78+
return true;
79+
}
80+
81+
return false;
82+
};
83+
84+
const removePIIFields = (event, contextTraitsPresent) => {
85+
// eslint-disable-next-line no-param-reassign
86+
delete event.message.traits.email;
87+
// eslint-disable-next-line no-param-reassign
88+
delete event.message.traits.firstName;
89+
// eslint-disable-next-line no-param-reassign
90+
delete event.message.traits.lastName;
91+
92+
if (contextTraitsPresent) {
93+
// eslint-disable-next-line no-param-reassign
94+
delete event.message.context.traits.email;
95+
// eslint-disable-next-line no-param-reassign
96+
delete event.message.context.traits.firstName;
97+
// eslint-disable-next-line no-param-reassign
98+
delete event.message.context.traits.lastName;
99+
}
100+
};
101+
102+
const oncehubTransformer = (destination, event) => {
103+
destination = destination.toString().toLowerCase();
104+
const contextTraitsPresent = doesEventContainContextTraits(event);
105+
const eventTraitsPresent = doesEventContainsTraits(event);
106+
const checkDestinationList = getPIIDestinationList().includes(destination);
107+
108+
if (shouldBlockEvent(destination, event)) {
81109
// eslint-disable-next-line no-param-reassign
82110
return null;
83111
}
@@ -90,21 +118,7 @@ const oncehubTransformer = (destination, event) => {
90118
);
91119

92120
if (!checkDestinationList && eventTraitsPresent) {
93-
// eslint-disable-next-line no-param-reassign
94-
delete event.message.traits.email;
95-
// eslint-disable-next-line no-param-reassign
96-
delete event.message.traits.firstName;
97-
// eslint-disable-next-line no-param-reassign
98-
delete event.message.traits.lastName;
99-
100-
if (contextTraitsPresent) {
101-
// eslint-disable-next-line no-param-reassign
102-
delete event.message.context.traits.email;
103-
// eslint-disable-next-line no-param-reassign
104-
delete event.message.context.traits.firstName;
105-
// eslint-disable-next-line no-param-reassign
106-
delete event.message.context.traits.lastName;
107-
}
121+
removePIIFields(event, contextTraitsPresent);
108122
}
109123

110124
// Adding check for firstLoginGA4 property

0 commit comments

Comments
 (0)