@adtrackify/at-service-common 3.0.79 → 3.0.80

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 -5
  14. package/dist/cjs/services/db/identity-cache-db-service.js +94 -62
  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 -5
  32. package/dist/esm/services/db/identity-cache-db-service.js +95 -63
  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"}
@@ -11,13 +11,12 @@ export declare class IdentityCacheDbService {
11
11
  TABLE_NAME: string;
12
12
  TABLE_KEY: string;
13
13
  TTL_IN_MONTHS: number;
14
- private redisClient;
14
+ private cacheLambdaClient;
15
15
  private lambdaInvokeClient;
16
- constructor(redisHost: string, redisPort: number, tableName: string, tableKey: string, cacheTtlInMonths?: number);
16
+ constructor(cacheLambdaFunctionArn: string, tableName: string, tableKey: string, cacheTtlInMonths?: number);
17
17
  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>;
18
+ updateIdentityCacheRedis: (pixelId: string, request: EventIdentity, response: EventIdentity) => Promise<import("../../clients").CacheRequestCommandResponse[] | undefined>;
19
+ private getIdentityCache;
21
20
  getIdentityFromCache(pixelId: string, incomingIdentity: EventIdentity): Promise<{
22
21
  resolvedIdentity: EventIdentity | undefined;
23
22
  updateCache: boolean;
@@ -4,7 +4,6 @@ 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
8
  const DEFAULT_CACHE_TTL_IN_MONTHS = 6;
10
9
  const IDENTITY_CACHE_TTL_IN_SECONDS = 60 * 60 * 24 * 30 * 6;
@@ -12,14 +11,14 @@ class IdentityCacheDbService {
12
11
  TABLE_NAME;
13
12
  TABLE_KEY;
14
13
  TTL_IN_MONTHS;
15
- redisClient;
14
+ cacheLambdaClient;
16
15
  lambdaInvokeClient;
17
- constructor(redisHost, redisPort, tableName, tableKey, cacheTtlInMonths) {
16
+ constructor(cacheLambdaFunctionArn, tableName, tableKey, cacheTtlInMonths) {
18
17
  this.TABLE_NAME = tableName;
19
18
  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);
19
+ this.cacheLambdaClient = new clients_1.CacheLambdaClient(cacheLambdaFunctionArn);
22
20
  this.lambdaInvokeClient = new clients_1.LambdaInvokeClient();
21
+ this.TTL_IN_MONTHS = cacheTtlInMonths || DEFAULT_CACHE_TTL_IN_MONTHS;
23
22
  }
24
23
  getIdentityWithCaching = async (pixelId, incomingIdentity = {}, identifyPrivateLambdaArn) => {
25
24
  try {
@@ -27,12 +26,17 @@ class IdentityCacheDbService {
27
26
  helpers_1.Logger.error('getIdentityWithCaching -No pixelId or incomingIdentity', { pixelId, incomingIdentity });
28
27
  return undefined;
29
28
  }
30
- const { resolvedIdentity, updateCache } = await this.getIdentityFromCache(pixelId, incomingIdentity);
29
+ let { resolvedIdentity, updateCache } = await this.getIdentityFromCache(pixelId, incomingIdentity);
31
30
  if (!resolvedIdentity) {
32
31
  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 });
32
+ const response = await this.lambdaInvokeClient.invokeFunction(identifyPrivateLambdaArn, { pixelId, context: { identity: incomingIdentity } });
33
+ if (response?.statusCode === 200 && response?.body) {
34
+ const identifyResponse = JSON.parse(response.body);
35
+ resolvedIdentity = identifyResponse?.identity;
36
+ updateCache = true;
37
+ }
38
+ else {
39
+ helpers_1.Logger.error('Failed to getIdentity from identifyPrivateLambda', { response, pixelId, incomingIdentity, identifyPrivateLambdaArn });
36
40
  }
37
41
  }
38
42
  else {
@@ -60,39 +64,60 @@ class IdentityCacheDbService {
60
64
  response,
61
65
  updatedAt: (0, libs_1.getCurrentTimestamp)(),
62
66
  };
67
+ const setCacheCommands = [];
63
68
  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 });
69
+ setCacheCommands.push({
70
+ cacheKey,
71
+ commandType: 'set',
72
+ data: JSON.stringify(identityCache),
73
+ expires: IDENTITY_CACHE_TTL_IN_SECONDS,
74
+ });
66
75
  if (request?.identityId) {
67
76
  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 });
77
+ setCacheCommands.push({
78
+ cacheKey,
79
+ commandType: 'set',
80
+ data: JSON.stringify(identityCache),
81
+ expires: IDENTITY_CACHE_TTL_IN_SECONDS,
82
+ });
70
83
  }
