@adtrackify/at-service-common 3.0.56 → 3.0.58
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.
- package/dist/cjs/services/db/identity-cache-db-service.d.ts +4 -3
- package/dist/cjs/services/db/identity-cache-db-service.js +115 -64
- package/dist/cjs/services/db/identity-cache-db-service.js.map +1 -1
- package/dist/esm/services/db/identity-cache-db-service.d.ts +4 -3
- package/dist/esm/services/db/identity-cache-db-service.js +115 -61
- package/dist/esm/services/db/identity-cache-db-service.js.map +1 -1
- package/package.json +1 -1
|
@@ -18,12 +18,13 @@ export declare class IdentityCacheDbService {
|
|
|
18
18
|
constructor(redisHost: string, redisPort: number, tableName: string, tableKey: string, baseApiUrl: string, cacheTtlInMonths?: number);
|
|
19
19
|
getIdentityWithCaching: (pixelId: string, incomingIdentity?: EventIdentity) => Promise<EventIdentity | undefined>;
|
|
20
20
|
updateIdentityCacheRedis: (pixelId: string, request: EventIdentity, response: EventIdentity) => Promise<void>;
|
|
21
|
-
putIdentityCache: (identityCache: IdentityCache) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
|
|
22
21
|
getIdentityCacheFromDynamoDb: (identityId: string) => Promise<IdentityCache>;
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
deleteIdentityCacheDynamoDb: (incomingIdentity: EventIdentity, resolvedIdentity: EventIdentity) => Promise<void>;
|
|
23
|
+
getIdentityFromCache(pixelId: string, incomingIdentity: EventIdentity): Promise<{
|
|
25
24
|
resolvedIdentity: EventIdentity | undefined;
|
|
26
25
|
updateCache: boolean;
|
|
27
26
|
}>;
|
|
27
|
+
deleteIdentityCache(pixelId: string, incomingIdentity: EventIdentity, resolvedIdentity: EventIdentity): Promise<void>;
|
|
28
|
+
private deleteIdentityCacheRedis;
|
|
28
29
|
isIdentityCacheStale(identityCache: IdentityCache, incomingIdentity: EventIdentity): boolean;
|
|
29
30
|
}
|
|
@@ -30,22 +30,32 @@ class IdentityCacheDbService {
|
|
|
30
30
|
this.identityClient = new clients_1.IdentityClient(baseApiUrl);
|
|
31
31
|
}
|
|
32
32
|
getIdentityWithCaching = async (pixelId, incomingIdentity = {}) => {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
try {
|
|
34
|
+
if (!pixelId || !incomingIdentity) {
|
|
35
|
+
helpers_1.Logger.error('getIdentityWithCaching -No pixelId or incomingIdentity', { pixelId, incomingIdentity });
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
let { resolvedIdentity, updateCache } = await this.getIdentityFromCache(pixelId, incomingIdentity);
|
|
39
|
+
if (!resolvedIdentity) {
|
|
40
|
+
helpers_1.Logger.warn('identity cache miss - fetching from identity service', { incomingIdentity });
|
|
41
|
+
resolvedIdentity = await this.identityClient.getIdentity(pixelId, { identity: incomingIdentity });
|
|
42
|
+
updateCache = true;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
helpers_1.Logger.debug('identity cache hit', { incomingIdentity });
|
|
46
|
+
}
|
|
47
|
+
if (updateCache && resolvedIdentity) {
|
|
48
|
+
await this.updateIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity);
|
|
49
|
+
}
|
|
50
|
+
if (!resolvedIdentity) {
|
|
51
|
+
helpers_1.Logger.error('No identity found', { pixelId, incomingIdentity });
|
|
52
|
+
}
|
|
53
|
+
return resolvedIdentity;
|
|
44
54
|
}
|
|
45
|
-
|
|
46
|
-
helpers_1.Logger.error('
|
|
55
|
+
catch (error) {
|
|
56
|
+
helpers_1.Logger.error('Error while getting identity with caching', { error });
|
|
57
|
+
return undefined;
|
|
47
58
|
}
|
|
48
|
-
return resolvedIdentity;
|
|
49
59
|
};
|
|
50
60
|
updateIdentityCacheRedis = async (pixelId, request, response) => {
|
|
51
61
|
if (!response || !response.identityId || !pixelId) {
|
|
@@ -79,39 +89,23 @@ class IdentityCacheDbService {
|
|
|
79
89
|
}
|
|
80
90
|
}
|
|
81
91
|
};
|
|
82
|
-
putIdentityCache = async (identityCache) => {
|
|
83
|
-
helpers_1.Logger.debug('put identity cache', { identityCache });
|
|
84
|
-
return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, identityCache);
|
|
85
|
-
};
|
|
86
92
|
getIdentityCacheFromDynamoDb = async (identityId) => {
|
|
87
93
|
return await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, identityId);
|
|
88
94
|
};
|
|
89
|
-
|
|
90
|
-
|
|
95
|
+
deleteIdentityCacheDynamoDb = async (incomingIdentity, resolvedIdentity) => {
|
|
96
|
+
await clients_1.DynamoDbClient.safeDelete(this.TABLE_NAME, this.TABLE_KEY, incomingIdentity?.identityId);
|
|
97
|
+
await clients_1.DynamoDbClient.safeDelete(this.TABLE_NAME, this.TABLE_KEY, resolvedIdentity?.identityId);
|
|
91
98
|
};
|
|
92
|
-
async
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
let updateCache = false;
|
|
97
|
-
let resolvedIdentity;
|
|
98
|
-
if (incomingIdentity?.identityId) {
|
|
99
|
-
const cacheKey = `identId_${pixelId}_${incomingIdentity.identityId}`;
|
|
100
|
-
helpers_1.Logger.debug(' try lookup with identityId', { cacheKey });
|
|
101
|
-
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
102
|
-
if (cachedIdentity) {
|
|
103
|
-
helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
104
|
-
const identityCache = JSON.parse(cachedIdentity);
|
|
105
|
-
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
106
|
-
helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
107
|
-
resolvedIdentity = identityCache.response;
|
|
108
|
-
}
|
|
99
|
+
async getIdentityFromCache(pixelId, incomingIdentity) {
|
|
100
|
+
try {
|
|
101
|
+
if (!pixelId || !incomingIdentity) {
|
|
102
|
+
return { resolvedIdentity: undefined, updateCache: false };
|
|
109
103
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const cacheKey = `
|
|
114
|
-
helpers_1.Logger.debug(' try lookup with
|
|
104
|
+
let updateCache = false;
|
|
105
|
+
let resolvedIdentity;
|
|
106
|
+
if (incomingIdentity?.identityId) {
|
|
107
|
+
const cacheKey = `identId_${pixelId}_${incomingIdentity.identityId}`;
|
|
108
|
+
helpers_1.Logger.debug(' try lookup with identityId', { cacheKey });
|
|
115
109
|
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
116
110
|
if (cachedIdentity) {
|
|
117
111
|
helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
@@ -119,39 +113,96 @@ class IdentityCacheDbService {
|
|
|
119
113
|
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
120
114
|
helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
121
115
|
resolvedIdentity = identityCache.response;
|
|
122
|
-
updateCache = true;
|
|
123
|
-
break;
|
|
124
116
|
}
|
|
125
117
|
}
|
|
126
118
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
119
|
+
if (!resolvedIdentity && incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
|
|
120
|
+
for (let i = 0; i < incomingIdentity.traits.emails.length; i++) {
|
|
121
|
+
const cacheKey = `identEmail_${pixelId}_${incomingIdentity.traits.emails[i]}`;
|
|
122
|
+
helpers_1.Logger.debug(' try lookup with email', { cacheKey });
|
|
123
|
+
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
124
|
+
if (cachedIdentity) {
|
|
125
|
+
helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
126
|
+
const identityCache = JSON.parse(cachedIdentity);
|
|
127
|
+
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
128
|
+
helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
129
|
+
resolvedIdentity = identityCache.response;
|
|
130
|
+
updateCache = true;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (!resolvedIdentity && incomingIdentity?.traits?.userIds && incomingIdentity?.traits?.userIds?.length > 0) {
|
|
137
|
+
for (let i = 0; i < incomingIdentity.traits.userIds.length; i++) {
|
|
138
|
+
const cacheKey = `identUserId_${pixelId}_${incomingIdentity.traits.userIds[i]}`;
|
|
139
|
+
helpers_1.Logger.debug(' try lookup with userId', { cacheKey });
|
|
140
|
+
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
141
|
+
if (cachedIdentity) {
|
|
142
|
+
helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
143
|
+
const identityCache = JSON.parse(cachedIdentity);
|
|
144
|
+
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
145
|
+
helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
146
|
+
resolvedIdentity = identityCache.response;
|
|
147
|
+
updateCache = true;
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (!resolvedIdentity) {
|
|
154
|
+
const identityCache = incomingIdentity?.identityId ? await this.getIdentityCacheFromDynamoDb(incomingIdentity?.identityId) : undefined;
|
|
155
|
+
if (identityCache) {
|
|
136
156
|
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
137
|
-
helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
138
157
|
resolvedIdentity = identityCache.response;
|
|
139
158
|
updateCache = true;
|
|
140
|
-
break;
|
|
141
159
|
}
|
|
142
160
|
}
|
|
143
161
|
}
|
|
162
|
+
return { resolvedIdentity, updateCache };
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
helpers_1.Logger.error('Error while getting identity from cache', { err });
|
|
166
|
+
return { resolvedIdentity: undefined, updateCache: false };
|
|
144
167
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
168
|
+
}
|
|
169
|
+
async deleteIdentityCache(pixelId, incomingIdentity, resolvedIdentity) {
|
|
170
|
+
await this.deleteIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity);
|
|
171
|
+
await this.deleteIdentityCacheDynamoDb(incomingIdentity, resolvedIdentity);
|
|
172
|
+
}
|
|
173
|
+
async deleteIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity) {
|
|
174
|
+
try {
|
|
175
|
+
if (!pixelId) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const keysToDelete = [];
|
|
179
|
+
if (incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
|
|
180
|
+
keysToDelete.push(...incomingIdentity.traits.emails.map(email => `identEmail_${pixelId}_${email}`));
|
|
181
|
+
}
|
|
182
|
+
if (incomingIdentity?.traits?.userIds && incomingIdentity?.traits?.userIds.length > 0) {
|
|
183
|
+
keysToDelete.push(...incomingIdentity.traits.userIds.map(userId => `identUserId_${pixelId}_${userId}`));
|
|
184
|
+
}
|
|
185
|
+
if (incomingIdentity?.identityId) {
|
|
186
|
+
keysToDelete.push(`identId_${pixelId}_${incomingIdentity.identityId}`);
|
|
187
|
+
}
|
|
188
|
+
if (resolvedIdentity?.traits?.emails && resolvedIdentity?.traits?.emails.length > 0) {
|
|
189
|
+
keysToDelete.push(...resolvedIdentity.traits.emails.map(email => `identEmail_${pixelId}_${email}`));
|
|
190
|
+
}
|
|
191
|
+
if (resolvedIdentity?.traits?.userIds && resolvedIdentity?.traits?.userIds.length > 0) {
|
|
192
|
+
keysToDelete.push(...resolvedIdentity.traits.userIds.map(userId => `identUserId_${pixelId}_${userId}`));
|
|
193
|
+
}
|
|
194
|
+
if (resolvedIdentity?.identityId) {
|
|
195
|
+
keysToDelete.push(`identId_${pixelId}_${resolvedIdentity.identityId}`);
|
|
196
|
+
}
|
|
197
|
+
if (keysToDelete.length > 0) {
|
|
198
|
+
for (let i = 0; i < keysToDelete.length; i++) {
|
|
199
|
+
await this.redisClient.del(keysToDelete[i]);
|
|
151
200
|
}
|
|
152
201
|
}
|
|
153
202
|
}
|
|
154
|
-
|
|
203
|
+
catch (err) {
|
|
204
|
+
helpers_1.Logger.error('Error while deleting identity cache', { err });
|
|
205
|
+
}
|
|
155
206
|
}
|
|
156
207
|
isIdentityCacheStale(identityCache, incomingIdentity) {
|
|
157
208
|
try {
|
|
@@ -208,8 +259,8 @@ class IdentityCacheDbService {
|
|
|
208
259
|
}
|
|
209
260
|
return false;
|
|
210
261
|
}
|
|
211
|
-
catch (
|
|
212
|
-
helpers_1.Logger.error('Error while checking if identity cache is stale', {
|
|
262
|
+
catch (err) {
|
|
263
|
+
helpers_1.Logger.error('Error while checking if identity cache is stale', { err });
|
|
213
264
|
return true;
|
|
214
265
|
}
|
|
215
266
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-cache-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/identity-cache-db-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"identity-cache-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/identity-cache-db-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,12 +18,13 @@ export declare class IdentityCacheDbService {
|
|
|
18
18
|
constructor(redisHost: string, redisPort: number, tableName: string, tableKey: string, baseApiUrl: string, cacheTtlInMonths?: number);
|
|
19
19
|
getIdentityWithCaching: (pixelId: string, incomingIdentity?: EventIdentity) => Promise<EventIdentity | undefined>;
|
|
20
20
|
updateIdentityCacheRedis: (pixelId: string, request: EventIdentity, response: EventIdentity) => Promise<void>;
|
|
21
|
-
putIdentityCache: (identityCache: IdentityCache) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
|
|
22
21
|
getIdentityCacheFromDynamoDb: (identityId: string) => Promise<IdentityCache>;
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
deleteIdentityCacheDynamoDb: (incomingIdentity: EventIdentity, resolvedIdentity: EventIdentity) => Promise<void>;
|
|
23
|
+
getIdentityFromCache(pixelId: string, incomingIdentity: EventIdentity): Promise<{
|
|
25
24
|
resolvedIdentity: EventIdentity | undefined;
|
|
26
25
|
updateCache: boolean;
|
|
27
26
|
}>;
|
|
27
|
+
deleteIdentityCache(pixelId: string, incomingIdentity: EventIdentity, resolvedIdentity: EventIdentity): Promise<void>;
|
|
28
|
+
private deleteIdentityCacheRedis;
|
|
28
29
|
isIdentityCacheStale(identityCache: IdentityCache, incomingIdentity: EventIdentity): boolean;
|
|
29
30
|
}
|
|
@@ -24,22 +24,32 @@ export class IdentityCacheDbService {
|
|
|
24
24
|
this.identityClient = new IdentityClient(baseApiUrl);
|
|
25
25
|
}
|
|
26
26
|
getIdentityWithCaching = async (pixelId, incomingIdentity = {}) => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
try {
|
|
28
|
+
if (!pixelId || !incomingIdentity) {
|
|
29
|
+
Logger.error('getIdentityWithCaching -No pixelId or incomingIdentity', { pixelId, incomingIdentity });
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
let { resolvedIdentity, updateCache } = await this.getIdentityFromCache(pixelId, incomingIdentity);
|
|
33
|
+
if (!resolvedIdentity) {
|
|
34
|
+
Logger.warn('identity cache miss - fetching from identity service', { incomingIdentity });
|
|
35
|
+
resolvedIdentity = await this.identityClient.getIdentity(pixelId, { identity: incomingIdentity });
|
|
36
|
+
updateCache = true;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
Logger.debug('identity cache hit', { incomingIdentity });
|
|
40
|
+
}
|
|
41
|
+
if (updateCache && resolvedIdentity) {
|
|
42
|
+
await this.updateIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity);
|
|
43
|
+
}
|
|
44
|
+
if (!resolvedIdentity) {
|
|
45
|
+
Logger.error('No identity found', { pixelId, incomingIdentity });
|
|
46
|
+
}
|
|
47
|
+
return resolvedIdentity;
|
|
38
48
|
}
|
|
39
|
-
|
|
40
|
-
Logger.error('
|
|
49
|
+
catch (error) {
|
|
50
|
+
Logger.error('Error while getting identity with caching', { error });
|
|
51
|
+
return undefined;
|
|
41
52
|
}
|
|
42
|
-
return resolvedIdentity;
|
|
43
53
|
};
|
|
44
54
|
updateIdentityCacheRedis = async (pixelId, request, response) => {
|
|
45
55
|
if (!response || !response.identityId || !pixelId) {
|
|
@@ -73,36 +83,23 @@ export class IdentityCacheDbService {
|
|
|
73
83
|
}
|
|
74
84
|
}
|
|
75
85
|
};
|
|
76
|
-
putIdentityCache = async (identityCache) => {
|
|
77
|
-
Logger.debug('put identity cache', { identityCache });
|
|
78
|
-
return await DynamoDbClient.safePut(this.TABLE_NAME, identityCache);
|
|
79
|
-
};
|
|
80
86
|
getIdentityCacheFromDynamoDb = async (identityId) => {
|
|
81
87
|
return await DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, identityId);
|
|
82
88
|
};
|
|
83
|
-
|
|
84
|
-
|
|
89
|
+
deleteIdentityCacheDynamoDb = async (incomingIdentity, resolvedIdentity) => {
|
|
90
|
+
await DynamoDbClient.safeDelete(this.TABLE_NAME, this.TABLE_KEY, incomingIdentity?.identityId);
|
|
91
|
+
await DynamoDbClient.safeDelete(this.TABLE_NAME, this.TABLE_KEY, resolvedIdentity?.identityId);
|
|
85
92
|
};
|
|
86
|
-
async
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const cacheKey = `identId_${pixelId}_${incomingIdentity.identityId}`;
|
|
91
|
-
Logger.debug(' try lookup with identityId', { cacheKey });
|
|
92
|
-
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
93
|
-
if (cachedIdentity) {
|
|
94
|
-
Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
95
|
-
const identityCache = JSON.parse(cachedIdentity);
|
|
96
|
-
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
97
|
-
Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
98
|
-
resolvedIdentity = identityCache.response;
|
|
99
|
-
}
|
|
93
|
+
async getIdentityFromCache(pixelId, incomingIdentity) {
|
|
94
|
+
try {
|
|
95
|
+
if (!pixelId || !incomingIdentity) {
|
|
96
|
+
return { resolvedIdentity: undefined, updateCache: false };
|
|
100
97
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const cacheKey = `
|
|
105
|
-
Logger.debug(' try lookup with
|
|
98
|
+
let updateCache = false;
|
|
99
|
+
let resolvedIdentity;
|
|
100
|
+
if (incomingIdentity?.identityId) {
|
|
101
|
+
const cacheKey = `identId_${pixelId}_${incomingIdentity.identityId}`;
|
|
102
|
+
Logger.debug(' try lookup with identityId', { cacheKey });
|
|
106
103
|
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
107
104
|
if (cachedIdentity) {
|
|
108
105
|
Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
@@ -110,39 +107,96 @@ export class IdentityCacheDbService {
|
|
|
110
107
|
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
111
108
|
Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
112
109
|
resolvedIdentity = identityCache.response;
|
|
113
|
-
updateCache = true;
|
|
114
|
-
break;
|
|
115
110
|
}
|
|
116
111
|
}
|
|
117
112
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
113
|
+
if (!resolvedIdentity && incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
|
|
114
|
+
for (let i = 0; i < incomingIdentity.traits.emails.length; i++) {
|
|
115
|
+
const cacheKey = `identEmail_${pixelId}_${incomingIdentity.traits.emails[i]}`;
|
|
116
|
+
Logger.debug(' try lookup with email', { cacheKey });
|
|
117
|
+
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
118
|
+
if (cachedIdentity) {
|
|
119
|
+
Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
120
|
+
const identityCache = JSON.parse(cachedIdentity);
|
|
121
|
+
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
122
|
+
Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
123
|
+
resolvedIdentity = identityCache.response;
|
|
124
|
+
updateCache = true;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (!resolvedIdentity && incomingIdentity?.traits?.userIds && incomingIdentity?.traits?.userIds?.length > 0) {
|
|
131
|
+
for (let i = 0; i < incomingIdentity.traits.userIds.length; i++) {
|
|
132
|
+
const cacheKey = `identUserId_${pixelId}_${incomingIdentity.traits.userIds[i]}`;
|
|
133
|
+
Logger.debug(' try lookup with userId', { cacheKey });
|
|
134
|
+
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
135
|
+
if (cachedIdentity) {
|
|
136
|
+
Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
137
|
+
const identityCache = JSON.parse(cachedIdentity);
|
|
138
|
+
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
139
|
+
Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
140
|
+
resolvedIdentity = identityCache.response;
|
|
141
|
+
updateCache = true;
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (!resolvedIdentity) {
|
|
148
|
+
const identityCache = incomingIdentity?.identityId ? await this.getIdentityCacheFromDynamoDb(incomingIdentity?.identityId) : undefined;
|
|
149
|
+
if (identityCache) {
|
|
127
150
|
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
128
|
-
Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
129
151
|
resolvedIdentity = identityCache.response;
|
|
130
152
|
updateCache = true;
|
|
131
|
-
break;
|
|
132
153
|
}
|
|
133
154
|
}
|
|
134
155
|
}
|
|
156
|
+
return { resolvedIdentity, updateCache };
|
|
157
|
+
}
|
|
158
|
+
catch (err) {
|
|
159
|
+
Logger.error('Error while getting identity from cache', { err });
|
|
160
|
+
return { resolvedIdentity: undefined, updateCache: false };
|
|
135
161
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
162
|
+
}
|
|
163
|
+
async deleteIdentityCache(pixelId, incomingIdentity, resolvedIdentity) {
|
|
164
|
+
await this.deleteIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity);
|
|
165
|
+
await this.deleteIdentityCacheDynamoDb(incomingIdentity, resolvedIdentity);
|
|
166
|
+
}
|
|
167
|
+
async deleteIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity) {
|
|
168
|
+
try {
|
|
169
|
+
if (!pixelId) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
const keysToDelete = [];
|
|
173
|
+
if (incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
|
|
174
|
+
keysToDelete.push(...incomingIdentity.traits.emails.map(email => `identEmail_${pixelId}_${email}`));
|
|
175
|
+
}
|
|
176
|
+
if (incomingIdentity?.traits?.userIds && incomingIdentity?.traits?.userIds.length > 0) {
|
|
177
|
+
keysToDelete.push(...incomingIdentity.traits.userIds.map(userId => `identUserId_${pixelId}_${userId}`));
|
|
178
|
+
}
|
|
179
|
+
if (incomingIdentity?.identityId) {
|
|
180
|
+
keysToDelete.push(`identId_${pixelId}_${incomingIdentity.identityId}`);
|
|
181
|
+
}
|
|
182
|
+
if (resolvedIdentity?.traits?.emails && resolvedIdentity?.traits?.emails.length > 0) {
|
|
183
|
+
keysToDelete.push(...resolvedIdentity.traits.emails.map(email => `identEmail_${pixelId}_${email}`));
|
|
184
|
+
}
|
|
185
|
+
if (resolvedIdentity?.traits?.userIds && resolvedIdentity?.traits?.userIds.length > 0) {
|
|
186
|
+
keysToDelete.push(...resolvedIdentity.traits.userIds.map(userId => `identUserId_${pixelId}_${userId}`));
|
|
187
|
+
}
|
|
188
|
+
if (resolvedIdentity?.identityId) {
|
|
189
|
+
keysToDelete.push(`identId_${pixelId}_${resolvedIdentity.identityId}`);
|
|
190
|
+
}
|
|
191
|
+
if (keysToDelete.length > 0) {
|
|
192
|
+
for (let i = 0; i < keysToDelete.length; i++) {
|
|
193
|
+
await this.redisClient.del(keysToDelete[i]);
|
|
142
194
|
}
|
|
143
195
|
}
|
|
144
196
|
}
|
|
145
|
-
|
|
197
|
+
catch (err) {
|
|
198
|
+
Logger.error('Error while deleting identity cache', { err });
|
|
199
|
+
}
|
|
146
200
|
}
|
|
147
201
|
isIdentityCacheStale(identityCache, incomingIdentity) {
|
|
148
202
|
try {
|
|
@@ -199,8 +253,8 @@ export class IdentityCacheDbService {
|
|
|
199
253
|
}
|
|
200
254
|
return false;
|
|
201
255
|
}
|
|
202
|
-
catch (
|
|
203
|
-
Logger.error('Error while checking if identity cache is stale', {
|
|
256
|
+
catch (err) {
|
|
257
|
+
Logger.error('Error while checking if identity cache is stale', { err });
|
|
204
258
|
return true;
|
|
205
259
|
}
|
|
206
260
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-cache-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/identity-cache-db-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"identity-cache-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/identity-cache-db-service.ts"],"names":[],"mappings":"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"}
|