@adtrackify/at-service-common 3.0.31 → 3.0.33

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.
@@ -4,3 +4,4 @@ export * from './http-client.js';
4
4
  export * from './s3-client.js';
5
5
  export * from './cognito-client.js';
6
6
  export * from './sqs-client.js';
7
+ export * from './location-client.js';
@@ -20,4 +20,5 @@ __exportStar(require("./http-client.js"), exports);
20
20
  __exportStar(require("./s3-client.js"), exports);
21
21
  __exportStar(require("./cognito-client.js"), exports);
22
22
  __exportStar(require("./sqs-client.js"), exports);
23
+ __exportStar(require("./location-client.js"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/generic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,0DAAwC;AACxC,mDAAiC;AACjC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/generic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,0DAAwC;AACxC,mDAAiC;AACjC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC"}
@@ -0,0 +1,8 @@
1
+ import { SearchPlaceIndexForPositionCommandOutput } from '@aws-sdk/client-location';
2
+ export declare class LocationClient {
3
+ private PLACE_INDEX_NAME;
4
+ private PLACE_INDEX_API_KEY;
5
+ private client;
6
+ constructor(placeIndexName: string, placeIndexAPIKey: string);
7
+ getPlaceFromLatLong: (latitude: number, longitude: number, maxResults?: number) => Promise<SearchPlaceIndexForPositionCommandOutput | null>;
8
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocationClient = void 0;
4
+ const client_location_1 = require("@aws-sdk/client-location");
5
+ const index_js_1 = require("../../index.js");
6
+ class LocationClient {
7
+ PLACE_INDEX_NAME;
8
+ PLACE_INDEX_API_KEY;
9
+ client;
10
+ constructor(placeIndexName, placeIndexAPIKey) {
11
+ this.client = new client_location_1.LocationClient();
12
+ this.PLACE_INDEX_NAME = placeIndexName;
13
+ this.PLACE_INDEX_API_KEY = placeIndexAPIKey;
14
+ }
15
+ getPlaceFromLatLong = async (latitude, longitude, maxResults = 1) => {
16
+ try {
17
+ const command = new client_location_1.SearchPlaceIndexForPositionCommand({
18
+ IndexName: this.PLACE_INDEX_NAME,
19
+ Position: [longitude, latitude],
20
+ MaxResults: maxResults,
21
+ Key: this.PLACE_INDEX_API_KEY
22
+ });
23
+ return await this.client.send(command);
24
+ }
25
+ catch (error) {
26
+ index_js_1.Logger.error('Failed to get place from lat lng', { latitude, longitude, maxResults, error });
27
+ return null;
28
+ }
29
+ };
30
+ }
31
+ exports.LocationClient = LocationClient;
32
+ //# sourceMappingURL=location-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location-client.js","sourceRoot":"","sources":["../../../../src/clients/generic/location-client.ts"],"names":[],"mappings":";;;AAAA,8DAA6J;AAC7J,6CAAwC;AAExC,MAAa,cAAc;IACjB,gBAAgB,CAAS;IACzB,mBAAmB,CAAS;IAE5B,MAAM,CAAoB;IAElC,YAAY,cAAsB,EAAE,gBAAwB;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,gCAAiB,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC;IAC9C,CAAC;IAEM,mBAAmB,GAAG,KAAK,EAAE,QAAgB,EAAE,SAAiB,EAAE,UAAU,GAAG,CAAC,EAA4D,EAAE;QACnJ,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,oDAAkC,CAAC;gBACrD,SAAS,EAAE,IAAI,CAAC,gBAAgB;gBAChC,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBAC/B,UAAU,EAAE,UAAU;gBACtB,GAAG,EAAE,IAAI,CAAC,mBAAmB;aAC9B,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACd,iBAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAA;CACF;AA1BD,wCA0BC"}
@@ -7,3 +7,4 @@ export interface IPLookupTableRecord {
7
7
  expiresAt?: number;
8
8
  }
9
9
  export declare const lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
10
+ export declare const updateIPCache: (ipAddress: string, data: IPDataResponse) => Promise<IPDataResponse | null>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lookupIP = void 0;
3
+ exports.updateIPCache = exports.lookupIP = void 0;
4
4
  const luxon_1 = require("luxon");
5
5
  const clients_1 = require("../clients");
6
6
  const helpers_1 = require("../helpers");
@@ -63,4 +63,31 @@ const lookupIP = async (ipAddress) => {
63
63
  }
64
64
  };
65
65
  exports.lookupIP = lookupIP;
66
+ const updateIPCache = async (ipAddress, data) => {
67
+ try {
68
+ if (!ipAddress || (0, net_1.isIP)(ipAddress) === 0) {
69
+ helpers_1.Logger.warn('Unable to update IP cache. Invalid Ip Address', { ipAddress, data });
70
+ return null;
71
+ }
72
+ const cachedResult = await clients_1.DynamoDbClient.safeGet(IP_LOOKUP_TABLE_NAME, 'ipAddress', ipAddress);
73
+ let lookupResponse = cachedResult?.lookupResponse;
74
+ if (cachedResult) {
75
+ const updatedLookupResponse = cachedResult?.lookupResponse ?? { asn: {} };
76
+ Object.assign(updatedLookupResponse, data);
77
+ const updatedLookupTableRecord = {
78
+ ...cachedResult,
79
+ lookupResponse,
80
+ updatedAt: (0, libs_1.getCurrentTimestamp)()
81
+ };
82
+ lookupResponse = updatedLookupResponse;
83
+ await clients_1.DynamoDbClient.safePut(IP_LOOKUP_TABLE_NAME, updatedLookupTableRecord);
84
+ }
85
+ return lookupResponse;
86
+ }
87
+ catch (error) {
88
+ helpers_1.Logger.error('Failed to update IP cache', { error });
89
+ return null;
90
+ }
91
+ };
92
+ exports.updateIPCache = updateIPCache;
66
93
  //# sourceMappingURL=ipdata-lookup-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipdata-lookup-service.js","sourceRoot":"","sources":["../../../src/services/ipdata-lookup-service.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AAEjC,wCAA8D;AAC9D,wCAAoC;AACpC,kCAA8C;AAC9C,6BAA2B;AAE3B,MAAM,OAAO,GAAG,0DAA0D,CAAC;AAC3E,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAA8B,CAAC;AAUxE,MAAM,YAAY,GAAG,KAAK,EAAE,SAAiB,EAAkC,EAAE;IAC/E,IAAI;QACF,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;QAClC,MAAM,GAAG,GAAG,yBAAyB,SAAS,YAAY,OAAO,EAAE,CAAC;QACpE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,IAAsB,CAAC;KACpC;IAAC,OAAO,KAAK,EAAE;QACd,gBAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,KAAK,EAAE,SAAiB,EAAkC,EAAE;IAClF,IAAI;QACF,IAAI,CAAC,SAAS,IAAI,IAAA,UAAI,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,gBAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;YACtE,OAAO,IAAI,CAAC;SACb;QACD,MAAM,YAAY,GAAG,MAAM,wBAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,WAAW,EAAE,SAAS,CAAwB,CAAC;QACvH,MAAM,mBAAmB,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;QACvF,IAAI,YAAY,IAAI,YAAY,EAAE,SAAS,GAAG,mBAAmB,EAAE;YACjE,OAAO,YAAY,CAAC,cAAc,CAAC;SACpC;QAED,MAAM,cAAc,GAA0B,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAE5E,IAAI,iBAAsC,CAAC;QAC3C,IAAI,YAAY,EAAE;YAChB,iBAAiB,GAAG;gBAClB,GAAG,YAAY;gBACf,cAAc;gBACd,SAAS,EAAE,IAAA,0BAAmB,GAAE;aACjC,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE;gBAC5B,MAAM,SAAS,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChE,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;aACzC;SACF;aAAM;YACL,MAAM,SAAS,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YAChE,iBAAiB,GAAG;gBAClB,SAAS;gBACT,cAAc;gBACd,SAAS,EAAE,IAAA,0BAAmB,GAAE;gBAChC,SAAS,EAAE,IAAA,0BAAmB,GAAE;gBAChC,SAAS;aACV,CAAC;SACH;QACD,MAAM,wBAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;QACtE,OAAO,cAAc,CAAC;KACvB;IAAC,OAAO,CAAC,EAAE;QACV,gBAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAzCW,QAAA,QAAQ,YAyCnB"}
1
+ {"version":3,"file":"ipdata-lookup-service.js","sourceRoot":"","sources":["../../../src/services/ipdata-lookup-service.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,4 @@ export * from './http-client.js';
4
4
  export * from './s3-client.js';
5
5
  export * from './cognito-client.js';
6
6
  export * from './sqs-client.js';
7
+ export * from './location-client.js';
@@ -4,4 +4,5 @@ export * from './http-client.js';
4
4
  export * from './s3-client.js';
5
5
  export * from './cognito-client.js';
6
6
  export * from './sqs-client.js';
7
+ export * from './location-client.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/generic/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/generic/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { SearchPlaceIndexForPositionCommandOutput } from '@aws-sdk/client-location';
2
+ export declare class LocationClient {
3
+ private PLACE_INDEX_NAME;
4
+ private PLACE_INDEX_API_KEY;
5
+ private client;
6
+ constructor(placeIndexName: string, placeIndexAPIKey: string);
7
+ getPlaceFromLatLong: (latitude: number, longitude: number, maxResults?: number) => Promise<SearchPlaceIndexForPositionCommandOutput | null>;
8
+ }
@@ -0,0 +1,28 @@
1
+ import { LocationClient as AWSLocationClient, SearchPlaceIndexForPositionCommand } from '@aws-sdk/client-location';
2
+ import { Logger } from '../../index.js';
3
+ export class LocationClient {
4
+ PLACE_INDEX_NAME;
5
+ PLACE_INDEX_API_KEY;
6
+ client;
7
+ constructor(placeIndexName, placeIndexAPIKey) {
8
+ this.client = new AWSLocationClient();
9
+ this.PLACE_INDEX_NAME = placeIndexName;
10
+ this.PLACE_INDEX_API_KEY = placeIndexAPIKey;
11
+ }
12
+ getPlaceFromLatLong = async (latitude, longitude, maxResults = 1) => {
13
+ try {
14
+ const command = new SearchPlaceIndexForPositionCommand({
15
+ IndexName: this.PLACE_INDEX_NAME,
16
+ Position: [longitude, latitude],
17
+ MaxResults: maxResults,
18
+ Key: this.PLACE_INDEX_API_KEY
19
+ });
20
+ return await this.client.send(command);
21
+ }
22
+ catch (error) {
23
+ Logger.error('Failed to get place from lat lng', { latitude, longitude, maxResults, error });
24
+ return null;
25
+ }
26
+ };
27
+ }
28
+ //# sourceMappingURL=location-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location-client.js","sourceRoot":"","sources":["../../../../src/clients/generic/location-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,kCAAkC,EAA4C,MAAM,0BAA0B,CAAC;AAC7J,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,OAAO,cAAc;IACjB,gBAAgB,CAAS;IACzB,mBAAmB,CAAS;IAE5B,MAAM,CAAoB;IAElC,YAAY,cAAsB,EAAE,gBAAwB;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC;IAC9C,CAAC;IAEM,mBAAmB,GAAG,KAAK,EAAE,QAAgB,EAAE,SAAiB,EAAE,UAAU,GAAG,CAAC,EAA4D,EAAE;QACnJ,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,kCAAkC,CAAC;gBACrD,SAAS,EAAE,IAAI,CAAC,gBAAgB;gBAChC,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;gBAC/B,UAAU,EAAE,UAAU;gBACtB,GAAG,EAAE,IAAI,CAAC,mBAAmB;aAC9B,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAA;CACF"}
@@ -7,3 +7,4 @@ export interface IPLookupTableRecord {
7
7
  expiresAt?: number;
8
8
  }
9
9
  export declare const lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
10
+ export declare const updateIPCache: (ipAddress: string, data: IPDataResponse) => Promise<IPDataResponse | null>;
@@ -59,4 +59,30 @@ export const lookupIP = async (ipAddress) => {
59
59
  return null;
60
60
  }
61
61
  };
62
+ export const updateIPCache = async (ipAddress, data) => {
63
+ try {
64
+ if (!ipAddress || isIP(ipAddress) === 0) {
65
+ Logger.warn('Unable to update IP cache. Invalid Ip Address', { ipAddress, data });
66
+ return null;
67
+ }
68
+ const cachedResult = await DynamoDbClient.safeGet(IP_LOOKUP_TABLE_NAME, 'ipAddress', ipAddress);
69
+ let lookupResponse = cachedResult?.lookupResponse;
70
+ if (cachedResult) {
71
+ const updatedLookupResponse = cachedResult?.lookupResponse ?? { asn: {} };
72
+ Object.assign(updatedLookupResponse, data);
73
+ const updatedLookupTableRecord = {
74
+ ...cachedResult,
75
+ lookupResponse,
76
+ updatedAt: getCurrentTimestamp()
77
+ };
78
+ lookupResponse = updatedLookupResponse;
79
+ await DynamoDbClient.safePut(IP_LOOKUP_TABLE_NAME, updatedLookupTableRecord);
80
+ }
81
+ return lookupResponse;
82
+ }
83
+ catch (error) {
84
+ Logger.error('Failed to update IP cache', { error });
85
+ return null;
86
+ }
87
+ };
62
88
  //# sourceMappingURL=ipdata-lookup-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipdata-lookup-service.js","sourceRoot":"","sources":["../../../src/services/ipdata-lookup-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipdata-lookup-service.js","sourceRoot":"","sources":["../../../src/services/ipdata-lookup-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adtrackify/at-service-common",
3
- "version": "3.0.31",
3
+ "version": "3.0.33",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist/*"
@@ -35,7 +35,7 @@
35
35
  "prepublishOnly": "npm run tsc"
36
36
  },
37
37
  "dependencies": {
38
- "@adtrackify/at-shared-utils": "^3.0.16",
38
+ "@adtrackify/at-shared-utils": "^3.0.24",
39
39
  "shopify-api-node": "^3.12.7"
40
40
  },
41
41
  "peerDependencies": {
@@ -54,6 +54,7 @@
54
54
  "@aws-sdk/client-cognito-identity-provider": "^3.345.0",
55
55
  "@aws-sdk/client-dynamodb": "^3.345.0",
56
56
  "@aws-sdk/client-eventbridge": "^3.345.0",
57
+ "@aws-sdk/client-location": "^3.568.0",
57
58
  "@aws-sdk/client-s3": "^3.345.0",
58
59
  "@aws-sdk/client-sqs": "^3.345.0",
59
60
  "@aws-sdk/lib-dynamodb": "^3.345.0",