@adtrackify/at-service-common 4.0.14 → 4.0.16

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 (61) hide show
  1. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js +29 -25
  2. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  3. package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-hit.spec.js +138 -0
  4. package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-hit.spec.js.map +1 -0
  5. package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-miss.spec.js +153 -0
  6. package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-miss.spec.js.map +1 -0
  7. package/dist/cjs/__tests__/identity-cache/identity-gateway-constructor.spec.d.ts +1 -0
  8. package/dist/cjs/__tests__/identity-cache/identity-gateway-constructor.spec.js +72 -0
  9. package/dist/cjs/__tests__/identity-cache/identity-gateway-constructor.spec.js.map +1 -0
  10. package/dist/cjs/__tests__/identity-cache/identity-gateway-edge-cases.spec.d.ts +1 -0
  11. package/dist/cjs/__tests__/identity-cache/identity-gateway-edge-cases.spec.js +89 -0
  12. package/dist/cjs/__tests__/identity-cache/identity-gateway-edge-cases.spec.js.map +1 -0
  13. package/dist/cjs/__tests__/identity-cache/identity-gateway-enqueue-async.spec.d.ts +1 -0
  14. package/dist/cjs/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js +136 -0
  15. package/dist/cjs/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js.map +1 -0
  16. package/dist/cjs/__tests__/identity-cache/identity-gateway-stale-cache.spec.d.ts +1 -0
  17. package/dist/cjs/__tests__/identity-cache/identity-gateway-stale-cache.spec.js +224 -0
  18. package/dist/cjs/__tests__/identity-cache/identity-gateway-stale-cache.spec.js.map +1 -0
  19. package/dist/cjs/__tests__/identity-cache/identity-gateway-test-setup.d.ts +28 -0
  20. package/dist/cjs/__tests__/identity-cache/identity-gateway-test-setup.js +90 -0
  21. package/dist/cjs/__tests__/identity-cache/identity-gateway-test-setup.js.map +1 -0
  22. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +11 -12
  23. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +15 -18
  24. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
  25. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.d.ts +2 -4
  26. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
  27. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js +29 -25
  28. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  29. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-hit.spec.d.ts +1 -0
  30. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-hit.spec.js +136 -0
  31. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-hit.spec.js.map +1 -0
  32. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-miss.spec.d.ts +1 -0
  33. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-miss.spec.js +151 -0
  34. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-miss.spec.js.map +1 -0
  35. package/dist/esm/__tests__/identity-cache/identity-gateway-constructor.spec.d.ts +1 -0
  36. package/dist/esm/__tests__/identity-cache/identity-gateway-constructor.spec.js +70 -0
  37. package/dist/esm/__tests__/identity-cache/identity-gateway-constructor.spec.js.map +1 -0
  38. package/dist/esm/__tests__/identity-cache/identity-gateway-edge-cases.spec.d.ts +1 -0
  39. package/dist/esm/__tests__/identity-cache/identity-gateway-edge-cases.spec.js +87 -0
  40. package/dist/esm/__tests__/identity-cache/identity-gateway-edge-cases.spec.js.map +1 -0
  41. package/dist/esm/__tests__/identity-cache/identity-gateway-enqueue-async.spec.d.ts +1 -0
  42. package/dist/esm/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js +134 -0
  43. package/dist/esm/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js.map +1 -0
  44. package/dist/esm/__tests__/identity-cache/identity-gateway-stale-cache.spec.d.ts +1 -0
  45. package/dist/esm/__tests__/identity-cache/identity-gateway-stale-cache.spec.js +222 -0
  46. package/dist/esm/__tests__/identity-cache/identity-gateway-stale-cache.spec.js.map +1 -0
  47. package/dist/esm/__tests__/identity-cache/identity-gateway-test-setup.d.ts +28 -0
  48. package/dist/esm/__tests__/identity-cache/identity-gateway-test-setup.js +83 -0
  49. package/dist/esm/__tests__/identity-cache/identity-gateway-test-setup.js.map +1 -0
  50. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +11 -12
  51. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +15 -18
  52. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
  53. package/dist/esm/services/db/identity-cache-dynamodb-service/types.d.ts +2 -4
  54. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
  55. package/package.json +2 -2
  56. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js +0 -1244
  57. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js.map +0 -1
  58. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js +0 -1242
  59. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js.map +0 -1
  60. /package/dist/cjs/__tests__/identity-cache/{identity-gateway-service.spec.d.ts → identity-gateway-cache-hit.spec.d.ts} +0 -0
  61. /package/dist/{esm/__tests__/identity-cache/identity-gateway-service.spec.d.ts → cjs/__tests__/identity-cache/identity-gateway-cache-miss.spec.d.ts} +0 -0
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCachedIdentity = exports.resetAllMocks = exports.createServiceWithSqs = exports.createService = exports.TEST_LAMBDA_ARN = exports.TEST_PIXEL_ID = exports.IDENTITY_CACHE_WITH_CACHING_OUTCOME = exports.IdentityGatewayService = exports.mockedSQSClient = exports.mockedLogger = exports.mockedDynamoDbClient = exports.mockGetIdentity = exports.mockSQSClientConstructor = exports.mockBuildAndSendMessage = exports.mockLambdaInvokeFunction = void 0;
4
+ exports.mockLambdaInvokeFunction = jest.fn();
5
+ exports.mockBuildAndSendMessage = jest.fn();
6
+ exports.mockSQSClientConstructor = jest.fn();
7
+ exports.mockGetIdentity = jest.fn();
8
+ jest.mock('../../clients/index.js', () => ({
9
+ DynamoDbClient: {
10
+ safeGet: jest.fn(),
11
+ safePut: jest.fn(),
12
+ safeDelete: jest.fn(),
13
+ safeBatchGet: jest.fn(),
14
+ safeBatchWrite: jest.fn(),
15
+ safeQueryByGSI: jest.fn(),
16
+ batchWrite: jest.fn(),
17
+ },
18
+ LambdaInvokeClient: jest.fn().mockImplementation(() => ({
19
+ invokeFunction: exports.mockLambdaInvokeFunction,
20
+ })),
21
+ SQSClient: jest.fn().mockImplementation((_region, _accountId, _queueName) => {
22
+ (0, exports.mockSQSClientConstructor)(_region, _accountId, _queueName);
23
+ return {
24
+ buildAndSendMessage: exports.mockBuildAndSendMessage,
25
+ queueUrl: `https://sqs.${_region}.amazonaws.com/${_accountId}/${_queueName}`,
26
+ };
27
+ }),
28
+ }));
29
+ jest.mock('../../helpers/index.js', () => ({
30
+ Logger: {
31
+ debug: jest.fn(),
32
+ info: jest.fn(),
33
+ warn: jest.fn(),
34
+ error: jest.fn(),
35
+ },
36
+ }));
37
+ jest.mock('../../clients/internal-api/identity-client.js', () => ({
38
+ IdentityClient: jest.fn().mockImplementation(() => ({
39
+ getIdentity: exports.mockGetIdentity,
40
+ })),
41
+ }));
42
+ const identity_gateway_service_js_1 = require("../../services/db/identity-cache-dynamodb-service/identity-gateway-service.js");
43
+ Object.defineProperty(exports, "IdentityGatewayService", { enumerable: true, get: function () { return identity_gateway_service_js_1.IdentityGatewayService; } });
44
+ const types_js_1 = require("../../services/db/identity-cache-dynamodb-service/types.js");
45
+ Object.defineProperty(exports, "IDENTITY_CACHE_WITH_CACHING_OUTCOME", { enumerable: true, get: function () { return types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME; } });
46
+ const index_js_1 = require("../../clients/index.js");
47
+ const index_js_2 = require("../../helpers/index.js");
48
+ exports.mockedDynamoDbClient = index_js_1.DynamoDbClient;
49
+ exports.mockedLogger = index_js_2.Logger;
50
+ exports.mockedSQSClient = index_js_1.SQSClient;
51
+ exports.TEST_PIXEL_ID = 'pixel123';
52
+ exports.TEST_LAMBDA_ARN = 'arn:aws:lambda:us-east-1:123456789:function:identity-private';
53
+ const createService = (options = { identifyPrivateLambdaArn: exports.TEST_LAMBDA_ARN }) => {
54
+ return new identity_gateway_service_js_1.IdentityGatewayService(options);
55
+ };
56
+ exports.createService = createService;
57
+ const createServiceWithSqs = (overrides = {}) => {
58
+ return new identity_gateway_service_js_1.IdentityGatewayService({
59
+ identifyPrivateLambdaArn: exports.TEST_LAMBDA_ARN,
60
+ awsRegion: 'us-east-1',
61
+ awsAccountId: '123456789',
62
+ asyncUpdateQueueName: 'test-queue',
63
+ ...overrides,
64
+ });
65
+ };
66
+ exports.createServiceWithSqs = createServiceWithSqs;
67
+ const resetAllMocks = () => {
68
+ jest.clearAllMocks();
69
+ exports.mockedDynamoDbClient.safeGet.mockReset();
70
+ exports.mockedDynamoDbClient.safePut.mockReset();
71
+ exports.mockedDynamoDbClient.safeDelete.mockReset();
72
+ exports.mockedDynamoDbClient.safeBatchGet.mockReset();
73
+ exports.mockedDynamoDbClient.safeBatchWrite.mockReset();
74
+ exports.mockedDynamoDbClient.safeQueryByGSI.mockReset();
75
+ exports.mockedDynamoDbClient.batchWrite.mockReset();
76
+ exports.mockGetIdentity.mockReset();
77
+ exports.mockBuildAndSendMessage.mockReset();
78
+ exports.mockSQSClientConstructor.mockReset();
79
+ exports.mockedSQSClient.mockClear();
80
+ };
81
+ exports.resetAllMocks = resetAllMocks;
82
+ const createCachedIdentity = (pixelId, identityId, traits, updatedAt = new Date().toISOString()) => ({
83
+ pk: `identity#${pixelId}#${identityId}`,
84
+ pixelId,
85
+ identityId,
86
+ response: { identityId, traits },
87
+ updatedAt,
88
+ });
89
+ exports.createCachedIdentity = createCachedIdentity;
90
+ //# sourceMappingURL=identity-gateway-test-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-gateway-test-setup.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-gateway-test-setup.ts"],"names":[],"mappings":";;;AASa,QAAA,wBAAwB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,QAAA,uBAAuB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACpC,QAAA,wBAAwB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,QAAA,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAGzC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,cAAc,EAAE;QACd,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;QACvB,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;QACzB,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;QACzB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;KACtB;IACD,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,cAAc,EAAE,gCAAwB;KACzC,CAAC,CAAC;IACH,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,OAAe,EAAE,UAAkB,EAAE,UAAkB,EAAE,EAAE;QAClG,IAAA,gCAAwB,EAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1D,OAAO;YACL,mBAAmB,EAAE,+BAAuB;YAC5C,QAAQ,EAAE,eAAe,OAAO,kBAAkB,UAAU,IAAI,UAAU,EAAE;SAC7E,CAAC;IACJ,CAAC,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;KACjB;CACF,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE,CAAC,CAAC;IAChE,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,WAAW,EAAE,uBAAe;KAC7B,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAGJ,+HAGuF;AAY9E,uGAdP,oDAAsB,OAcO;AAX/B,yFAEoE;AAU3D,oHAXP,8CAAmC,OAWO;AAT5C,qDAAmE;AACnE,qDAAgD;AAEnC,QAAA,oBAAoB,GAAG,yBAAoD,CAAC;AAC5E,QAAA,YAAY,GAAG,iBAAoC,CAAC;AACpD,QAAA,eAAe,GAAG,oBAA+C,CAAC;AASlE,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,eAAe,GAAG,8DAA8D,CAAC;AAKvF,MAAM,aAAa,GAAG,CAC3B,UAAyC,EAAE,wBAAwB,EAAE,uBAAe,EAAE,EAC9D,EAAE;IAC1B,OAAO,IAAI,oDAAsB,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAKK,MAAM,oBAAoB,GAAG,CAClC,YAAoD,EAAE,EAC9B,EAAE;IAC1B,OAAO,IAAI,oDAAsB,CAAC;QAChC,wBAAwB,EAAE,uBAAe;QACzC,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,WAAW;QACzB,oBAAoB,EAAE,YAAY;QAClC,GAAG,SAAS;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAKK,MAAM,aAAa,GAAG,GAAS,EAAE;IACtC,IAAI,CAAC,aAAa,EAAE,CAAC;IACrB,4BAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IACzC,4BAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IACzC,4BAAoB,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IAC5C,4BAAoB,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;IAC9C,4BAAoB,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IAChD,4BAAoB,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IAChD,4BAAoB,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IAC5C,uBAAe,CAAC,SAAS,EAAE,CAAC;IAC5B,+BAAuB,CAAC,SAAS,EAAE,CAAC;IACpC,gCAAwB,CAAC,SAAS,EAAE,CAAC;IACrC,uBAAe,CAAC,SAAS,EAAE,CAAC;AAC9B,CAAC,CAAC;AAbW,QAAA,aAAa,iBAaxB;AAKK,MAAM,oBAAoB,GAAG,CAClC,OAAe,EACf,UAAkB,EAClB,MAA+B,EAC/B,YAAoB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACrB,EAAE,CAAC,CAAC;IAC3B,EAAE,EAAE,YAAY,OAAO,IAAI,UAAU,EAAE;IACvC,OAAO;IACP,UAAU;IACV,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;IAChC,SAAS;CACV,CAAC,CAAC;AAXU,QAAA,oBAAoB,wBAW9B"}
@@ -9,16 +9,15 @@ export interface IdentityGatewayServiceOptions {
9
9
  identityBaseApiUrl?: string;
10
10
  }
