@adtrackify/at-service-common 3.0.52 → 3.0.54

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.
Files changed (31) hide show
  1. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +529 -0
  2. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js.map +1 -0
  3. package/dist/cjs/__tests__/libs/compress-decompress.spec.js.map +1 -0
  4. package/dist/cjs/clients/generic/redis-client.d.ts +16 -0
  5. package/dist/cjs/clients/generic/redis-client.js +101 -0
  6. package/dist/cjs/clients/generic/redis-client.js.map +1 -0
  7. package/dist/cjs/clients/generic/sqs-client.js +0 -2
  8. package/dist/cjs/clients/generic/sqs-client.js.map +1 -1
  9. package/dist/cjs/services/db/identity-cache-db-service.d.ts +10 -7
  10. package/dist/cjs/services/db/identity-cache-db-service.js +102 -26
  11. package/dist/cjs/services/db/identity-cache-db-service.js.map +1 -1
  12. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -0
  13. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +527 -0
  14. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js.map +1 -0
  15. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -0
  16. package/dist/esm/__tests__/libs/compress-decompress.spec.js.map +1 -0
  17. package/dist/esm/clients/generic/redis-client.d.ts +16 -0
  18. package/dist/esm/clients/generic/redis-client.js +96 -0
  19. package/dist/esm/clients/generic/redis-client.js.map +1 -0
  20. package/dist/esm/clients/generic/sqs-client.js +0 -2
  21. package/dist/esm/clients/generic/sqs-client.js.map +1 -1
  22. package/dist/esm/services/db/identity-cache-db-service.d.ts +10 -7
  23. package/dist/esm/services/db/identity-cache-db-service.js +99 -26
  24. package/dist/esm/services/db/identity-cache-db-service.js.map +1 -1
  25. package/package.json +6 -5
  26. package/dist/cjs/__tests__/s3-client/compress-decompress.spec.js.map +0 -1
  27. package/dist/esm/__tests__/s3-client/compress-decompress.spec.js.map +0 -1
  28. /package/dist/cjs/__tests__/{s3-client/compress-decompress.spec.d.ts → identity-cache/identity-cache-db-service.spec.d.ts} +0 -0
  29. /package/dist/{esm/__tests__/s3-client → cjs/__tests__/libs}/compress-decompress.spec.d.ts +0 -0
  30. /package/dist/cjs/__tests__/{s3-client → libs}/compress-decompress.spec.js +0 -0
  31. /package/dist/esm/__tests__/{s3-client → libs}/compress-decompress.spec.js +0 -0