71
84
  if (response?.traits?.emails && response?.traits?.emails?.length > 0) {
72
85
  for (let i = 0; i < response.traits.emails.length; i++) {
73
86
  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 });
87
+ setCacheCommands.push({
88
+ cacheKey,
89
+ commandType: 'set',
90
+ data: JSON.stringify(identityCache),
91
+ expires: IDENTITY_CACHE_TTL_IN_SECONDS,
92
+ });
76
93
  }
77
94
  }
78
95
  if (response?.traits?.userIds && response?.traits?.userIds?.length > 0) {
79
96
  for (let i = 0; i < response.traits.userIds.length; i++) {
80
97
  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 });
98
+ setCacheCommands.push({
99
+ cacheKey,
100
+ commandType: 'set',
101
+ data: JSON.stringify(identityCache),
102
+ expires: IDENTITY_CACHE_TTL_IN_SECONDS,
103
+ });
83
104
  }
84
105
  }
106
+ const start = performance.now();
107
+ const res = await this.cacheLambdaClient.batchInvoke(setCacheCommands);
108
+ const end = performance.now();
109
+ helpers_1.Logger.debug('updated identity cache', { res, duration: end - start });
110
+ return res;
85
111
  };
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);
112
+ getIdentityCache = async (cacheKey) => {
113
+ const start = performance.now();
114
+ const cacheResponse = await this.cacheLambdaClient.invokeGet(cacheKey);
115
+ const end = performance.now();
116
+ helpers_1.Logger.debug('getIdentityCache', { cacheKey, cacheResponse, duration: end - start });
117
+ if (cacheResponse && cacheResponse.responseData) {
118
+ return cacheResponse.responseData;
95
119
  }
120
+ return undefined;
96
121
  };
