@adtrackify/at-service-common 3.0.79 → 3.0.81

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 (37) hide show
  1. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +6 -1
  2. package/dist/cjs/clients/generic/lambda-invoke-client.js +10 -10
  3. package/dist/cjs/clients/generic/lambda-invoke-client.js.map +1 -1
  4. package/dist/cjs/clients/generic/redis-client.d.ts +4 -2
  5. package/dist/cjs/clients/generic/redis-client.js +16 -2
  6. package/dist/cjs/clients/generic/redis-client.js.map +1 -1
  7. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -0
  8. package/dist/cjs/clients/internal-api/cache-lambda-client.js +60 -0
  9. package/dist/cjs/clients/internal-api/cache-lambda-client.js.map +1 -0
  10. package/dist/cjs/clients/internal-api/index.d.ts +1 -0
  11. package/dist/cjs/clients/internal-api/index.js +1 -0
  12. package/dist/cjs/clients/internal-api/index.js.map +1 -1
  13. package/dist/cjs/services/db/identity-cache-db-service.d.ts +4 -8
  14. package/dist/cjs/services/db/identity-cache-db-service.js +93 -68
  15. package/dist/cjs/services/db/identity-cache-db-service.js.map +1 -1
  16. package/dist/cjs/services/ipdata-lookup-service.d.ts +9 -2
  17. package/dist/cjs/services/ipdata-lookup-service.js +56 -77
  18. package/dist/cjs/services/ipdata-lookup-service.js.map +1 -1
  19. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +6 -1
  20. package/dist/esm/clients/generic/lambda-invoke-client.js +10 -10
  21. package/dist/esm/clients/generic/lambda-invoke-client.js.map +1 -1
  22. package/dist/esm/clients/generic/redis-client.d.ts +4 -2
  23. package/dist/esm/clients/generic/redis-client.js +16 -2
  24. package/dist/esm/clients/generic/redis-client.js.map +1 -1
  25. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -0
  26. package/dist/esm/clients/internal-api/cache-lambda-client.js +56 -0
  27. package/dist/esm/clients/internal-api/cache-lambda-client.js.map +1 -0
  28. package/dist/esm/clients/internal-api/index.d.ts +1 -0
  29. package/dist/esm/clients/internal-api/index.js +1 -0
  30. package/dist/esm/clients/internal-api/index.js.map +1 -1
  31. package/dist/esm/services/db/identity-cache-db-service.d.ts +4 -8
  32. package/dist/esm/services/db/identity-cache-db-service.js +94 -69
  33. package/dist/esm/services/db/identity-cache-db-service.js.map +1 -1
  34. package/dist/esm/services/ipdata-lookup-service.d.ts +9 -2
  35. package/dist/esm/services/ipdata-lookup-service.js +55 -75
  36. package/dist/esm/services/ipdata-lookup-service.js.map +1 -1
  37. package/package.json +2 -1
@@ -1,5 +1,10 @@
1
+ export interface CacheLambdaInvokeResponse {
2
+ statusCode: number;
3
+ headers: any;
4
+ body: string;
5
+ }
1
6
  export declare class LambdaInvokeClient {
2
7
  private lambda;
3
8
  constructor();
4
- invokeFunction(functionName: string, payload: object): Promise<any>;
9
+ invokeFunction(functionName: string, payload: any): Promise<CacheLambdaInvokeResponse | null>;
5
10
  }
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LambdaInvokeClient = void 0;
4
- const helpers_1 = require("../../helpers");
5
4
  const client_lambda_1 = require("@aws-sdk/client-lambda");