@@ -0,0 +1,527 @@
1
+ import { IdentityCacheDbService } from '../../services';
2
+ const identityCacheDbService = new IdentityCacheDbService('', 6379, '', '', '', 6);
3
+ describe('utils unit tests', () => {
4
+ afterEach(() => {
5
+ jest.resetModules();
6
+ });
7
+ it('isIdentityCacheStale - cached and incoming are same - should return true', () => {
8
+ const cachedIdentity1 = {
9
+ identityId: '',
10
+ request: {},
11
+ response: {
12
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
13
+ 'traits': {
14
+ 'addresses': [
15
+ {
16
+ 'city': 'Jeddah',
17
+ 'country': 'Saudi Arabia',
18
+ 'countryCode': 'SA',
19
+ 'province': 'Makkah',
20
+ 'provinceCode': '02'
21
+ }
22
+ ],
23
+ 'click': {
24
+ 'fbp': 'fb.2.1715603578424.5068754021',
25
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
26
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
27
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
28
+ },
29
+ 'version': '2'
30
+ }
31
+ },
32
+ createdAt: '',
33
+ updatedAt: '',
34
+ expiresAt: 0
35
+ };
36
+ const incomingIdentity1 = {
37
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
38
+ 'traits': {
39
+ 'addresses': [
40
+ {
41
+ 'city': 'Jeddah',
42
+ 'country': 'Saudi Arabia',
43
+ 'countryCode': 'SA',
44
+ 'province': 'Makkah',
45
+ 'provinceCode': '02'
46
+ }
47
+ ],
48
+ 'click': {
49
+ 'fbp': 'fb.2.1715603578424.5068754021',
50
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
51
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
52
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
53
+ },
54
+ 'version': '2'
55
+ }
56
+ };
57
+ const shouldUseCache1 = identityCacheDbService.isIdentityCacheStale(cachedIdentity1, incomingIdentity1);
58
+ expect(shouldUseCache1).toBe(false);
59
+ const cachedIdentity2 = {
60
+ identityId: '',
61
+ request: {},
62
+ response: {
63
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
64
+ 'traits': {
65
+ 'addresses': [
66
+ {
67
+ 'city': 'Jeddah',
68
+ 'country': 'Saudi Arabia',
69
+ 'countryCode': 'SA',
70
+ 'province': 'Makkah',
71
+ 'provinceCode': '02'
72
+ }
73
+ ],
74
+ 'click': {
75
+ 'fbp': 'fb.2.1715603578424.5068754021',
76
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
77
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
78
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
79
+ },
80
+ 'version': '2'
81
+ }
82
+ },
83
+ createdAt: '',
84
+ updatedAt: '',
85
+ expiresAt: 0
86
+ };
87
+ const incomingIdentity2 = {
88
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
89
+ 'traits': {
90
+ 'emails': null,
91
+ 'addresses': [
92
+ {
93
+ 'city': 'Jeddah',
94
+ 'country': 'Saudi Arabia',
95
+ 'countryCode': 'SA',
96
+ 'province': 'Makkah',
97
+ 'provinceCode': '02'
98
+ }
99
+ ],
100
+ 'click': {
101
+ 'fbp': 'fb.2.1715603578424.5068754021',
102
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
103
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
104
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
105
+ },
106
+ 'version': '2'
107
+ }
108
+ };
109
+ const shouldUseCache2 = identityCacheDbService.isIdentityCacheStale(cachedIdentity2, incomingIdentity2);
110
+ expect(shouldUseCache2).toBe(false);
111
+ const cachedIdentity3 = {
112
+ identityId: '',
113
+ request: {},
114
+ response: {
115
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
116
+ 'traits': {
117
+ 'addresses': [
118
+ {
119
+ 'city': 'Jeddah',
120
+ 'country': 'Saudi Arabia',
121
+ 'countryCode': 'SA',
122
+ 'province': 'Makkah',
123
+ 'provinceCode': '02'
124
+ }
125
+ ],
126
+ 'click': {
127
+ 'fbp': 'fb.2.1715603578424.5068754021',
128
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
129
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
130
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
131
+ },
132
+ 'version': '2'
133
+ }
134
+ },
135
+ createdAt: '',
136
+ updatedAt: '',
137
+ expiresAt: 0
138
+ };
139
+ const incomingIdentity3 = {
140
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
141
+ 'traits': {
142
+ 'emails': [undefined, null],
143
+ 'addresses': [
144
+ {
145
+ 'city': 'Jeddah',
146
+ 'country': 'Saudi Arabia',
147
+ 'countryCode': 'SA',
148
+ 'province': 'Makkah',
149
+ 'provinceCode': '02'
150
+ }
151
+ ],
152
+ 'click': {
153
+ 'fbp': 'fb.2.1715603578424.5068754021',
154
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
155
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
156
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
157
+ },
158
+ 'version': '2'
159
+ }
160
+ };
161
+ const shouldUseCache3 = identityCacheDbService.isIdentityCacheStale(cachedIdentity3, incomingIdentity3);
162
+ expect(shouldUseCache3).toBe(false);
163
+ const cachedIdentity4 = {
164
+ identityId: '',
165
+ request: {},
166
+ response: {
167
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
168
+ 'traits': {
169
+ 'emails': ['test@gmail.com'],
170
+ 'addresses': [
171
+ {
172
+ 'city': 'Jeddah',
173
+ 'country': 'Saudi Arabia',
174
+ 'countryCode': 'SA',
175
+ 'province': 'Makkah',
176
+ 'provinceCode': '03'
177
+ }
178
+ ],
179
+ 'click': {
180
+ 'fbp': 'fb.2.1715603578424.5068754021',
181
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
182
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
183
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
184
+ },
185
+ 'version': '2'
186
+ }
187
+ },
188
+ createdAt: '',
189
+ updatedAt: '',
190
+ expiresAt: 0
191
+ };
192
+ const incomingIdentity4 = {
193
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
194
+ 'traits': {
195
+ 'emails': ['test@gmail.com', null, undefined],
196
+ 'addresses': null,
197
+ 'click': {
198
+ 'fbp': 'fb.2.1715603578424.5068754021',
199
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z'
200
+ },
201
+ 'version': '2'
202
+ }
203
+ };
204
+ const shouldUseCache4 = identityCacheDbService.isIdentityCacheStale(cachedIdentity4, incomingIdentity4);
205
+ expect(shouldUseCache4).toBe(false);
206
+ const cachedIdentity5 = {
207
+ identityId: '',
208
+ request: {},
209
+ response: {
210
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
211
+ 'traits': {
212
+ 'addresses': [
213
+ {
214
+ 'city': 'Jeddah',
215
+ 'country': 'Saudi Arabia',
216
+ 'countryCode': 'SA',
217
+ 'province': 'Makkah',
218
+ 'provinceCode': '02',
219
+ 'address1': 'this is test address'
220
+ }
221
+ ],
222
+ 'click': {
223
+ 'fbp': 'fb.2.1715603578424.5068754021',
224
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
225
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
226
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
227
+ },
228
+ 'version': '2'
229
+ }
230
+ },
231
+ createdAt: '',
232
+ updatedAt: '',
233
+ expiresAt: 0
234
+ };
235
+ const incomingIdentity5 = {
236
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
237
+ 'traits': {
238
+ 'addresses': [
239
+ null
240
+ ],
241
+ 'version': '2'
242
+ }
243
+ };
244
+ const shouldUseCache5 = identityCacheDbService.isIdentityCacheStale(cachedIdentity5, incomingIdentity5);
245
+ expect(shouldUseCache5).toBe(false);
246
+ const cachedIdentity6 = {
247
+ identityId: '',
248
+ request: {},
249
+ response: {
250
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
251
+ 'traits': {
252
+ 'addresses': [
253
+ {
254
+ 'city': 'Jeddah',
255
+ 'country': 'Saudi Arabia',
256
+ 'countryCode': 'SA',
257
+ 'province': 'Makkah',
258
+ 'provinceCode': '02'
259
+ }
260
+ ],
261
+ 'click': {
262
+ 'fbp': 'fb.2.1715603578424.5068754021',
263
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
264
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
265
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
266
+ },
267
+ 'version': '2'
268
+ }
269
+ },
270
+ createdAt: '',
271
+ updatedAt: '',
272
+ expiresAt: 0
273
+ };
274
+ const incomingIdentity6 = {
275
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
276
+ 'traits': {
277
+ 'addresses': [
278
+ {
279
+ 'city': 'Jeddah',
280
+ 'country': 'Saudi Arabia',
281
+ },
282
+ null,
283
+ undefined
284
+ ],
285
+ 'click': {
286
+ 'fbp': 'fb.2.1715603578424.5068754021',
287
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z'
288
+ },
289
+ 'version': '2'
290
+ }
291
+ };
292
+ const shouldUseCache6 = identityCacheDbService.isIdentityCacheStale(cachedIdentity6, incomingIdentity6);
293
+ expect(shouldUseCache6).toBe(false);
294
+ });
295
+ it('compareIdentityAndShouldUseCache - cached and incoming are not same - should return false', () => {
296
+ const cachedIdentity1 = {
297
+ identityId: '',
298
+ request: {},
299
+ response: {
300
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
301
+ 'traits': {
302
+ 'addresses': [
303
+ {
304
+ 'city': 'Jeddah',
305
+ 'country': 'Saudi Arabia',
306
+ 'countryCode': 'SA',
307
+ 'province': 'Makkah',
308
+ 'provinceCode': '02'
309
+ }
310
+ ],
311
+ 'click': {
312
+ 'fbp': 'fb.2.1715603578424.5068754021',
313
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
314
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
315
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
316
+ },
317
+ 'version': '2'
318
+ }
319
+ },
320
+ createdAt: '',
321
+ updatedAt: '',
322
+ expiresAt: 0
323
+ };
324
+ const incomingIdentity1 = {
325
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
326
+ 'traits': {
327
+ 'emails': ['my@email.com'],
328
+ 'addresses': [
329
+ {
330
+ 'city': 'Jeddah',
331
+ 'country': 'Saudi Arabia',
332
+ 'countryCode': 'SA',
333
+ 'province': 'Makkah',
334
+ 'provinceCode': '02'
335
+ }
336
+ ],
337
+ 'click': {
338
+ 'fbp': 'fb.2.1715603578424.5068754021',
339
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
340
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
341
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
342
+ },
343
+ 'version': '2'
344
+ }
345
+ };
346
+ const shouldUseCache1 = identityCacheDbService.isIdentityCacheStale(cachedIdentity1, incomingIdentity1);
347
+ expect(shouldUseCache1).toBe(true);
348
+ const cachedIdentity2 = {
349
+ identityId: '',
350
+ request: {},
351
+ response: {
352
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
353
+ 'traits': {
354
+ 'emails': ['test@email.com', null],
355
+ 'addresses': null,
356
+ 'click': {
357
+ 'fbp': 'fb.2.1715603578424.5068754021',
358
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
359
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
360
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
361
+ },
362
+ 'version': '2'
363
+ }
364
+ },
365
+ createdAt: '',
366
+ updatedAt: '',
367
+ expiresAt: 0
368
+ };
369
+ const incomingIdentity2 = {
370
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
371
+ 'traits': {
372
+ 'emails': ['test@email.com', null],
373
+ 'addresses': [
374
+ {
375
+ 'city': 'Jeddah',
376
+ 'country': 'Saudi Arabia',
377
+ 'countryCode': 'SA',
378
+ 'province': 'Makkah',
379
+ 'provinceCode': '02'
380
+ }
381
+ ],
382
+ 'click': {
383
+ 'fbp': 'fb.2.1715603578424.5068754021',
384
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
385
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
386
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
387
+ },
388
+ 'version': '2'
389
+ }
390
+ };
391
+ const shouldUseCache2 = identityCacheDbService.isIdentityCacheStale(cachedIdentity2, incomingIdentity2);
392
+ expect(shouldUseCache2).toBe(true);
393
+ const cachedIdentity3 = {
394
+ identityId: '',
395
+ request: {},
396
+ response: {
397
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
398
+ 'traits': {
399
+ 'addresses': [
400
+ {
401
+ 'city': 'Jeddah',
402
+ 'country': 'Saudi Arabia',
403
+ 'countryCode': 'SA',
404
+ 'province': 'Makkah',
405
+ 'provinceCode': '02'
406
+ }
407
+ ],
408
+ 'click': {
409
+ 'fbp': 'fb.2.1715603578424.5068754021',
410
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
411
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
412
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
413
+ 'googleClientInfos': [
414
+ {
415
+ 'clickId': '123343',
416
+ 'id': 'my-test-id',
417
+ 'sessionId': null
418
+ }
419
+ ]
420
+ },
421
+ 'version': '2'
422
+ }
423
+ },
424
+ createdAt: '',
425
+ updatedAt: '',
426
+ expiresAt: 0
427
+ };
428
+ const incomingIdentity3 = {
429
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
430
+ 'traits': {
431
+ 'addresses': [
432
+ {
433
+ 'city': 'Jeddah',
434
+ 'country': 'Saudi Arabia',
435
+ 'countryCode': 'SA',
436
+ 'province': 'Makkah',
437
+ 'provinceCode': '02'
438
+ }
439
+ ],
440
+ 'click': {
441
+ 'fbp': 'fb.2.1715603578424.5068754021',
442
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
443
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
444
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
445
+ 'googleClientInfos': [
446
+ {
447
+ 'clickId': '123343',
448
+ 'id': 'my-test-id',
449
+ 'sessionId': 'my-test-session-id'
450
+ }
451
+ ]
452
+ },
453
+ 'version': '2'
454
+ }
455
+ };
456
+ const shouldUseCache3 = identityCacheDbService.isIdentityCacheStale(cachedIdentity3, incomingIdentity3);
457
+ expect(shouldUseCache3).toBe(false);
458
+ const cachedIdentity4 = {
459
+ identityId: '',
460
+ request: {},
461
+ response: {
462
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
463
+ 'traits': {
464
+ 'addresses': [
465
+ {
466
+ 'city': 'Jeddah',
467
+ 'country': 'Saudi Arabia',
468
+ 'countryCode': 'SA',
469
+ 'province': 'Makkah',
470
+ 'provinceCode': '02'
471
+ }
472
+ ],
473
+ 'click': {
474
+ 'fbp': 'fb.2.1715603578424.5068754021',
475
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
476
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
477
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
478
+ 'googleClientInfos': [
479
+ {
480
+ 'clickId': '123343',
481
+ 'id': 'my-test-id',
482
+ 'sessionId': null
483
+ },
484
+ null
485
+ ]
486
+ },
487
+ 'version': '2'
488
+ }
489
+ },
490
+ createdAt: '',
491
+ updatedAt: '',
492
+ expiresAt: 0
493
+ };
494
+ const incomingIdentity4 = {
495
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
496
+ 'traits': {
497
+ 'addresses': [
498
+ {
499
+ 'city': 'Jeddah',
500
+ 'country': 'Saudi Arabia',
501
+ 'countryCode': 'SA',
502
+ 'province': 'Makkah',
503
+ 'provinceCode': '02'
504
+ }
505
+ ],
506
+ 'click': {
507
+ 'fbp': 'fb.2.1715603578424.5068754021',
508
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
509
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
510
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
511
+ 'googleClientInfos': [
512
+ {
513
+ 'clickId': '123343',
514
+ 'id': 'my-test-id',
515
+ 'sessionId': 'my-test-session-id'
516
+ },
517
+ undefined
518
+ ]
519
+ },
520
+ 'version': '2'
521
+ }
522
+ };
523
+ const shouldUseCache4 = identityCacheDbService.isIdentityCacheStale(cachedIdentity4, incomingIdentity4);
524
+ expect(shouldUseCache4).toBe(false);
525
+ });
526
+ });
527
+ //# sourceMappingURL=identity-cache-db-service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-cache-db-service.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-cache-db-service.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress-decompress.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/compress-decompress.spec.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGtE,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAE1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,YAAY,GAAG,cAAc,CAAC,8CAA8C,CAAC,CAAC;QACpF,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import Redis from 'ioredis';
2
+ declare class RedisClient {
3
+ private poolSize;
4
+ private pool;
5
+ host: string;
6
+ port: number;
7
+ constructor(host: string, port?: number, poolSize?: number);
8
+ private createClient;
9
+ private getClient;
10
+ connect(client: Redis): Promise<void>;
11
+ set(key: string, value: string, ttlInSeconds?: number): Promise<void>;
12
+ get(key: string): Promise<string | null>;
13
+ del(key: string): Promise<number>;
14
+ disconnect(): Promise<void>;
15
+ }
16
+ export default RedisClient;
@@ -0,0 +1,96 @@
1
+ import Redis from 'ioredis';
2
+ import { Logger } from '../../helpers';
3
+ class RedisClient {
4
+ poolSize;
5
+ pool;
6
+ host;
7
+ port;
8
+ constructor(host, port = 6379, poolSize = 3) {
9
+ this.poolSize = poolSize;
10
+ this.host = host;
11
+ this.port = port;
12
+ this.pool = Array.from({ length: poolSize }, () => this.createClient(host, port));
13
+ }
14
+ createClient(host, port) {
15
+ try {
16
+ const client = new Redis({
17
+ host: host,
18
+ port: port,
19
+ maxRetriesPerRequest: 3,
20
+ commandTimeout: 3000
21
+ });
22
+ return client;
23
+ }
24
+ catch (err) {
25
+ Logger.error('Error creating Redis client:', { err });
26
+ return null;
27
+ }
28
+ }
29
+ getClient() {
30
+ const randomIndex = Math.floor(Math.random() * this.poolSize);
31
+ let client = this.pool[randomIndex];
32
+ if (!client) {
33
+ client = this.createClient(this.host, this.port);
34
+ }
35
+ return client;
36
+ }
37
+ async connect(client) {
38
+ try {
39
+ await client.connect();
40
+ Logger.debug('Connected to Redis');
41
+ }
42
+ catch (err) {
43
+ Logger.error('Error connecting to Redis:', { err });
44
+ throw err;
45
+ }
46
+ }
47
+ async set(key, value, ttlInSeconds) {
48
+ try {
49
+ const client = this.getClient();
50
+ if (ttlInSeconds) {
51
+ await client.set(key, value, 'EX', ttlInSeconds);
52
+ }
53
+ else {
54
+ await client.set(key, value);
55
+ }
56
+ }
57
+ catch (err) {
58
+ Logger.error('Error setting value in Redis:', { err, key, value });
59
+ return;
60
+ }
61
+ }
62
+ async get(key) {
63
+ try {
64
+ const client = this.getClient();
65
+ Logger.debug('get', { key, client });
66
+ return await client.get(key);
67
+ }
68
+ catch (err) {
69
+ Logger.error('Error getting value from Redis:', { err, key });
70
+ return null;
71
+ }
72
+ }
73
+ async del(key) {
74
+ try {
75
+ const client = this.getClient();
76
+ return await client.del(key);
77
+ }
78
+ catch (err) {
79
+ Logger.error('Error deleting key from Redis:', { err });
80
+ return 0;
81
+ }
82
+ }
83
+ async disconnect() {
84
+ try {
85
+ const client = this.getClient();
86
+ await client.quit();
87
+ Logger.debug('Disconnected from Redis');
88
+ }
89
+ catch (err) {
90
+ Logger.error('Error disconnecting from Redis:', { err });
91
+ return;
92
+ }
93
+ }
94
+ }
95
+ export default RedisClient;
96
+ //# sourceMappingURL=redis-client.js.map