@adtrackify/at-service-common 3.19.12 → 3.19.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,152 +1,153 @@
1
1
  import { hasNewTrait, hasNewAddress, removeEmptyFields } from '@adtrackify/at-shared-utils';
2
2
  import { Logger } from './logging-helper';
3
+ const createInitialTracker = (cachedTraits, incomingTraits) => ({
4
+ cachedTraits,
5
+ incomingTraits,
6
+ isIdentityIdStale: false,
7
+ isUserIdsStale: false,
8
+ isIdsStale: false,
9
+ isEmailsStale: false,
10
+ isPhonesStale: false,
11
+ isShopifyYIdsStale: false,
12
+ isGendersStale: false,
13
+ isDobsStale: false,
14
+ isAddressesStale: false,
15
+ isClickInfosStale: false,
16
+ isIpAddressStale: false,
17
+ isUserAgentStale: false,
18
+ isThirdPartyContactsStale: false,
19
+ isCacheStale: false,
20
+ });
21
+ const markStale = (tracker, trackerKey, logMessage) => {
22
+ Logger.debug(`identity cache miss - ${logMessage}`, {
23
+ cachedTraits: tracker.cachedTraits,
24
+ incomingTraits: tracker.incomingTraits,
25
+ });
26
+ tracker[trackerKey] = true;
27
+ tracker.isCacheStale = true;
28
+ };
29
+ const checkScalarTraitChanged = (cachedValue, incomingValue) => Boolean(incomingValue && cachedValue !== incomingValue);
3
30
  export const isIdentityCacheStale = (identityCache, incomingIdentity) => {
4
31
  try {
5
32
  const cachedTraits = identityCache?.traits ?? {};
6
33
  const incomingTraits = incomingIdentity?.traits ?? {};
7
- const identityCacheStaleTracker = {
8
- cachedTraits: cachedTraits,
9
- incomingTraits: incomingTraits,
10
- isIdentityIdStale: false,
11
- isUserIdsStale: false,
12
- isIdsStale: false,
13
- isEmailsStale: false,
14
- isPhonesStale: false,
15
- isShopifyYIdsStale: false,
16
- isGendersStale: false,
17
- isDobsStale: false,
18
- isAddressesStale: false,
19
- isClickInfosStale: false,
20
- isIpAddressStale: false,
21
- isUserAgentStale: false,
22
- isThirdPartyContactsStale: false,
23
- isCacheStale: false,
24
- };
25
- if (identityCache?.identityId !== incomingIdentity?.identityId) {
26
- Logger.debug('identity cache miss - identityId changed', { cachedTraits, incomingTraits });
27
- identityCacheStaleTracker.isIdentityIdStale = true;
28
- identityCacheStaleTracker.isCacheStale = true;
29
- }
30
- const isNewUserIds = hasNewTrait(cachedTraits?.userIds ?? [], incomingTraits?.userIds ?? []);
31
- if (isNewUserIds) {
32
- Logger.debug('identity cache miss - userIds changed', { cachedTraits, incomingTraits });
33
- identityCacheStaleTracker.isUserIdsStale = true;
34
- identityCacheStaleTracker.isCacheStale = true;
35
- }
36
- const isNewIds = hasNewTrait(cachedTraits?.ids ?? [], incomingTraits?.ids ?? []);
37
- if (isNewIds) {
38
- Logger.debug('identity cache miss - ids changed', { cachedTraits, incomingTraits });
39
- identityCacheStaleTracker.isIdsStale = true;
40
- identityCacheStaleTracker.isCacheStale = true;
41
- }
42
- const isNewEmails = hasNewTrait(cachedTraits?.emails ?? [], incomingTraits?.emails ?? []);
43
- if (isNewEmails) {
44
- Logger.debug('identity cache miss - emails changed', { cachedTraits, incomingTraits });
45
- identityCacheStaleTracker.isEmailsStale = true;
46
- identityCacheStaleTracker.isCacheStale = true;
47
- }
48
- const isNewPhones = hasNewTrait(cachedTraits?.phones ?? [], incomingTraits?.phones ?? []);
49
- if (isNewPhones) {
50
- Logger.debug('identity cache miss - phones changed', { cachedTraits, incomingTraits });
51
- identityCacheStaleTracker.isPhonesStale = true;
52
- identityCacheStaleTracker.isCacheStale = true;
53
- }
54
- const isNewShopifyYIds = hasNewTrait(cachedTraits?.shopifyYIds ?? [], incomingTraits?.shopifyYIds ?? []);
55
- if (isNewShopifyYIds) {
56
- Logger.debug('identity cache miss - shopify Y ids changed', { cachedTraits, incomingTraits });
57
- identityCacheStaleTracker.isShopifyYIdsStale = true;
58
- identityCacheStaleTracker.isCacheStale = true;
59
- }
60
- const isNewGenders = hasNewTrait(cachedTraits?.genders ?? [], incomingTraits?.genders ?? []);
61
- if (isNewGenders) {
62
- Logger.debug('identity cache miss - genders changed', { cachedTraits, incomingTraits });
63
- identityCacheStaleTracker.isGendersStale = true;
64
- identityCacheStaleTracker.isCacheStale = true;
65
- }
66
- const isNewDobs = hasNewTrait(cachedTraits?.dobs ?? [], incomingTraits?.dobs ?? []);
67
- if (isNewDobs) {
68
- Logger.debug('identity cache miss - dobs changed', { cachedTraits, incomingTraits });
69
- identityCacheStaleTracker.isDobsStale = true;
70
- identityCacheStaleTracker.isCacheStale = true;
71
- }
72
- const isNewAddress = hasNewAddress(cachedTraits?.addresses ?? [], incomingTraits?.addresses ?? []);
73
- if (isNewAddress) {
74
- Logger.debug('identity cache miss - address changed', { cachedTraits, incomingTraits });
75
- identityCacheStaleTracker.isAddressesStale = true;
76
- identityCacheStaleTracker.isCacheStale = true;
77
- }
78
- const isNewClick = isClickInfosStale(cachedTraits?.click ?? {}, incomingTraits?.click ?? {});
79
- if (isNewClick) {
80
- Logger.debug('identity cache miss - clickInfos changed', { cachedTraits, incomingTraits });
81
- identityCacheStaleTracker.isClickInfosStale = true;
82
- identityCacheStaleTracker.isCacheStale = true;
83
- }
84
- if (incomingTraits?.ipAddress && cachedTraits?.ipAddress !== incomingTraits?.ipAddress) {
85
- Logger.debug('identity cache miss - ip/userAgent changed', { cachedTraits, incomingTraits });
86
- identityCacheStaleTracker.isIpAddressStale = true;
87
- identityCacheStaleTracker.isCacheStale = true;
88
- }
89
- if (incomingTraits?.userAgent && cachedTraits?.userAgent !== incomingTraits?.userAgent) {
90
- Logger.debug('identity cache miss - userAgent changed', { cachedTraits, incomingTraits });
91
- identityCacheStaleTracker.isUserAgentStale = true;
92
- identityCacheStaleTracker.isCacheStale = true;
34
+ const tracker = createInitialTracker(cachedTraits, incomingTraits);
35
+ const checks = [
36
+ {
37
+ trackerKey: 'isIdentityIdStale',
38
+ logMessage: 'identityId changed',
39
+ isStale: () => identityCache?.identityId !== incomingIdentity?.identityId,
40
+ },
41
+ {
42
+ trackerKey: 'isUserIdsStale',
43
+ logMessage: 'userIds changed',
44
+ isStale: () => hasNewTrait(cachedTraits?.userIds ?? [], incomingTraits?.userIds ?? []),
45
+ },
46
+ {
47
+ trackerKey: 'isIdsStale',
48
+ logMessage: 'ids changed',
49
+ isStale: () => hasNewTrait(cachedTraits?.ids ?? [], incomingTraits?.ids ?? []),
50
+ },
51
+ {
52
+ trackerKey: 'isEmailsStale',
53
+ logMessage: 'emails changed',
54
+ isStale: () => hasNewTrait(cachedTraits?.emails ?? [], incomingTraits?.emails ?? []),
55
+ },
56
+ {
57
+ trackerKey: 'isPhonesStale',
58
+ logMessage: 'phones changed',
59
+ isStale: () => hasNewTrait(cachedTraits?.phones ?? [], incomingTraits?.phones ?? []),
60
+ },
61
+ {
62
+ trackerKey: 'isShopifyYIdsStale',
63
+ logMessage: 'shopify Y ids changed',
64
+ isStale: () => hasNewTrait(cachedTraits?.shopifyYIds ?? [], incomingTraits?.shopifyYIds ?? []),
65
+ },
66
+ {
67
+ trackerKey: 'isGendersStale',
68
+ logMessage: 'genders changed',
69
+ isStale: () => hasNewTrait(cachedTraits?.genders ?? [], incomingTraits?.genders ?? []),
70
+ },
71
+ {
72
+ trackerKey: 'isDobsStale',
73
+ logMessage: 'dobs changed',
74
+ isStale: () => hasNewTrait(cachedTraits?.dobs ?? [], incomingTraits?.dobs ?? []),
75
+ },
76
+ {
77
+ trackerKey: 'isAddressesStale',
78
+ logMessage: 'address changed',
79
+ isStale: () => hasNewAddress(cachedTraits?.addresses ?? [], incomingTraits?.addresses ?? []),
80
+ },
81
+ {
82
+ trackerKey: 'isClickInfosStale',
83
+ logMessage: 'clickInfos changed',
84
+ isStale: () => isClickInfosStale(cachedTraits?.click ?? {}, incomingTraits?.click ?? {}),
85
+ },
86
+ {
87
+ trackerKey: 'isIpAddressStale',
88
+ logMessage: 'ipAddress changed',
89
+ isStale: () => checkScalarTraitChanged(cachedTraits?.ipAddress, incomingTraits?.ipAddress),
90
+ },
91
+ {
92
+ trackerKey: 'isUserAgentStale',
93
+ logMessage: 'userAgent changed',
94
+ isStale: () => checkScalarTraitChanged(cachedTraits?.userAgent, incomingTraits?.userAgent),
95
+ },
96
+ ];
97
+ for (const check of checks) {
98
+ if (check.isStale()) {
99
+ markStale(tracker, check.trackerKey, check.logMessage);
100
+ }
93
101
  }
94
- if (identityCacheStaleTracker.isCacheStale) {
95
- Logger.debug('identity cache miss - cache stale', { identityCacheStaleTracker });
102
+ if (tracker.isCacheStale) {
103
+ Logger.debug('identity cache miss - cache stale', { identityCacheStaleTracker: tracker });
96
104
  }
97
- return identityCacheStaleTracker;
105
+ return tracker;
98
106
  }
99
107
  catch (error) {
100
108
  Logger.error('Error while checking if identity cache is stale', { error });
101
109
  return { isCacheStale: true };
102
110
  }
103
111
  };
112
+ const shouldSkipClickKey = (key) => key === 'googleClientInfos' || key.includes('CollectedAt');
113
+ const extractFbclid = (fbc) => fbc?.split('.')?.[3];
114
+ const isFbcStale = (cachedFbc, incomingFbc) => {
115
+ if (incomingFbc && !cachedFbc) {
116
+ return true;
117
+ }
118
+ if (!incomingFbc || !cachedFbc || incomingFbc === cachedFbc) {
119
+ return false;
120
+ }
121
+ const incomingFbclid = extractFbclid(incomingFbc);
122
+ const cachedFbclid = extractFbclid(cachedFbc);
123
+ return !incomingFbclid || !cachedFbclid || incomingFbclid !== cachedFbclid;
124
+ };
125
+ const isGenericClickKeyStale = (cachedValue, incomingValue) => (Boolean(incomingValue) && !cachedValue) || incomingValue !== cachedValue;
104
126
  export const isClickInfosStale = (cachedClick, incomingClick) => {
105
127
  const cleanedCachedClick = removeEmptyFields(cachedClick);
106
128
  const cleanedIncomingClick = removeEmptyFields(incomingClick);
107
129
  const incomingKeys = Object.keys(cleanedIncomingClick);
108
- const clickInfoStaleTracker = {
109
- cleanedCachedClick,
110
- cleanedIncomingClick,
111
- isClickInfosStale: false,
112
- staleKeys: [],
113
- };
114
- incomingKeys.forEach((key) => {
115
- if (key === 'googleClientInfos' || key.includes('CollectedAt')) {
116
- return true;
117
- }
118
- else if (key === 'fbc') {
119
- const cachedClickValue = cleanedCachedClick?.[key];
120
- const incomingClickValue = cleanedIncomingClick?.[key];
121
- if (incomingClickValue && !cachedClickValue) {
122
- clickInfoStaleTracker.isClickInfosStale = true;
123
- clickInfoStaleTracker.staleKeys.push(key);
124
- }
125
- else if (incomingClickValue && cachedClickValue && incomingClickValue !== cachedClickValue) {
126
- const incomingFbcFbclid = incomingClickValue?.split('.')?.[3];
127
- const cachedFbcFbclid = cachedClickValue?.split('.')?.[3];
128
- if (incomingFbcFbclid !== cachedFbcFbclid) {
129
- clickInfoStaleTracker.isClickInfosStale = true;
130
- clickInfoStaleTracker.staleKeys.push(key);
131
- }
132
- if (!incomingFbcFbclid || !cachedFbcFbclid) {
133
- clickInfoStaleTracker.isClickInfosStale = true;
134
- clickInfoStaleTracker.staleKeys.push(key);
135
- }
136
- }
137
- }
138
- else {
139
- const cachedClickValue = cleanedCachedClick?.[key];
140
- const incomingClickValue = cleanedIncomingClick?.[key];
141
- if ((incomingClickValue && !cachedClickValue) || incomingClickValue !== cachedClickValue) {
142
- clickInfoStaleTracker.isClickInfosStale = true;
143
- clickInfoStaleTracker.staleKeys.push(key);
144
- }
130
+ const staleKeys = [];
131
+ for (const key of incomingKeys) {
132
+ if (shouldSkipClickKey(key)) {
133
+ continue;
134
+ }
135
+ const cachedValue = cleanedCachedClick?.[key];
136
+ const incomingValue = cleanedIncomingClick?.[key];
137
+ const isStale = key === 'fbc'
138
+ ? isFbcStale(cachedValue, incomingValue)
139
+ : isGenericClickKeyStale(cachedValue, incomingValue);
140
+ if (isStale) {
141
+ staleKeys.push(key);
145
142
  }
146
- });
147
- if (clickInfoStaleTracker.isClickInfosStale) {
148
- Logger.debug('identity cache miss - clickInfos changed', { clickInfoStaleTracker });
149
143
  }
150
- return clickInfoStaleTracker.isClickInfosStale;
144
+ if (staleKeys.length > 0) {
145
+ Logger.debug('identity cache miss - clickInfos changed', {
146
+ cleanedCachedClick,
147
+ cleanedIncomingClick,
148
+ staleKeys,
149
+ });
150
+ }
151
+ return staleKeys.length > 0;
151
152
  };
152
153
  //# sourceMappingURL=identity-cache-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-cache-helper.js","sourceRoot":"","sources":["../../../src/helpers/identity-cache-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-cache-helper.js","sourceRoot":"","sources":["../../../src/helpers/identity-cache-helper.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,9 @@ export declare class IdentityCacheDynamoDbService {
17
17
  static deleteIdentityCache: (pixelId: string, incomingIdentity: EventIdentity, resolvedIdentity: EventIdentity) => Promise<void>;
18
18
  static deleteIdentityMap: (pixelId: string, identityId: string) => Promise<void>;
19
19
  static deleteForcePurgeFlag: (pixelId: string, identityId: string) => Promise<void>;
20
- private static identifyPrivateLambda;
20
+ private static readFromCache;
21
+ private static resolveFromNeptune;
22
+ private static writeBackToCache;
21
23
  private static getIdentityCacheFromSecondaryKeys;
22
24
  private static getItemByPk;
23
25
  private static queryByGsi1;
@@ -22,7 +22,7 @@ export class IdentityCacheDynamoDbService {
22
22
  Logger.error('getIdentityWithCaching - No pixelId or incomingIdentity', { pixelId, incomingIdentity });
23
23
  return undefined;
24
24
  }
25
- const cacheResponse = await this.getIdentityFromCache(pixelId, incomingIdentity);
25
+ const cacheResponse = await this.readFromCache(pixelId, incomingIdentity);
26
26
  let resolvedIdentity = cacheResponse.resolvedIdentity;
27
27
  const isCacheStale = cacheResponse.isCacheStale;
28
28
  if (resolvedIdentity && !isCacheStale) {
@@ -30,14 +30,13 @@ export class IdentityCacheDynamoDbService {
30
30
  return resolvedIdentity;
31
31
  }
32
32
  Logger.debug('identity cache stale - fetching from identity service', { incomingIdentity });
33
- const response = await this.identifyPrivateLambda(pixelId, incomingIdentity, identifyPrivateLambdaArn);
34
- if (response?.resolvedIdentity) {
35
- resolvedIdentity = response.resolvedIdentity;
36
- await this.updateIdentityCache(pixelId, resolvedIdentity);
33
+ const neptuneIdentity = await this.resolveFromNeptune(pixelId, incomingIdentity, identifyPrivateLambdaArn);
34
+ if (neptuneIdentity) {
35
+ resolvedIdentity = neptuneIdentity;
36
+ await this.writeBackToCache(pixelId, resolvedIdentity);
37
37
  }
38
38
  else {
39
- Logger.error('Failed to getIdentity from identifyPrivateLambda', {
40
- response,
39
+ Logger.error('Failed to getIdentity from Neptune', {
41
40
  pixelId,
42
41
  incomingIdentity,
43
42
  identifyPrivateLambdaArn,
@@ -293,7 +292,10 @@ export class IdentityCacheDynamoDbService {
293
292
  Logger.error('Error while deleting force purge flag', { error, pixelId, identityId });
294
293
  }
295
294
  };
296
- static identifyPrivateLambda = async (pixelId, incomingIdentity, identifyPrivateLambdaArn) => {
295
+ static readFromCache = async (pixelId, incomingIdentity) => {
296
+ return await this.getIdentityFromCache(pixelId, incomingIdentity);
297
+ };
298
+ static resolveFromNeptune = async (pixelId, incomingIdentity, identifyPrivateLambdaArn) => {
297
299
  try {
298
300
  const client = this.getLambdaInvokeClient();
299
301
  const response = await client.invokeFunction(identifyPrivateLambdaArn, {
@@ -302,15 +304,18 @@ export class IdentityCacheDynamoDbService {
302
304
  });
303
305
  if (response?.statusCode === 200 && response?.body) {
304
306
  const identifyResponse = JSON.parse(response.body);
305
- return { resolvedIdentity: identifyResponse?.identity };
307
+ return identifyResponse?.identity;
306
308
  }
307
- return { resolvedIdentity: incomingIdentity };
309
+ return incomingIdentity;
308
310
  }
309
311
  catch (error) {
310
- Logger.error('Error while identifying private lambda', { error });
311
- return { resolvedIdentity: undefined };
312
+ Logger.error('Error while resolving identity from Neptune', { error });
313
+ return undefined;
312
314
  }
313
315
  };
316
+ static writeBackToCache = async (pixelId, resolvedIdentity) => {
317
+ await this.updateIdentityCache(pixelId, resolvedIdentity);
318
+ };
314
319
  static getIdentityCacheFromSecondaryKeys = async (pixelId, incomingIdentity) => {
315
320
  try {
316
321
  if (!pixelId || !incomingIdentity) {
@@ -1 +1 @@
1
- {"version":3,"file":"identity-cache-dynamodb-service.js","sourceRoot":"","sources":["../../../../src/services/db/identity-cache-dynamodb-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-cache-dynamodb-service.js","sourceRoot":"","sources":["../../../../src/services/db/identity-cache-dynamodb-service.ts"],"names":[],"mappings":"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"}