5
+ const util_utf8_1 = require("@aws-sdk/util-utf8");
6
+ const helpers_1 = require("../../helpers");
6
7
  class LambdaInvokeClient {
7
8
  lambda;
8
9
  constructor() {
@@ -12,22 +13,21 @@ class LambdaInvokeClient {
12
13
  const params = {
13
14
  FunctionName: functionName,
14
15
  InvocationType: 'RequestResponse',
15
- Payload: JSON.stringify(payload),
16
+ Payload: (0, util_utf8_1.toUint8Array)(JSON.stringify(payload)),
16
17
  };
17
18
  try {
18
19
  const response = await this.lambda.send(new client_lambda_1.InvokeCommand(params));
19
- if (response.StatusCode !== 200) {
20
- helpers_1.Logger.error('Error invoking lambda function:', { response });
21
- return null;
22
- }
20
+ helpers_1.Logger.debug('Lambda response:', { response });
23
21
  if (response?.Payload) {
24
- helpers_1.Logger.debug('Lambda response:', { payload: JSON.parse(response.Payload.toString()) });
25
- return JSON.parse(response.Payload.toString());
22
+ const parsedPayload = response?.Payload.transformToString();
23
+ const jsonPayload = JSON.parse(parsedPayload);
24
+ helpers_1.Logger.debug('parsed payload', { parsedPayload });
25
+ return jsonPayload;
26
26
  }
27
- return true;
27
+ return null;
28
28
  }
29
29
  catch (error) {
30
- helpers_1.Logger.error('Error invoking lambda function:', { error });
30
+ helpers_1.Logger.error('Error invoking lambda function:', { err: error, params });
31
31
  return null;
32
32
  }
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lambda-invoke-client.js","sourceRoot":"","sources":["../../../../src/clients/generic/lambda-invoke-client.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,0DAAyF;AAEzF,MAAa,kBAAkB;IACrB,MAAM,CAAe;IAE7B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAoB,EAAE,OAAe;QACxD,MAAM,MAAM,GAAuB;YACjC,YAAY,EAAE,YAAY;YAC1B,cAAc,EAAE,iBAAiB;YACjC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SACjC,CAAC;QACF,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC/B,gBAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC;aACb;YACD,IAAI,QAAQ,EAAE,OAAO,EAAE;gBACrB,gBAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvF,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;aAChD;YACD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CACF;AA7BD,gDA6BC"}
1
+ {"version":3,"file":"lambda-invoke-client.js","sourceRoot":"","sources":["../../../../src/clients/generic/lambda-invoke-client.ts"],"names":[],"mappings":";;;AAAA,0DAAyF;AACzF,kDAAkD;AAClD,2CAAuC;AAQvC,MAAa,kBAAkB;IACrB,MAAM,CAAe;IAE7B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAoB,EAAE,OAAY;QACrD,MAAM,MAAM,GAAuB;YACjC,YAAY,EAAE,YAAY;YAC1B,cAAc,EAAE,iBAAiB;YACjC,OAAO,EAAE,IAAA,wBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAC/C,CAAC;QAEF,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,6BAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACnE,gBAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAK/C,IAAI,QAAQ,EAAE,OAAO,EAAE;gBACrB,MAAM,aAAa,GAAG,QAAQ,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC9C,gBAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClD,OAAO,WAAW,CAAC;aACpB;YACD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CACF;AAjCD,gDAiCC"}
@@ -8,8 +8,10 @@ export declare class RedisClient {
8
8
  private createClient;
9
9
  private getClient;
10
10
  connect(client: Redis): Promise<void>;
11
- set(key: string, value: string, ttlInSeconds?: number): Promise<void>;
12
- get(key: string): Promise<string | null>;
11
+ safeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
12
+ unsafeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
13
+ unsafeGet(key: string): Promise<string | null>;
14
+ safeGet(key: string): Promise<string | null>;
13
15
  del(key: string): Promise<number>;
14
16
  disconnect(): Promise<void>;
15
17
  }
@@ -52,7 +52,7 @@ class RedisClient {
52
52
  return;
53
53
  }
54
54
  }
55
- async set(key, value, ttlInSeconds) {
55
+ async safeSet(key, value, ttlInSeconds) {
56
56
  try {
57
57
  const client = this.getClient();
58
58
  if (ttlInSeconds) {
@@ -67,7 +67,21 @@ class RedisClient {
67
67
  return;
68
68
  }
69
69
  }
70
- async get(key) {
70
+ async unsafeSet(key, value, ttlInSeconds) {
71
+ const client = this.getClient();
72
+ if (ttlInSeconds) {
73
+ await client.set(key, value, 'EX', ttlInSeconds);
74
+ }
75
+ else {
76
+ await client.set(key, value);
77
+ }
78
+ }
79
+ async unsafeGet(key) {
80
+ const client = this.getClient();
81
+ helpers_1.Logger.debug('get', { key, client });
82
+ return await client.get(key);
83
+ }
84
+ async safeGet(key) {
71
85
  try {
72
86
  const client = this.getClient();
73
87
  helpers_1.Logger.debug('get', { key, client });
@@ -1 +1 @@
1
- {"version":3,"file":"redis-client.js","sourceRoot":"","sources":["../../../../src/clients/generic/redis-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis-client.js","sourceRoot":"","sources":["../../../../src/clients/generic/redis-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { LambdaInvokeClient } from '../generic/lambda-invoke-client';
2
+ export interface CacheRequestCommand {
3
+ cacheKey: string;
4
+ commandType: string;
5
+ expires?: number;
6
+ data?: string;
7
+ }
8
+ export interface CacheRequestCommandResponse {
9
+ cacheKey: string;
10
+ commandType: string;
11
+ expires?: number;
12
+ status?: number;
13
+ responseData?: any;
14
+ }
15
+ export declare class CacheLambdaClient {
16
+ FUNCTION_NAME: string;
17
+ lambdaInvokeClient: LambdaInvokeClient;
18
+ constructor(functionName: string);
19
+ batchInvoke(commands: CacheRequestCommand[]): Promise<CacheRequestCommandResponse[]>;
20
+ invokeDelete(cacheKey: string): Promise<CacheRequestCommandResponse | undefined>;
21
+ invokeGet(cacheKey: string): Promise<CacheRequestCommandResponse | undefined>;
22
+ invokeSet(cacheKey: string, data: string, expires?: number): Promise<CacheRequestCommandResponse | undefined>;
23
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheLambdaClient = void 0;
4
+ const lambda_invoke_client_1 = require("../generic/lambda-invoke-client");
5
+ class CacheLambdaClient {
6
+ FUNCTION_NAME;
7
+ lambdaInvokeClient;
8
+ constructor(functionName) {
9
+ this.FUNCTION_NAME = functionName;
10
+ this.lambdaInvokeClient = new lambda_invoke_client_1.LambdaInvokeClient();
11
+ }
12
+ async batchInvoke(commands) {
13
+ const response = await this.lambdaInvokeClient.invokeFunction(this.FUNCTION_NAME, commands);
14
+ if (response && response.body) {
15
+ const responseBody = JSON.parse(response.body);
16
+ return responseBody;
17
+ }
18
+ return [];
19
+ }
20
+ async invokeDelete(cacheKey) {
21
+ const payload = [{
22
+ cacheKey,
23
+ commandType: 'delete',
24
+ }];
25
+ const response = await this.lambdaInvokeClient.invokeFunction(this.FUNCTION_NAME, payload);
26
+ if (response && response?.body) {
27
+ const responseBody = JSON.parse(response.body);
28
+ return responseBody?.[0];
29
+ }
30
+ return;
31
+ }
32
+ async invokeGet(cacheKey) {
33
+ const payload = [{
34
+ cacheKey,
35
+ commandType: 'get',
36
+ }];
37
+ const response = await this.lambdaInvokeClient.invokeFunction(this.FUNCTION_NAME, payload);
38
+ if (response && response?.body) {
39
+ const responseBody = JSON.parse(response.body);
40
+ return responseBody?.[0];
41
+ }
42
+ return;
43
+ }
44
+ async invokeSet(cacheKey, data, expires) {
45
+ const payload = [{
46
+ cacheKey,
47
+ commandType: 'set',
48
+ expires,
49
+ data
50
+ }];
51
+ const response = await this.lambdaInvokeClient.invokeFunction(this.FUNCTION_NAME, payload);
52
+ if (response && response?.body) {
53
+ const responseBody = JSON.parse(response.body);
54
+ return responseBody?.[0];
55
+ }
56
+ return;
57
+ }
58
+ }
59
+ exports.CacheLambdaClient = CacheLambdaClient;
60
+ //# sourceMappingURL=cache-lambda-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-lambda-client.js","sourceRoot":"","sources":["../../../../src/clients/internal-api/cache-lambda-client.ts"],"names":[],"mappings":";;;AAAA,0EAAqE;AAgBrE,MAAa,iBAAiB;IACrB,aAAa,CAAS;IAC7B,kBAAkB,CAAqB;IAEvC,YAAY,YAAoB;QAC9B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,yCAAkB,EAAE,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAA+B;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5F,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAkC,CAAC;YAChF,OAAO,YAAY,CAAC;SACrB;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,QAAgB;QACxC,MAAM,OAAO,GAA0B,CAAC;gBACtC,QAAQ;gBACR,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3F,IAAI,QAAQ,IAAI,QAAQ,EAAE,IAAI,EAAE;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAkC,CAAC;YAChF,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO;IACT,CAAC;IACM,KAAK,CAAC,SAAS,CAAC,QAAgB;QACrC,MAAM,OAAO,GAA0B,CAAC;gBACtC,QAAQ;gBACR,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3F,IAAI,QAAQ,IAAI,QAAQ,EAAE,IAAI,EAAE;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAkC,CAAC;YAChF,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO;IACT,CAAC;IACM,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,IAAY,EAAE,OAAgB;QACrE,MAAM,OAAO,GAA0B,CAAC;gBACtC,QAAQ;gBACR,WAAW,EAAE,KAAK;gBAClB,OAAO;gBACP,IAAI;aACL,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3F,IAAI,QAAQ,IAAI,QAAQ,EAAE,IAAI,EAAE;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAkC,CAAC;YAChF,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO;IACT,CAAC;CAEF;AAzDD,8CAyDC"}
@@ -5,3 +5,4 @@ export * from './shopify-app-install-client.js';
5
5
  export * from './identity-client.js';
6
6
  export * from './db-management-client.js';
7
7
  export * from './event-collector-client.js';
8
+ export * from './cache-lambda-client.js';
@@ -21,4 +21,5 @@ __exportStar(require("./shopify-app-install-client.js"), exports);
21
21
  __exportStar(require("./identity-client.js"), exports);
22
22
  __exportStar(require("./db-management-client.js"), exports);
23
23
  __exportStar(require("./event-collector-client.js"), exports);
24
+ __exportStar(require("./cache-lambda-client.js"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/internal-api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,uDAAqC;AACrC,yDAAuC;AACvC,kEAAgD;AAChD,uDAAqC;AACrC,4DAA0C;AAC1C,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/internal-api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,uDAAqC;AACrC,yDAAuC;AACvC,kEAAgD;AAChD,uDAAqC;AACrC,4DAA0C;AAC1C,8DAA4C;AAC5C,2DAAyC"}
@@ -8,16 +8,12 @@ export interface IdentityCache {
8
8
  expiresAt?: number;
9
9
  }
10
10
  export declare class IdentityCacheDbService {
11
- TABLE_NAME: string;
12
- TABLE_KEY: string;
13
- TTL_IN_MONTHS: number;
14
- private redisClient;
11
+ private cacheLambdaClient;
15
12
  private lambdaInvokeClient;
16
- constructor(redisHost: string, redisPort: number, tableName: string, tableKey: string, cacheTtlInMonths?: number);
13
+ constructor(cacheLambdaFunctionArn: string);
17
14
  getIdentityWithCaching: (pixelId: string, incomingIdentity: EventIdentity | undefined, identifyPrivateLambdaArn: string) => Promise<EventIdentity | undefined>;
18
- updateIdentityCacheRedis: (pixelId: string, request: EventIdentity, response: EventIdentity) => Promise<void>;
19
- getIdentityCacheFromDynamoDb: (identityId: string) => Promise<IdentityCache>;
20
- deleteIdentityCacheDynamoDb: (incomingIdentity: EventIdentity, resolvedIdentity: EventIdentity) => Promise<void>;
15
+ updateIdentityCacheRedis: (pixelId: string, request: EventIdentity, response: EventIdentity) => Promise<import("../../clients").CacheRequestCommandResponse[] | undefined>;
16
+ private getIdentityCache;
21
17
  getIdentityFromCache(pixelId: string, incomingIdentity: EventIdentity): Promise<{
22
18
  resolvedIdentity: EventIdentity | undefined;
23
19
  updateCache: boolean;
@@ -4,21 +4,13 @@ exports.IdentityCacheDbService = void 0;
4
4
  const clients_1 = require("../../clients");
5
5
  const libs_1 = require("../../libs");
6
6
  const helpers_1 = require("../../helpers");
7
- const redis_client_1 = require("../../clients/generic/redis-client");
8
7
  const identity_cache_helper_1 = require("../../helpers/identity-cache-helper");
9
- const DEFAULT_CACHE_TTL_IN_MONTHS = 6;
10
8
  const IDENTITY_CACHE_TTL_IN_SECONDS = 60 * 60 * 24 * 30 * 6;
11
9
  class IdentityCacheDbService {
12
- TABLE_NAME;
13
- TABLE_KEY;
14
- TTL_IN_MONTHS;
15
- redisClient;
10
+ cacheLambdaClient;
16
11
  lambdaInvokeClient;
17
- constructor(redisHost, redisPort, tableName, tableKey, cacheTtlInMonths) {
18
- this.TABLE_NAME = tableName;
19
- this.TABLE_KEY = tableKey;
20
- this.TTL_IN_MONTHS = cacheTtlInMonths || DEFAULT_CACHE_TTL_IN_MONTHS;
21
- this.redisClient = new redis_client_1.RedisClient(redisHost, redisPort);
12
+ constructor(cacheLambdaFunctionArn) {
13
+ this.cacheLambdaClient = new clients_1.CacheLambdaClient(cacheLambdaFunctionArn);
22
14
  this.lambdaInvokeClient = new clients_1.LambdaInvokeClient();
23
15
  }
24
16
  getIdentityWithCaching = async (pixelId, incomingIdentity = {}, identifyPrivateLambdaArn) => {
@@ -27,12 +19,17 @@ class IdentityCacheDbService {
27
19
  helpers_1.Logger.error('getIdentityWithCaching -No pixelId or incomingIdentity', { pixelId, incomingIdentity });
28
20
  return undefined;
29
21
  }
30
- const { resolvedIdentity, updateCache } = await this.getIdentityFromCache(pixelId, incomingIdentity);
22
+ let { resolvedIdentity, updateCache } = await this.getIdentityFromCache(pixelId, incomingIdentity);
31
23
  if (!resolvedIdentity) {
32
24
  helpers_1.Logger.debug('identity cache miss - fetching from identity service', { incomingIdentity });
33
- const identifyResponse = await this.lambdaInvokeClient.invokeFunction(identifyPrivateLambdaArn, { pixelId, context: { identity: incomingIdentity } });
34
- if (identifyResponse) {
35
- helpers_1.Logger.debug('response from identify private handler', { identifyResponse });
25
+ const response = await this.lambdaInvokeClient.invokeFunction(identifyPrivateLambdaArn, { pixelId, context: { identity: incomingIdentity } });
26
+ if (response?.statusCode === 200 && response?.body) {
27
+ const identifyResponse = JSON.parse(response.body);
28
+ resolvedIdentity = identifyResponse?.identity;
29
+ updateCache = true;
30
+ }
31
+ else {
32
+ helpers_1.Logger.error('Failed to getIdentity from identifyPrivateLambda', { response, pixelId, incomingIdentity, identifyPrivateLambdaArn });
36
33
  }
37
34
  }
38
35
  else {
@@ -60,39 +57,60 @@ class IdentityCacheDbService {
60
57
  response,
61
58
  updatedAt: (0, libs_1.getCurrentTimestamp)(),
62
59
  };
60
+ const setCacheCommands = [];
63
61
  const cacheKey = `identId_${pixelId}_${response.identityId}`;
64
- await this.redisClient.set(cacheKey, JSON.stringify(identityCache), IDENTITY_CACHE_TTL_IN_SECONDS);
65
- helpers_1.Logger.debug('updated identity cache', { cacheKey, identityCache });
62
+ setCacheCommands.push({
63
+ cacheKey,
64
+ commandType: 'set',
65
+ data: JSON.stringify(identityCache),
66
+ expires: IDENTITY_CACHE_TTL_IN_SECONDS,
67
+ });
66
68
  if (request?.identityId) {
67
69
  const cacheKey = `identId_${pixelId}_${request.identityId}`;
68
- await this.redisClient.set(cacheKey, JSON.stringify(identityCache), IDENTITY_CACHE_TTL_IN_SECONDS);
69
- helpers_1.Logger.debug('updated identity cache', { cacheKey, identityCache });
70
+ setCacheCommands.push({
71
+ cacheKey,
72
+ commandType: 'set',
73
+ data: JSON.stringify(identityCache),
74
+ expires: IDENTITY_CACHE_TTL_IN_SECONDS,
75
+ });
70
76
  }
71
77
  if (response?.traits?.emails && response?.traits?.emails?.length > 0) {
72
78
  for (let i = 0; i < response.traits.emails.length; i++) {
73
79
  const cacheKey = `identEmail_${pixelId}_${response.traits.emails[i]}`;
74
- await this.redisClient.set(cacheKey, JSON.stringify(identityCache), IDENTITY_CACHE_TTL_IN_SECONDS);
75
- helpers_1.Logger.debug('updated identity cache', { cacheKey, identityCache });
80
+ setCacheCommands.push({
81
+ cacheKey,
82
+ commandType: 'set',
83
+ data: JSON.stringify(identityCache),
84
+ expires: IDENTITY_CACHE_TTL_IN_SECONDS,
85
+ });
76
86
  }
77
87
  }
78
88
  if (response?.traits?.userIds && response?.traits?.userIds?.length > 0) {
79
89
  for (let i = 0; i < response.traits.userIds.length; i++) {
80
90
  const cacheKey = `identUserId_${pixelId}_${response.traits.userIds[i]}`;
81
- await this.redisClient.set(cacheKey, JSON.stringify(identityCache), IDENTITY_CACHE_TTL_IN_SECONDS);
82
- helpers_1.Logger.debug('updated identity cache', { cacheKey, identityCache });
91
+ setCacheCommands.push({
92
+ cacheKey,
93
+ commandType: 'set',
94
+ data: JSON.stringify(identityCache),
95
+ expires: IDENTITY_CACHE_TTL_IN_SECONDS,
96
+ });
83
97
  }
84
98
  }
99
+ const start = performance.now();
100
+ const res = await this.cacheLambdaClient.batchInvoke(setCacheCommands);
101
+ const end = performance.now();
102
+ helpers_1.Logger.debug('updated identity cache', { res, duration: end - start });
103
+ return res;
85
104
  };
86
- getIdentityCacheFromDynamoDb = async (identityId) => {
87
- return await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, identityId);
88
- };
89
- deleteIdentityCacheDynamoDb = async (incomingIdentity, resolvedIdentity) => {
90
- if (incomingIdentity?.identityId) {
91
- await clients_1.DynamoDbClient.safeDelete(this.TABLE_NAME, this.TABLE_KEY, incomingIdentity?.identityId);
92
- }
93
- if (resolvedIdentity?.identityId) {
94
- await clients_1.DynamoDbClient.safeDelete(this.TABLE_NAME, this.TABLE_KEY, resolvedIdentity?.identityId);
105
+ getIdentityCache = async (cacheKey) => {
106
+ const start = performance.now();
107
+ const cacheResponse = await this.cacheLambdaClient.invokeGet(cacheKey);
108
+ const end = performance.now();
109
+ helpers_1.Logger.debug('getIdentityCache', { cacheKey, cacheResponse, duration: end - start });
110
+ if (cacheResponse && cacheResponse.responseData) {
111
+ return cacheResponse.responseData;
95
112
  }
113
+ return undefined;
96
114
  };
97
115
  async getIdentityFromCache(pixelId, incomingIdentity) {
98
116
  try {
@@ -104,13 +122,12 @@ class IdentityCacheDbService {
104
122
  if (incomingIdentity?.identityId) {
105
123
  const cacheKey = `identId_${pixelId}_${incomingIdentity.identityId}`;
106
124
  helpers_1.Logger.debug(' try lookup with identityId', { cacheKey });
107
- const cachedIdentity = await this.redisClient.get(cacheKey);
125
+ const cachedIdentity = await this.getIdentityCache(cacheKey);
108
126
  if (cachedIdentity) {
109
127
  helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
110
- const identityCache = JSON.parse(cachedIdentity);
111
- if (!(0, identity_cache_helper_1.isIdentityCacheStale)(identityCache, incomingIdentity)) {
112
- helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
113
- resolvedIdentity = identityCache.response;
128
+ if (!(0, identity_cache_helper_1.isIdentityCacheStale)(cachedIdentity, incomingIdentity)) {
129
+ helpers_1.Logger.debug('cache not stale', { cacheKey, cachedIdentity });
130
+ resolvedIdentity = cachedIdentity.response;
114
131
  }
115
132
  }
116
133
  }
@@ -118,13 +135,12 @@ class IdentityCacheDbService {
118
135
  for (let i = 0; i < incomingIdentity.traits.emails.length; i++) {
119
136
  const cacheKey = `identEmail_${pixelId}_${incomingIdentity.traits.emails[i]}`;
120
137
  helpers_1.Logger.debug(' try lookup with email', { cacheKey });
121
- const cachedIdentity = await this.redisClient.get(cacheKey);
138
+ const cachedIdentity = await this.getIdentityCache(cacheKey);
122
139
  if (cachedIdentity) {
123
140
  helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
124
- const identityCache = JSON.parse(cachedIdentity);
125
- if (!(0, identity_cache_helper_1.isIdentityCacheStale)(identityCache, incomingIdentity)) {
126
- helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
127
- resolvedIdentity = identityCache.response;
141
+ if (!(0, identity_cache_helper_1.isIdentityCacheStale)(cachedIdentity, incomingIdentity)) {
142
+ helpers_1.Logger.debug('cache not stale', { cacheKey, cachedIdentity });
143
+ resolvedIdentity = cachedIdentity.response;
128
144
  updateCache = true;
129
145
  break;
130
146
  }
@@ -135,28 +151,18 @@ class IdentityCacheDbService {
135
151
  for (let i = 0; i < incomingIdentity.traits.userIds.length; i++) {
136
152
  const cacheKey = `identUserId_${pixelId}_${incomingIdentity.traits.userIds[i]}`;
137
153
  helpers_1.Logger.debug(' try lookup with userId', { cacheKey });
138
- const cachedIdentity = await this.redisClient.get(cacheKey);
154
+ const cachedIdentity = await this.getIdentityCache(cacheKey);
139
155
  if (cachedIdentity) {
140
156
  helpers_1.Logger.debug(' found cached identity', { cacheKey, cachedIdentity });
141
- const identityCache = JSON.parse(cachedIdentity);
142
- if (!(0, identity_cache_helper_1.isIdentityCacheStale)(identityCache, incomingIdentity)) {
143
- helpers_1.Logger.debug('cache not stale', { cacheKey, identityCache });
144
- resolvedIdentity = identityCache.response;
157
+ if (!(0, identity_cache_helper_1.isIdentityCacheStale)(cachedIdentity, incomingIdentity)) {
158
+ helpers_1.Logger.debug('cache not stale', { cacheKey, cachedIdentity });
159
+ resolvedIdentity = cachedIdentity.response;
145
160
  updateCache = true;
146
161
  break;
147
162
  }
148
163
  }
149
164
  }
150
165
  }
151
- if (!resolvedIdentity) {
152
- const identityCache = incomingIdentity?.identityId ? await this.getIdentityCacheFromDynamoDb(incomingIdentity?.identityId) : undefined;
153
- if (identityCache) {
154
- if (!(0, identity_cache_helper_1.isIdentityCacheStale)(identityCache, incomingIdentity)) {
155
- resolvedIdentity = identityCache.response;
156
- updateCache = true;
157
- }
158
- }
159
- }
160
166
  return { resolvedIdentity, updateCache };
161
167
  }
162
168
  catch (err) {
@@ -166,36 +172,55 @@ class IdentityCacheDbService {
166
172
  }
167
173
  async deleteIdentityCache(pixelId, incomingIdentity, resolvedIdentity) {
168
174
  await this.deleteIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity);
169
- await this.deleteIdentityCacheDynamoDb(incomingIdentity, resolvedIdentity);
170
175
  }
171
176
  async deleteIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity) {
172
177
  try {
173
178
  if (!pixelId) {
174
179
  return;
175
180
  }
176
- const keysToDelete = [];
181
+ const deleteCacheCommands = [];
177
182
  if (incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
178
- keysToDelete.push(...incomingIdentity.traits.emails.map(email => `identEmail_${pixelId}_${email}`));
183
+ const cmds = incomingIdentity.traits.emails.map(email => ({
184
+ cacheKey: `identEmail_${pixelId}_${email}`,
185
+ commandType: 'delete',
186
+ }));
187
+ deleteCacheCommands.push(...cmds);
179
188
  }
180
189
  if (incomingIdentity?.traits?.userIds && incomingIdentity?.traits?.userIds.length > 0) {
181
- keysToDelete.push(...incomingIdentity.traits.userIds.map(userId => `identUserId_${pixelId}_${userId}`));
190
+ const cmds = incomingIdentity.traits.userIds.map(userId => ({
191
+ cacheKey: `identUserId_${pixelId}_${userId}`,
192
+ commandType: 'delete',
193
+ }));
194
+ deleteCacheCommands.push(...cmds);
182
195
  }
183
196
  if (incomingIdentity?.identityId) {
184
- keysToDelete.push(`identId_${pixelId}_${incomingIdentity.identityId}`);
197
+ deleteCacheCommands.push({
198
+ cacheKey: `identId_${pixelId}_${incomingIdentity.identityId}`,
199
+ commandType: 'delete',
200
+ });
185
201
  }
186
202
  if (resolvedIdentity?.traits?.emails && resolvedIdentity?.traits?.emails.length > 0) {
187
- keysToDelete.push(...resolvedIdentity.traits.emails.map(email => `identEmail_${pixelId}_${email}`));
203
+ const cmds = resolvedIdentity.traits.emails.map(email => ({
204
+ cacheKey: `identEmail_${pixelId}_${email}`,
205
+ commandType: 'delete',
206
+ }));
207
+ deleteCacheCommands.push(...cmds);
188
208
  }
189
209
  if (resolvedIdentity?.traits?.userIds && resolvedIdentity?.traits?.userIds.length > 0) {
190
- keysToDelete.push(...resolvedIdentity.traits.userIds.map(userId => `identUserId_${pixelId}_${userId}`));
210
+ const cmds = resolvedIdentity.traits.userIds.map(userId => ({
211
+ cacheKey: `identUserId_${pixelId}_${userId}`,
212
+ commandType: 'delete',
213
+ }));
214
+ deleteCacheCommands.push(...cmds);
191
215
  }
192
216
  if (resolvedIdentity?.identityId) {
193
- keysToDelete.push(`identId_${pixelId}_${resolvedIdentity.identityId}`);
217
+ deleteCacheCommands.push({
218
+ cacheKey: `identId_${pixelId}_${resolvedIdentity.identityId}`,
219
+ commandType: 'delete',
220
+ });
194
221
  }
195
- if (keysToDelete.length > 0) {
196
- for (let i = 0; i < keysToDelete.length; i++) {
197
- await this.redisClient.del(keysToDelete[i]);
198
- }
222
+ if (deleteCacheCommands.length > 0) {
223
+ await this.cacheLambdaClient.batchInvoke(deleteCacheCommands);
199
224
  }
200
225
  }
201
226
  catch (err) {
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  import { IPDataResponse } from '@adtrackify/at-tracking-event-types';
2
+ import { CacheLambdaClient } from '../clients';
2
3
  export interface IPLookupTableRecord {
3
4
  ipAddress: string;
4
5
  lookupResponse: IPDataResponse | null;
@@ -6,5 +7,11 @@ export interface IPLookupTableRecord {
6
7
  updatedAt: string;
7
8
  expiresAt?: number;
8
9
  }
9
- export declare const lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
10
- export declare const updateIPCache: (ipAddress: string, data: IPDataResponse) => Promise<IPDataResponse | null>;
10
+ export declare class IpDataLookupService {
11
+ private cacheLambdaFunctionArn;
12
+ cacheLambdaClient: CacheLambdaClient;
13
+ constructor(cacheLambdaFunctionArn: string);
14
+ getLookupApi: (ipAddress: string) => Promise<IPDataResponse | null>;
15
+ getIpCache: (ipAddress: string) => Promise<import("../clients").CacheRequestCommandResponse | undefined>;
16
+ lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
17
+ }