97
122
  async getIdentityFromCache(pixelId, incomingIdentity) {
98
123
  try {
@@ -104,13 +129,12 @@ class IdentityCacheDbService {
104
129
  if (incomingIdentity?.identityId) {
105
130
  const cacheKey = `identId_${pixelId}_${incomingIdentity.identityId}`;
106
131
  helpers_1.Logger.debug(' try lookup with identityId', { cacheKey });
107
- const cachedIdentity = await this.redisClient.get(cacheKey);
132
+ const cachedIdentity = await this.getIdentityCache(cacheKey);
108
133
  if (cachedIdentity) {
109
134
  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;
135
+ if (!(0, identity_cache_helper_1.isIdentityCacheStale)(cachedIdentity, incomingIdentity)) {
136
+ helpers_1.Logger.debug('cache not stale', { cacheKey, cachedIdentity });
137
+ resolvedIdentity = cachedIdentity.response;
114
138
  }
115
139
  }
116
140
  }
@@ -118,13 +142,12 @@ class IdentityCacheDbService {
118
142
  for (let i = 0; i < incomingIdentity.traits.emails.length; i++) {
119
143
  const cacheKey = `identEmail_${pixelId}_${incomingIdentity.traits.emails[i]}`;
120
144
  helpers_1.Logger.debug(' try lookup with email', { cacheKey });
121
- const cachedIdentity = await this.redisClient.get(cacheKey);
145
+ const cachedIdentity = await this.getIdentityCache(cacheKey);
122
146
  if (cachedIdentity) {
123
147
  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;
148
+ if (!(0, identity_cache_helper_1.isIdentityCacheStale)(cachedIdentity, incomingIdentity)) {
149
+ helpers_1.Logger.debug('cache not stale', { cacheKey, cachedIdentity });
150
+ resolvedIdentity = cachedIdentity.response;
128
151
  updateCache = true;
129
152
  break;
130
153
  }
@@ -135,28 +158,18 @@ class IdentityCacheDbService {
135
158
  for (let i = 0; i < incomingIdentity.traits.userIds.length; i++) {
136
159
  const cacheKey = `identUserId_${pixelId}_${incomingIdentity.traits.userIds[i]}`;
137
160
  helpers_1.Logger.debug(' try lookup with userId', { cacheKey });
138
- const cachedIdentity = await this.redisClient.get(cacheKey);
161
+ const cachedIdentity = await this.getIdentityCache(cacheKey);
139
162
  if (cachedIdentity) {
140
163
  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;
164
+ if (!(0, identity_cache_helper_1.isIdentityCacheStale)(cachedIdentity, incomingIdentity)) {
165
+ helpers_1.Logger.debug('cache not stale', { cacheKey, cachedIdentity });
166
+ resolvedIdentity = cachedIdentity.response;
145
167
  updateCache = true;
146
168
  break;
147
169
  }
148
170
  }
149
171
  }
150
172
  }
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
173
  return { resolvedIdentity, updateCache };
161
174
  }
162
175
  catch (err) {
@@ -166,36 +179,55 @@ class IdentityCacheDbService {
166
179
  }
167
180
  async deleteIdentityCache(pixelId, incomingIdentity, resolvedIdentity) {
168
181
  await this.deleteIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity);
169
- await this.deleteIdentityCacheDynamoDb(incomingIdentity, resolvedIdentity);
170
182
  }
171
183
  async deleteIdentityCacheRedis(pixelId, incomingIdentity, resolvedIdentity) {
172
184
  try {
173
185
  if (!pixelId) {
174
186
  return;
175
187
  }
176
- const keysToDelete = [];
188
+ const deleteCacheCommands = [];
177
189
  if (incomingIdentity?.traits?.emails && incomingIdentity?.traits?.emails?.length > 0) {
178
- keysToDelete.push(...incomingIdentity.traits.emails.map(email => `identEmail_${pixelId}_${email}`));
190
+ const cmds = incomingIdentity.traits.emails.map(email => ({
191
+ cacheKey: `identEmail_${pixelId}_${email}`,
192
+ commandType: 'delete',
193
+ }));
194
+ deleteCacheCommands.push(...cmds);
179
195
  }
180
196
  if (incomingIdentity?.traits?.userIds && incomingIdentity?.traits?.userIds.length > 0) {
181
- keysToDelete.push(...incomingIdentity.traits.userIds.map(userId => `identUserId_${pixelId}_${userId}`));
197
+ const cmds = incomingIdentity.traits.userIds.map(userId => ({
198
+ cacheKey: `identUserId_${pixelId}_${userId}`,
199
+ commandType: 'delete',
200
+ }));
201
+ deleteCacheCommands.push(...cmds);
182
202
  }
183
203
  if (incomingIdentity?.identityId) {
184
- keysToDelete.push(`identId_${pixelId}_${incomingIdentity.identityId}`);
204
+ deleteCacheCommands.push({
205
+ cacheKey: `identId_${pixelId}_${incomingIdentity.identityId}`,
206
+ commandType: 'delete',
207
+ });
185
208
  }
186
209
  if (resolvedIdentity?.traits?.emails && resolvedIdentity?.traits?.emails.length > 0) {
187
- keysToDelete.push(...resolvedIdentity.traits.emails.map(email => `identEmail_${pixelId}_${email}`));
210
+ const cmds = resolvedIdentity.traits.emails.map(email => ({
211
+ cacheKey: `identEmail_${pixelId}_${email}`,
212
+ commandType: 'delete',
213
+ }));
214
+ deleteCacheCommands.push(...cmds);
188
215
  }
189
216
  if (resolvedIdentity?.traits?.userIds && resolvedIdentity?.traits?.userIds.length > 0) {
190
- keysToDelete.push(...resolvedIdentity.traits.userIds.map(userId => `identUserId_${pixelId}_${userId}`));
217
+ const cmds = resolvedIdentity.traits.userIds.map(userId => ({
218
+ cacheKey: `identUserId_${pixelId}_${userId}`,
219
+ commandType: 'delete',
220
+ }));
221
+ deleteCacheCommands.push(...cmds);
191
222
  }
192
223
  if (resolvedIdentity?.identityId) {
193
- keysToDelete.push(`identId_${pixelId}_${resolvedIdentity.identityId}`);
224
+ deleteCacheCommands.push({
225
+ cacheKey: `identId_${pixelId}_${resolvedIdentity.identityId}`,
226
+ commandType: 'delete',
227
+ });
194
228
  }
195
- if (keysToDelete.length > 0) {
196
- for (let i = 0; i < keysToDelete.length; i++) {
197
- await this.redisClient.del(keysToDelete[i]);
198
- }
229
+ if (deleteCacheCommands.length > 0) {
230
+ await this.cacheLambdaClient.batchInvoke(deleteCacheCommands);
199
231
  }
200
232
  }
201
233
  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":";;;AACA,2CAAmE;AACnE,qCAAiD;AACjD,2CAAuC;AACvC,qEAAiE;AACjE,+EAA2E;AAW3E,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;IACrB,WAAW,CAAc;IACzB,kBAAkB,CAAqB;IAE/C,YAAY,SAAiB,EAAE,SAAiB,EAAE,SAAiB,EAAE,QAAgB,EAAE,gBAAyB;QAC9G,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,gBAAgB,IAAI,2BAA2B,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,IAAI,4BAAkB,EAAE,CAAC;IACrD,CAAC;IAEM,sBAAsB,GAAG,KAAK,EAAE,OAAe,EAAE,mBAAkC,EAAE,EAAE,wBAAgC,EAAE,EAAE;QAChI,IAAI;YACF,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,EAAE;gBACjC,gBAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACtG,OAAO,SAAS,CAAC;aAClB;YACD,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAA2E,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAG7K,IAAI,CAAC,gBAAgB,EAAE;gBACrB,gBAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAE3F,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBACtJ,IAAI,gBAAgB,EAAE;oBACpB,gBAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;iBAC9E;aAGF;iBAAM;gBACL,gBAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;aAC1D;YAGD,IAAI,WAAW,IAAI,gBAAgB,EAAE;gBACnC,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;aAClF;YACD,IAAI,CAAC,gBAAgB,EAAE;gBACrB,gBAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;aAClE;YACD,OAAO,gBAAgB,CAAC;SACzB;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC;SAClB;IACH,CAAC,CAAA;IAEM,wBAAwB,GAAG,KAAK,EAAE,OAAe,EAAE,OAAsB,EAAE,QAAuB,EAAE,EAAE;QAC3G,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE;YACjD,OAAO;SACR;QACD,MAAM,aAAa,GAAkB;YACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ;YACR,SAAS,EAAE,IAAA,0BAAmB,GAAE;SACjC,CAAC;QAEF,MAAM,QAAQ,GAAG,WAAW,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7D,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAC,CAAC;QACnG,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;QAEpE,IAAI,OAAO,EAAE,UAAU,EAAE;YACvB,MAAM,QAAQ,GAAG,WAAW,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAC,CAAC;YACnG,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;SACrE;QACD,IAAI,QAAQ,EAAE,MAAM,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE;YACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,MAAM,QAAQ,GAAG,cAAc,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAC,CAAC;gBACnG,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;aACrE;SACF;QACD,IAAI,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;YACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvD,MAAM,QAAQ,GAAG,eAAe,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAC,CAAC;gBACnG,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;aACrE;SACF;IACH,CAAC,CAAA;IAEM,4BAA4B,GAAG,KAAK,EAAE,UAAkB,EAA0B,EAAE;QACzF,OAAO,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAkB,CAAC;IACpG,CAAC,CAAA;IAEM,2BAA2B,GAAG,KAAK,EAAE,gBAA+B,EAAE,gBAA+B,EAAE,EAAE;QAC9G,IAAI,gBAAgB,EAAE,UAAU,EAAE;YAChC,MAAM,wBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;SAChG;QACD,IAAI,gBAAgB,EAAE,UAAU,EAAE;YAChC,MAAM,wBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;SAChG;IACH,CAAC,CAAA;IAEM,KAAK,CAAC,oBAAoB,CAAC,OAAe,EAAE,gBAA+B;QAChF,IAAI;YACF,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,EAAE;gBACjC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;aAC5D;YACD,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,IAAI,gBAA2C,CAAC;YAChD,IAAI,gBAAgB,EAAE,UAAU,EAAE;gBAChC,MAAM,QAAQ,GAAG,WAAW,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC;gBACrE,gBAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC1D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,cAAc,EAAE;oBAClB,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;oBACrE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAkB,CAAC;oBAClE,IAAI,CAAC,IAAA,4CAAoB,EAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE;wBAC1D,gBAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;wBAC7D,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC;qBAC3C;iBACF;aACF;YAED,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,EAAE,MAAM,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE;gBACzG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC9D,MAAM,QAAQ,GAAG,cAAc,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9E,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACrD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5D,IAAI,cAAc,EAAE;wBAClB,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;wBACrE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAkB,CAAC;wBAClE,IAAI,CAAC,IAAA,4CAAoB,EAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE;4BAC1D,gBAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;4BAC7D,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC;4BAC1C,WAAW,GAAG,IAAI,CAAC;4BACnB,MAAM;yBACP;qBACF;iBACF;aACF;YAED,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,EAAE,MAAM,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;gBAC3G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/D,MAAM,QAAQ,GAAG,eAAe,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChF,gBAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5D,IAAI,cAAc,EAAE;wBAClB,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;wBACrE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAkB,CAAC;wBAClE,IAAI,CAAC,IAAA,4CAAoB,EAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE;4BAC1D,gBAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;4BAC7D,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC;4BAC1C,WAAW,GAAG,IAAI,CAAC;4BACnB,MAAM;yBACP;qBACF;iBACF;aACF;YAGD,IAAI,CAAC,gBAAgB,EAAE;gBACrB,MAAM,aAAa,GAAG,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvI,IAAI,aAAa,EAAE;oBACjB,IAAI,CAAC,IAAA,4CAAoB,EAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE;wBAC1D,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC;wBAC1C,WAAW,GAAG,IAAI,CAAC;qBACpB;iBACF;aACF;YACD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;SAC1C;QACD,OAAO,GAAG,EAAE;YACV,gBAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACjE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;SAC5D;IACH,CAAC;IACM,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,gBAA+B,EAAE,gBAA+B;QAChH,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,OAAe,EAAE,gBAA+B,EAAE,gBAA+B;QACtH,IAAI;YACF,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO;aACR;YACD,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,IAAI,gBAAgB,EAAE,MAAM,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE;gBACpF,YAAY,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;aACrG;YACD,IAAI,gBAAgB,EAAE,MAAM,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrF,YAAY,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;aACzG;YACD,IAAI,gBAAgB,EAAE,UAAU,EAAE;gBAChC,YAAY,CAAC,IAAI,CAAC,WAAW,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC;aACxE;YACD,IAAI,gBAAgB,EAAE,MAAM,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnF,YAAY,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;aACrG;YACD,IAAI,gBAAgB,EAAE,MAAM,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrF,YAAY,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;aACzG;YACD,IAAI,gBAAgB,EAAE,UAAU,EAAE;gBAChC,YAAY,CAAC,IAAI,CAAC,WAAW,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC;aACxE;YACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7C;aACF;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,gBAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;SAC9D;IACH,CAAC;CACF;AApND,wDAoNC"}
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
+ }