@adtrackify/at-service-common 3.0.56 → 3.0.57
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 +1 -3
- package/dist/cjs/services/db/identity-cache-db-service.js +75 -66
- package/dist/cjs/services/db/identity-cache-db-service.js.map +1 -1
- package/dist/esm/services/db/identity-cache-db-service.d.ts +1 -3
- package/dist/esm/services/db/identity-cache-db-service.js +75 -63
- package/dist/esm/services/db/identity-cache-db-service.js.map +1 -1
- package/package.json +1 -1
|
@@ -18,10 +18,8 @@ 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
|
-
getIdentityCache(incomingIdentity: EventIdentity, pixelId: string): Promise<{
|
|
22
|
+
getIdentityFromCache(pixelId: string, incomingIdentity: EventIdentity): Promise<{
|
|
25
23
|
resolvedIdentity: EventIdentity | undefined;
|
|
26
24
|
updateCache: boolean;
|
|
27
25
|
}>;
|
|
@@ -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,19 @@ 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
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
if (!resolvedIdentity && incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
|
|
112
|
-
for (let i = 0; i < incomingIdentity.traits.emails.length; i++) {
|
|
113
|
-
const cacheKey = `identEmail_${pixelId}_${incomingIdentity.traits.emails[i]}`;
|
|
114
|
-
helpers_1.Logger.debug(' try lookup with email', { cacheKey });
|
|
95
|
+
async getIdentityFromCache(pixelId, incomingIdentity) {
|
|
96
|
+
try {
|
|
97
|
+
if (!pixelId || !incomingIdentity) {
|
|
98
|
+
return { resolvedIdentity: undefined, updateCache: false };
|
|
99
|
+
}
|
|
100
|
+
let updateCache = false;
|
|
101
|
+
let resolvedIdentity;
|
|
102
|
+
if (incomingIdentity?.identityId) {
|
|
103
|
+
const cacheKey = `identId_${pixelId}_${incomingIdentity.identityId}`;
|
|
104
|
+
helpers_1.Logger.debug(' try lookup with identityId', { cacheKey });
|
|
115
105
|
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
116
106
|
if (cachedIdentity) {
|
|
117
107
|
helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
@@ -119,39 +109,58 @@ class IdentityCacheDbService {
|
|
|
119
109
|
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
120
110
|
helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
121
111
|
resolvedIdentity = identityCache.response;
|
|
122
|
-
updateCache = true;
|
|
123
|
-
break;
|
|
124
112
|
}
|
|
125
113
|
}
|
|
126
114
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
115
|
+
if (!resolvedIdentity && incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
|
|
116
|
+
for (let i = 0; i < incomingIdentity.traits.emails.length; i++) {
|
|
117
|
+
const cacheKey = `identEmail_${pixelId}_${incomingIdentity.traits.emails[i]}`;
|
|
118
|
+
helpers_1.Logger.debug(' try lookup with email', { cacheKey });
|
|
119
|
+
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
120
|
+
if (cachedIdentity) {
|
|
121
|
+
helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
122
|
+
const identityCache = JSON.parse(cachedIdentity);
|
|
123
|
+
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
124
|
+
helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
125
|
+
resolvedIdentity = identityCache.response;
|
|
126
|
+
updateCache = true;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (!resolvedIdentity && incomingIdentity?.traits?.userIds && incomingIdentity?.traits?.userIds?.length > 0) {
|
|
133
|
+
for (let i = 0; i < incomingIdentity.traits.userIds.length; i++) {
|
|
134
|
+
const cacheKey = `identUserId_${pixelId}_${incomingIdentity.traits.userIds[i]}`;
|
|
135
|
+
helpers_1.Logger.debug(' try lookup with userId', { cacheKey });
|
|
136
|
+
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
137
|
+
if (cachedIdentity) {
|
|
138
|
+
helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
139
|
+
const identityCache = JSON.parse(cachedIdentity);
|
|
140
|
+
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
141
|
+
helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
142
|
+
resolvedIdentity = identityCache.response;
|
|
143
|
+
updateCache = true;
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (!resolvedIdentity) {
|
|
150
|
+
const identityCache = incomingIdentity?.identityId ? await this.getIdentityCacheFromDynamoDb(incomingIdentity?.identityId) : undefined;
|
|
151
|
+
if (identityCache) {
|
|
136
152
|
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
137
|
-
helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
138
153
|
resolvedIdentity = identityCache.response;
|
|
139
154
|
updateCache = true;
|
|
140
|
-
break;
|
|
141
155
|
}
|
|
142
156
|
}
|
|
143
157
|
}
|
|
158
|
+
return { resolvedIdentity, updateCache };
|
|
144
159
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
149
|
-
resolvedIdentity = identityCache.response;
|
|
150
|
-
updateCache = true;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
helpers_1.Logger.error('Error while getting identity from cache', { err });
|
|
162
|
+
return { resolvedIdentity: undefined, updateCache: false };
|
|
153
163
|
}
|
|
154
|
-
return { resolvedIdentity, updateCache };
|
|
155
164
|
}
|
|
156
165
|
isIdentityCacheStale(identityCache, incomingIdentity) {
|
|
157
166
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-cache-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/identity-cache-db-service.ts"],"names":[],"mappings":";;;;;;AACA,2CAA+D;AAC/D,qCAAiD;AACjD,iEAAkG;AAClG,2CAAuC;AACvC,sFAA6D;AAW7D,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,6BAA6B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5D,MAAa,sBAAsB;IAC1B,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,cAAc,CAAiB;IAC/B,WAAW,CAAc;IAEhC,YAAY,SAAiB,EAAE,SAAiB,EAAE,SAAiB,EAAE,QAAgB,EAAE,UAAkB,EAAE,gBAAyB;QAClI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,sBAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,gBAAgB,EAAE;YACpB,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;SACvC;aACI;YACH,IAAI,CAAC,aAAa,GAAG,2BAA2B,CAAC;SAClD;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,wBAAc,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAEM,sBAAsB,GAAG,KAAK,EAAE,OAAe,EAAE,mBAAkC,EAAE,EAAE,EAAE;QAC9F,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAA2E,MAAM,IAAI,CAAC,
|
|
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,10 +18,8 @@ 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
|
-
getIdentityCache(incomingIdentity: EventIdentity, pixelId: string): Promise<{
|
|
22
|
+
getIdentityFromCache(pixelId: string, incomingIdentity: EventIdentity): Promise<{
|
|
25
23
|
resolvedIdentity: EventIdentity | undefined;
|
|
26
24
|
updateCache: boolean;
|
|
27
25
|
}>;
|
|
@@ -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,19 @@ 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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
if (!resolvedIdentity && incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
|
|
103
|
-
for (let i = 0; i < incomingIdentity.traits.emails.length; i++) {
|
|
104
|
-
const cacheKey = `identEmail_${pixelId}_${incomingIdentity.traits.emails[i]}`;
|
|
105
|
-
Logger.debug(' try lookup with email', { cacheKey });
|
|
89
|
+
async getIdentityFromCache(pixelId, incomingIdentity) {
|
|
90
|
+
try {
|
|
91
|
+
if (!pixelId || !incomingIdentity) {
|
|
92
|
+
return { resolvedIdentity: undefined, updateCache: false };
|
|
93
|
+
}
|
|
94
|
+
let updateCache = false;
|
|
95
|
+
let resolvedIdentity;
|
|
96
|
+
if (incomingIdentity?.identityId) {
|
|
97
|
+
const cacheKey = `identId_${pixelId}_${incomingIdentity.identityId}`;
|
|
98
|
+
Logger.debug(' try lookup with identityId', { cacheKey });
|
|
106
99
|
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
107
100
|
if (cachedIdentity) {
|
|
108
101
|
Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
@@ -110,39 +103,58 @@ export class IdentityCacheDbService {
|
|
|
110
103
|
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
111
104
|
Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
112
105
|
resolvedIdentity = identityCache.response;
|
|
113
|
-
updateCache = true;
|
|
114
|
-
break;
|
|
115
106
|
}
|
|
116
107
|
}
|
|
117
108
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
109
|
+
if (!resolvedIdentity && incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
|
|
110
|
+
for (let i = 0; i < incomingIdentity.traits.emails.length; i++) {
|
|
111
|
+
const cacheKey = `identEmail_${pixelId}_${incomingIdentity.traits.emails[i]}`;
|
|
112
|
+
Logger.debug(' try lookup with email', { cacheKey });
|
|
113
|
+
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
114
|
+
if (cachedIdentity) {
|
|
115
|
+
Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
116
|
+
const identityCache = JSON.parse(cachedIdentity);
|
|
117
|
+
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
118
|
+
Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
119
|
+
resolvedIdentity = identityCache.response;
|
|
120
|
+
updateCache = true;
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (!resolvedIdentity && incomingIdentity?.traits?.userIds && incomingIdentity?.traits?.userIds?.length > 0) {
|
|
127
|
+
for (let i = 0; i < incomingIdentity.traits.userIds.length; i++) {
|
|
128
|
+
const cacheKey = `identUserId_${pixelId}_${incomingIdentity.traits.userIds[i]}`;
|
|
129
|
+
Logger.debug(' try lookup with userId', { cacheKey });
|
|
130
|
+
const cachedIdentity = await this.redisClient.get(cacheKey);
|
|
131
|
+
if (cachedIdentity) {
|
|
132
|
+
Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
|
|
133
|
+
const identityCache = JSON.parse(cachedIdentity);
|
|
134
|
+
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
135
|
+
Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
136
|
+
resolvedIdentity = identityCache.response;
|
|
137
|
+
updateCache = true;
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (!resolvedIdentity) {
|
|
144
|
+
const identityCache = incomingIdentity?.identityId ? await this.getIdentityCacheFromDynamoDb(incomingIdentity?.identityId) : undefined;
|
|
145
|
+
if (identityCache) {
|
|
127
146
|
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
128
|
-
Logger.debug('cache not stale', { cacheKey, identityCache });
|
|
129
147
|
resolvedIdentity = identityCache.response;
|
|
130
148
|
updateCache = true;
|
|
131
|
-
break;
|
|
132
149
|
}
|
|
133
150
|
}
|
|
134
151
|
}
|
|
152
|
+
return { resolvedIdentity, updateCache };
|
|
135
153
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
if (!this.isIdentityCacheStale(identityCache, incomingIdentity)) {
|
|
140
|
-
resolvedIdentity = identityCache.response;
|
|
141
|
-
updateCache = true;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
154
|
+
catch (err) {
|
|
155
|
+
Logger.error('Error while getting identity from cache', { err });
|
|
156
|
+
return { resolvedIdentity: undefined, updateCache: false };
|
|
144
157
|
}
|
|
145
|
-
return { resolvedIdentity, updateCache };
|
|
146
158
|
}
|
|
147
159
|
isIdentityCacheStale(identityCache, incomingIdentity) {
|
|
148
160
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-cache-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/identity-cache-db-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAW7D,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,6BAA6B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5D,MAAM,OAAO,sBAAsB;IAC1B,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,cAAc,CAAiB;IAC/B,WAAW,CAAc;IAEhC,YAAY,SAAiB,EAAE,SAAiB,EAAE,SAAiB,EAAE,QAAgB,EAAE,UAAkB,EAAE,gBAAyB;QAClI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,gBAAgB,EAAE;YACpB,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;SACvC;aACI;YACH,IAAI,CAAC,aAAa,GAAG,2BAA2B,CAAC;SAClD;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAEM,sBAAsB,GAAG,KAAK,EAAE,OAAe,EAAE,mBAAkC,EAAE,EAAE,EAAE;QAC9F,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAA2E,MAAM,IAAI,CAAC,
|
|
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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"}
|