11
11
  export declare class IdentityGatewayService {
12
- private static identityClient;
13
- private static sqsClient;
14
- private static sqsQueueUrl;
15
- static configure(options: IdentityGatewayServiceOptions): void;
16
- static resolveIdentityWithCaching: (pixelId: string, incomingIdentity: EventIdentity) => Promise<IdentityResolutionResult>;
17
- private static createInitialResult;
18
- private static processCacheHit;
19
- private static processFreshCacheHit;
20
- private static processStaleCacheHit;
21
- private static resolveViaNeptune;
22
- private static resolveIdentity;
23
- static enqueueAsyncIdentityUpdate: (request: EnqueueAsyncIdentityUpdateRequest) => Promise<EnqueueAsyncIdentityUpdateResult>;
12
+ private readonly identityClient;
13
+ private readonly sqsClient;
14
+ constructor(options: IdentityGatewayServiceOptions);
15
+ resolveIdentityWithCaching(pixelId: string, incomingIdentity: EventIdentity): Promise<IdentityResolutionResult>;
16
+ private createInitialResult;
17
+ private processCacheHit;
18
+ private processFreshCacheHit;
19
+ private processStaleCacheHit;
20
+ private resolveViaNeptune;
21
+ private resolveIdentity;
22
+ enqueueAsyncIdentityUpdate(request: EnqueueAsyncIdentityUpdateRequest): Promise<EnqueueAsyncIdentityUpdateResult>;
24
23
  }
