@@ -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 , eventTraitsPresent , 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