@@ -9,10 +9,9 @@ const identity_cache_dynamodb_db_service_js_1 = require("./identity-cache-dynamo
9
9
  const types_js_1 = require("./types.js");
10
10
  const IDENTIFY_ASYNC_UPDATE_MESSAGE_TYPE = 'identify.updateAsync';
11
11
  class IdentityGatewayService {
12
- static identityClient;
13
- static sqsClient;
14
- static sqsQueueUrl;
15
- static configure(options) {
12
+ identityClient;
13
+ sqsClient;
14
+ constructor(options) {
16
15
  if (options.identifyPrivateLambdaArn) {
17
16
  this.identityClient = new identity_client_js_1.IdentityClient({
18
17
  baseApiUrl: options.identityBaseApiUrl ?? '',
@@ -29,10 +28,9 @@ class IdentityGatewayService {
29
28
  if (urlMatch) {
30
29
  const [, region, accountId, queueName] = urlMatch;
31
30
  this.sqsClient = new index_js_1.SQSClient(region, accountId, queueName);
32
- this.sqsQueueUrl = this.sqsClient.queueUrl;
33
31
  }
34
32
  else {
35
- index_js_2.Logger.warn('IdentityGateway - configure: invalid SQS URL format', {
33
+ index_js_2.Logger.warn('IdentityGateway - constructor: invalid SQS URL format', {
36
34
  asyncUpdateQueueUrl: options.asyncUpdateQueueUrl,
37
35
  });
38
36
  }
@@ -41,11 +39,10 @@ class IdentityGatewayService {
41
39
  const queueName = options.asyncUpdateQueueName ?? process.env.IDENTIFY_ASYNC_UPDATE_QUEUE_NAME;
42
40
  if (queueName) {
43
41
  this.sqsClient = new index_js_1.SQSClient(options.awsRegion, options.awsAccountId, queueName);
44
- this.sqsQueueUrl = this.sqsClient.queueUrl;
45
42
  }
46
43
  }
47
44
  }
48
- static resolveIdentityWithCaching = async (pixelId, incomingIdentity) => {
45
+ async resolveIdentityWithCaching(pixelId, incomingIdentity) {
49
46
  const result = this.createInitialResult(pixelId, incomingIdentity);
50
47
  if (!pixelId || !incomingIdentity) {
51
48
  index_js_2.Logger.error('IdentityGateway - missing required params', { pixelId, incomingIdentity });
@@ -71,8 +68,8 @@ class IdentityGatewayService {
71
68
  result.errorMessage = error instanceof Error ? error.message : String(error);
72
69
  return result;
73
70
  }
74
- };
75
- static createInitialResult(pixelId, incomingIdentity) {
71
+ }
72
+ createInitialResult(pixelId, incomingIdentity) {
76
73
  return {
77
74
  outcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.FAILED,
78
75
  pixelId,
@@ -85,7 +82,7 @@ class IdentityGatewayService {
85
82
  didEnqueueAsync: false,
86
83
  };
87
84
  }
88
- static async processCacheHit(result, cachedIdentity) {
85
+ async processCacheHit(result, cachedIdentity) {
89
86
  const incomingIdentity = result.incomingIdentity;
90
87
  result.cachedIdentity = cachedIdentity;
91
88
  result.stalenessResult = (0, at_shared_utils_1.mergeAndComputeIdentityStaleness)(incomingIdentity, cachedIdentity);
@@ -102,7 +99,7 @@ class IdentityGatewayService {
102
99
  }
103
100
  return this.processStaleCacheHit(result);
104
101
  }
105
- static processFreshCacheHit(result) {
102
+ processFreshCacheHit(result) {
106
103
  const stalenessResult = result.stalenessResult;
107
104
  result.outcome = stalenessResult.isVolatileOnly && !stalenessResult.isDeepEqual
108
105
  ? types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.VOLATILE_ONLY_CACHE_HIT
@@ -116,7 +113,7 @@ class IdentityGatewayService {
116
113
  });
117
114
  return result;
118
115
  }
119
- static async processStaleCacheHit(result) {
116
+ async processStaleCacheHit(result) {
120
117
  index_js_2.Logger.debug('IdentityGateway - cache stale: calling Neptune', {
121
118
  pixelId: result.pixelId,
122
119
  identityId: result.incomingIdentity?.identityId,
@@ -125,7 +122,7 @@ class IdentityGatewayService {
125
122
  });
126
123
  return this.resolveViaNeptune(result);
127
124
  }
128
- static async resolveViaNeptune(result, context) {
125
+ async resolveViaNeptune(result, context) {
129
126
  const incomingIdentity = result.incomingIdentity;
130
127
  const discoveredIdentityId = context?.discoveredIdentityId;
131
128
  const identityForNeptune = incomingIdentity.identityId
@@ -163,9 +160,9 @@ class IdentityGatewayService {
163
160
  });
164
161
  return result;
165
162
  }
166
- static async resolveIdentity(pixelId, incomingIdentity) {
163
+ async resolveIdentity(pixelId, incomingIdentity) {
167
164
  if (!this.identityClient) {
168
- index_js_2.Logger.error('IdentityGateway - identity client not configured, call configure() first', { pixelId });
165
+ index_js_2.Logger.error('IdentityGateway - identity client not configured', { pixelId });
169
166
  return undefined;
170
167
  }
171
168
  try {
@@ -182,7 +179,7 @@ class IdentityGatewayService {
182
179
  return undefined;
183
180
  }
184
181
  }
185
- static enqueueAsyncIdentityUpdate = async (request) => {
182
+ async enqueueAsyncIdentityUpdate(request) {
186
183
  const { pixelId, identity, context, reason, eventId } = request;
187
184
  const identityId = identity?.identityId;
188
185
  if (!this.sqsClient) {
@@ -220,7 +217,7 @@ class IdentityGatewayService {
220
217
  error: error instanceof Error ? error.message : String(error),
221
218
  };
222
219
  }
223
- };
220
+ }
224
221
  }
225
222
  exports.IdentityGatewayService = IdentityGatewayService;
226
223
  //# sourceMappingURL=identity-gateway-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-gateway-service.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/identity-gateway-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-gateway-service.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/identity-gateway-service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import { EventContext, EventIdentity, IdentityDynamoDbCache, IdentityMapDynamoDbCache, ForcePurgeDynamoDbCache, IdentityPointerRecord } from '@adtrackify/at-tracking-event-types';
2
- import { IDENTITY_CACHE_STALENESS_TIER, IdentityCacheTraitChange, IdentityCacheTraitChanges, MergeAndComputeIdentityStalenessResult } from '@adtrackify/at-shared-utils';
3
- export type { IdentityDynamoDbCache, IdentityMapDynamoDbCache, ForcePurgeDynamoDbCache, IdentityPointerRecord };
4
- export type { IdentityCacheTraitChange, IdentityCacheTraitChanges };
1
+ import { EventContext, EventIdentity } from '@adtrackify/at-tracking-event-types';
2
+ import { IDENTITY_CACHE_STALENESS_TIER, IdentityCacheTraitChanges, MergeAndComputeIdentityStalenessResult } from '@adtrackify/at-shared-utils';
5
3
  export declare enum CACHE_WRITE_REASON {
6
4
  CACHE_MISS = "cache_miss",
7
5
  STALE_TRAITS = "stale_traits",
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/types.ts"],"names":[],"mappings":";;;AAaA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,mDAA6B,CAAA;IAC7B,yEAAmD,CAAA;IACnD,uDAAiC,CAAA;AACnC,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AAED,IAAY,mCAUX;AAVD,WAAY,mCAAmC;IAC7C,sEAA+B,CAAA;IAC/B,0EAAmC,CAAA;IACnC,0FAAmD,CAAA;IACnD,oFAA6C,CAAA;IAC7C,sEAA+B,CAAA;IAC/B,4EAAqC,CAAA;IACrC,8FAAuD,CAAA;IACvD,8EAAuC,CAAA;IACvC,wDAAiB,CAAA;AACnB,CAAC,EAVW,mCAAmC,GAAnC,2CAAmC,KAAnC,2CAAmC,QAU9C;AAiED,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,qDAA2B,CAAA;IAC3B,yDAA+B,CAAA;IAC/B,uCAAa,CAAA;AACf,CAAC,EAJW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAIjC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/types.ts"],"names":[],"mappings":";;;AAOA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,mDAA6B,CAAA;IAC7B,yEAAmD,CAAA;IACnD,uDAAiC,CAAA;AACnC,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AAED,IAAY,mCAUX;AAVD,WAAY,mCAAmC;IAC7C,sEAA+B,CAAA;IAC/B,0EAAmC,CAAA;IACnC,0FAAmD,CAAA;IACnD,oFAA6C,CAAA;IAC7C,sEAA+B,CAAA;IAC/B,4EAAqC,CAAA;IACrC,8FAAuD,CAAA;IACvD,8EAAuC,CAAA;IACvC,wDAAiB,CAAA;AACnB,CAAC,EAVW,mCAAmC,GAAnC,2CAAmC,KAAnC,2CAAmC,QAU9C;AAiED,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,qDAA2B,CAAA;IAC3B,yDAA+B,CAAA;IAC/B,uCAAa,CAAA;AACf,CAAC,EAJW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAIjC"}
@@ -42,8 +42,12 @@ import { IDENTITY_CACHE_WITH_CACHING_OUTCOME, } from '../../services/db/identity
42
42
  import { DynamoDbClient, SQSClient } from '../../clients/index.js';
43
43
  const mockedDynamoDbClient = DynamoDbClient;
44
44
  const _mockedSQSClient = SQSClient;
45
+ const createService = (options = { identifyPrivateLambdaArn: 'arn:aws:lambda:us-east-1:123456789:function:identity-private' }) => {
46
+ return new IdentityGatewayService(options);
47
+ };
45
48
  describe('Identity Cache Three-Tier Routing', () => {
46
49
  const pixelId = 'pixel123';
50
+ let service;
47
51
  beforeEach(() => {
48
52
  jest.clearAllMocks();
49
53
  mockedDynamoDbClient.safeGet.mockReset();
@@ -57,10 +61,7 @@ describe('Identity Cache Three-Tier Routing', () => {
57
61
  mockBuildAndSendMessage.mockReset();
58
62
  mockSQSClientConstructor.mockReset();
59
63
  _mockedSQSClient.mockClear();
60
- IdentityGatewayService.identityClient = undefined;
61
- IdentityGatewayService.sqsClient = undefined;
62
- IdentityGatewayService.sqsQueueUrl = undefined;
63
- IdentityGatewayService.configure({ identifyPrivateLambdaArn: 'arn:aws:lambda:us-east-1:123456789:function:identity-private' });
64
+ service = createService();
64
65
  });
65
66
  describe('TIER: VOLATILE_ONLY — Returns merged identity, NO Neptune, NO cache write', () => {
66
67
  it('should return merged identity without Neptune call when only ipAddress is stale', async () => {
@@ -85,7 +86,7 @@ describe('Identity Cache Three-Tier Routing', () => {
85
86
  updatedAt: new Date().toISOString(),
86
87
  };
87
88
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
88
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
89
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
89
90
  expect(result.identity).toBeDefined();
90
91
  expect(result.identity?.identityId).toBe('identity456');
91
92
  expect(mockGetIdentity).not.toHaveBeenCalled();
@@ -113,7 +114,7 @@ describe('Identity Cache Three-Tier Routing', () => {
113
114
  updatedAt: new Date().toISOString(),
114
115
  };
115
116
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
116
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
117
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
117
118
  expect(result.identity).toBeDefined();
118
119
  expect(mockGetIdentity).not.toHaveBeenCalled();
119
120
  expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
@@ -140,7 +141,7 @@ describe('Identity Cache Three-Tier Routing', () => {
140
141
  updatedAt: new Date().toISOString(),
141
142
  };
142
143
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
143
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
144
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
144
145
  expect(result.identity).toBeDefined();
145
146
  expect(mockGetIdentity).not.toHaveBeenCalled();
146
147
  expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
@@ -171,7 +172,7 @@ describe('Identity Cache Three-Tier Routing', () => {
171
172
  identityId: 'identity456',
172
173
  traits: { emails: ['old@email.com', 'new@email.com', 'resolved@email.com'] },
173
174
  });
174
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
175
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
175
176
  expect(result.identity).toBeDefined();
176
177
  expect(mockGetIdentity).toHaveBeenCalled();
177
178
  expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
@@ -200,7 +201,7 @@ describe('Identity Cache Three-Tier Routing', () => {
200
201
  identityId: 'identity456',
201
202
  traits: { phones: ['+1234567890', '+9876543210'] },
202
203
  });
203
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
204
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
204
205
  expect(result.identity).toBeDefined();
205
206
  expect(mockGetIdentity).toHaveBeenCalled();
206
207
  expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
@@ -227,7 +228,7 @@ describe('Identity Cache Three-Tier Routing', () => {
227
228
  identityId: 'identity456',
228
229
  traits: { emails: ['old@email.com', 'new@email.com'] },
229
230
  });
230
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
231
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
231
232
  expect(result.outcome).toBe(IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLVED);
232
233
  expect(result.stalenessResult?.staleTraits).toContain('emails');
233
234
  expect(result.didCallNeptune).toBe(true);
@@ -245,7 +246,7 @@ describe('Identity Cache Three-Tier Routing', () => {
245
246
  identityId: 'identity456',
246
247
  traits: { emails: ['test@email.com'] },
247
248
  });
248
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
249
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
249
250
  expect(result.identity).toBeDefined();
250
251
  expect(mockGetIdentity).toHaveBeenCalled();
251
252
  expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
@@ -260,7 +261,7 @@ describe('Identity Cache Three-Tier Routing', () => {
260
261
  identityId: 'identity456',
261
262
  traits: { emails: ['test@email.com'] },
262
263
  });
263
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
264
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
264
265
  expect(result.outcome).toBe(IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLVED);
265
266
  expect(result.didCallNeptune).toBe(true);
266
267
  expect(result.didWriteCache).toBe(false);
@@ -283,7 +284,7 @@ describe('Identity Cache Three-Tier Routing', () => {
283
284
  identityId: 'discovered-id',
284
285
  traits: { emails: ['test@email.com', 'other@email.com'] },
285
286
  });
286
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
287
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
287
288
  expect(result.identity?.identityId).toBe('discovered-id');
288
289
  expect(mockGetIdentity).toHaveBeenCalledWith(pixelId, expect.objectContaining({
289
290
  identity: expect.objectContaining({
@@ -296,12 +297,13 @@ describe('Identity Cache Three-Tier Routing', () => {
296
297
  });
297
298
  describe('Identity Cache stripAddressTimestamps', () => {
298
299
  const pixelId = 'pixel123';
300
+ let service;
299
301
  beforeEach(() => {
300
302
  jest.clearAllMocks();
301
303
  mockedDynamoDbClient.safeGet.mockReset();
302
304
  mockedDynamoDbClient.safeBatchWrite.mockReset();
303
305
  mockGetIdentity.mockReset();
304
- IdentityGatewayService.lambdaInvokeClient = undefined;
306
+ service = createService();
305
307
  });
306
308
  it('should strip cra and upa from addresses during comparison', async () => {
307
309
  const incomingIdentity = {
@@ -339,7 +341,7 @@ describe('Identity Cache stripAddressTimestamps', () => {
339
341
  updatedAt: new Date().toISOString(),
340
342
  };
341
343
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
342
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
344
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
343
345
  expect(result.identity).toBeDefined();
344
346
  expect(mockGetIdentity).not.toHaveBeenCalled();
345
347
  });
@@ -378,7 +380,7 @@ describe('Identity Cache stripAddressTimestamps', () => {
378
380
  updatedAt: new Date().toISOString(),
379
381
  };
380
382
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
381
- await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
383
+ await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
382
384
  expect(incomingIdentity.traits?.addresses?.[0]).toHaveProperty('cra');
383
385
  expect(incomingIdentity.traits?.addresses?.[0]).toHaveProperty('upa');
384
386
  expect(cachedResponse.response.traits?.addresses?.[0]).toHaveProperty('cra');
@@ -404,7 +406,7 @@ describe('Identity Cache stripAddressTimestamps', () => {
404
406
  updatedAt: new Date().toISOString(),
405
407
  };
406
408
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
407
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
409
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
408
410
  expect(result.identity).toBeDefined();
409
411
  expect(mockGetIdentity).not.toHaveBeenCalled();
410
412
  });
@@ -430,7 +432,7 @@ describe('Identity Cache stripAddressTimestamps', () => {
430
432
  updatedAt: new Date().toISOString(),
431
433
  };
432
434
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
433
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
435
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
434
436
  expect(result.identity).toBeDefined();
435
437
  expect(mockGetIdentity).not.toHaveBeenCalled();
436
438
  });
@@ -456,19 +458,20 @@ describe('Identity Cache stripAddressTimestamps', () => {
456
458
  updatedAt: new Date().toISOString(),
457
459
  };
458
460
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
459
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
461
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
460
462
  expect(result.identity).toBeDefined();
461
463
  expect(mockGetIdentity).not.toHaveBeenCalled();
462
464
  });
463
465
  });
464
466
  describe('Identity Cache fastDeepEqual with Timestamp Stripping', () => {
465
467
  const pixelId = 'pixel123';
468
+ let service;
466
469
  beforeEach(() => {
467
470
  jest.clearAllMocks();
468
471
  mockedDynamoDbClient.safeGet.mockReset();
469
472
  mockedDynamoDbClient.safeBatchWrite.mockReset();
470
473
  mockGetIdentity.mockReset();
471
- IdentityGatewayService.lambdaInvokeClient = undefined;
474
+ service = createService();
472
475
  });
473
476
  it('should treat cached and merged as equal when they differ ONLY in cra/upa', async () => {
474
477
  const incomingIdentity = {
@@ -510,7 +513,7 @@ describe('Identity Cache fastDeepEqual with Timestamp Stripping', () => {
510
513
  updatedAt: new Date().toISOString(),
511
514
  };
512
515
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
513
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
516
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
514
517
  expect(result.identity).toBeDefined();
515
518
  expect(mockGetIdentity).not.toHaveBeenCalled();
516
519
  expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
@@ -553,18 +556,19 @@ describe('Identity Cache fastDeepEqual with Timestamp Stripping', () => {
553
556
  updatedAt: new Date().toISOString(),
554
557
  };
555
558
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
556
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
559
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
557
560
  expect(result.identity).toBeDefined();
558
561
  });
559
562
  });
560
563
  describe('Identity Cache Logging Levels', () => {
561
564
  const pixelId = 'pixel123';
565
+ let service;
562
566
  beforeEach(() => {
563
567
  jest.clearAllMocks();
564
568
  mockedDynamoDbClient.safeGet.mockReset();
565
569
  mockedDynamoDbClient.safeBatchWrite.mockReset();
566
570
  mockGetIdentity.mockReset();
567
- IdentityGatewayService.lambdaInvokeClient = undefined;
571
+ service = createService();
568
572
  });
569
573
  it('should return fresh cache hit without calling Neptune or writing cache', async () => {
570
574
  const incomingIdentity = {
@@ -586,7 +590,7 @@ describe('Identity Cache Logging Levels', () => {
586
590
  updatedAt: new Date().toISOString(),
587
591
  };
588
592
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
589
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
593
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
590
594
  expect(result.outcome).toBe(IDENTITY_CACHE_WITH_CACHING_OUTCOME.FRESH_CACHE_HIT);
591
595
  expect(mockGetIdentity).not.toHaveBeenCalled();
592
596
  expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
@@ -615,7 +619,7 @@ describe('Identity Cache Logging Levels', () => {
615
619
  identityId: 'identity456',
616
620
  traits: { emails: ['old@email.com', 'new@email.com'] },
617
621
  });
618
- const result = await IdentityGatewayService.resolveIdentityWithCaching(pixelId, incomingIdentity);
622
+ const result = await service.resolveIdentityWithCaching(pixelId, incomingIdentity);
619
623
  expect(result.outcome).toBe(IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLVED);
620
624
  expect(result.stalenessResult?.staleTraits).toContain('emails');
621
625
  expect(result.traitChanges).toBeDefined();
@@ -1 +1 @@
1
- {"version":3,"file":"identity-cache-tier-routing.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-cache-tier-routing.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-cache-tier-routing.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-cache-tier-routing.spec.ts"],"names":[],"mappings":"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"}