@adtrackify/at-service-common 3.8.2 → 3.8.3
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.
- package/dist/cjs/services/ipdata-lookup-service.d.ts +1 -0
- package/dist/cjs/services/ipdata-lookup-service.js +57 -22
- package/dist/cjs/services/ipdata-lookup-service.js.map +1 -1
- package/dist/esm/services/ipdata-lookup-service.d.ts +1 -0
- package/dist/esm/services/ipdata-lookup-service.js +57 -22
- package/dist/esm/services/ipdata-lookup-service.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ export declare class IpDataLookupService {
|
|
|
13
13
|
client: GenericHttpClient;
|
|
14
14
|
constructor(cacheLambdaFunctionArn: string);
|
|
15
15
|
private getClient;
|
|
16
|
+
private isValidIPDataResponse;
|
|
16
17
|
getLookupApi: (ipAddress: string) => Promise<IPDataResponse | null>;
|
|
17
18
|
getIpCache: (ipAddress: string) => Promise<import("../clients").CacheRequestCommandResponse | undefined>;
|
|
18
19
|
lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
|
|
@@ -20,15 +20,37 @@ class IpDataLookupService {
|
|
|
20
20
|
this.client = this.client ?? (0, clients_1.axiosHttpService)();
|
|
21
21
|
return this.client;
|
|
22
22
|
};
|
|
23
|
+
isValidIPDataResponse = (data) => {
|
|
24
|
+
if (!data || typeof data !== 'object')
|
|
25
|
+
return false;
|
|
26
|
+
const response = data;
|
|
27
|
+
return typeof response.ip === 'string' && typeof response.country_code === 'string';
|
|
28
|
+
};
|
|
23
29
|
getLookupApi = async (ipAddress) => {
|
|
24
30
|
try {
|
|
25
31
|
const client = this.getClient();
|
|
26
32
|
const url = `https://api.ipdata.co/${ipAddress}?api-key=${API_KEY}`;
|
|
27
33
|
const res = await client.get(url);
|
|
28
|
-
|
|
34
|
+
if (!res || res.status < 200 || res.status >= 300) {
|
|
35
|
+
helpers_1.Logger.error('IPData Lookup API returned non-success status', {
|
|
36
|
+
ipAddress,
|
|
37
|
+
status: res?.status,
|
|
38
|
+
responseData: res?.data,
|
|
39
|
+
});
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
if (!this.isValidIPDataResponse(res?.data)) {
|
|
43
|
+
helpers_1.Logger.error('IPData Lookup API returned invalid response shape', {
|
|
44
|
+
ipAddress,
|
|
45
|
+
status: res?.status,
|
|
46
|
+
responseData: res?.data,
|
|
47
|
+
});
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
return res.data;
|
|
29
51
|
}
|
|
30
52
|
catch (error) {
|
|
31
|
-
helpers_1.Logger.error('IPData Lookup API Failed', { error });
|
|
53
|
+
helpers_1.Logger.error('IPData Lookup API Failed', { error, ipAddress });
|
|
32
54
|
return null;
|
|
33
55
|
}
|
|
34
56
|
};
|
|
@@ -38,38 +60,51 @@ class IpDataLookupService {
|
|
|
38
60
|
lookupIP = async (ipAddress) => {
|
|
39
61
|
try {
|
|
40
62
|
if (!ipAddress || (0, net_1.isIP)(ipAddress) === 0) {
|
|
41
|
-
helpers_1.Logger.warn('Unable to lookup IP.
|
|
63
|
+
helpers_1.Logger.warn('Unable to lookup IP. Invalid IP address', { ipAddress });
|
|
42
64
|
return null;
|
|
43
65
|
}
|
|
44
66
|
const cacheResponse = await this.getIpCache(ipAddress);
|
|
45
67
|
const cachedResult = cacheResponse?.responseData;
|
|
46
68
|
const cacheExpirationDate = luxon_1.DateTime.utc().minus({ days: 6 }).toJSDate().toISOString();
|
|
47
|
-
if (cachedResult && cachedResult
|
|
48
|
-
|
|
69
|
+
if (cachedResult && cachedResult.updatedAt > cacheExpirationDate) {
|
|
70
|
+
if (cachedResult.lookupResponse && this.isValidIPDataResponse(cachedResult.lookupResponse)) {
|
|
71
|
+
return cachedResult.lookupResponse;
|
|
72
|
+
}
|
|
73
|
+
helpers_1.Logger.warn('IPData cache hit contains null/invalid lookupResponse, re-fetching from API', {
|
|
74
|
+
ipAddress,
|
|
75
|
+
cachedUpdatedAt: cachedResult.updatedAt,
|
|
76
|
+
});
|
|
49
77
|
}
|
|
50
78
|
const lookupResponse = await this.getLookupApi(ipAddress);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
79
|
+
if (lookupResponse) {
|
|
80
|
+
const expires = 60 * 60 * 24 * 15;
|
|
81
|
+
const lookupTableRecord = cachedResult
|
|
82
|
+
? {
|
|
83
|
+
...cachedResult,
|
|
84
|
+
lookupResponse,
|
|
85
|
+
updatedAt: (0, libs_1.getCurrentTimestamp)(),
|
|
86
|
+
}
|
|
87
|
+
: {
|
|
88
|
+
ipAddress,
|
|
89
|
+
lookupResponse,
|
|
90
|
+
createdAt: (0, libs_1.getCurrentTimestamp)(),
|
|
91
|
+
updatedAt: (0, libs_1.getCurrentTimestamp)(),
|
|
92
|
+
};
|
|
93
|
+
await this.cacheLambdaClient.invokeSet(`ipdata-${ipAddress}`, JSON.stringify(lookupTableRecord), expires);
|
|
94
|
+
return lookupResponse;
|
|
59
95
|
}
|
|
60
|
-
|
|
61
|
-
|
|
96
|
+
if (cachedResult?.lookupResponse && this.isValidIPDataResponse(cachedResult.lookupResponse)) {
|
|
97
|
+
helpers_1.Logger.warn('IPData API failed, returning stale cached response', {
|
|
62
98
|
ipAddress,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
};
|
|
99
|
+
cachedUpdatedAt: cachedResult.updatedAt,
|
|
100
|
+
});
|
|
101
|
+
return cachedResult.lookupResponse;
|
|
67
102
|
}
|
|
68
|
-
|
|
69
|
-
return
|
|
103
|
+
helpers_1.Logger.error('IPData lookup failed with no cached fallback', { ipAddress });
|
|
104
|
+
return null;
|
|
70
105
|
}
|
|
71
106
|
catch (e) {
|
|
72
|
-
helpers_1.Logger.error('Failed to lookup IP', { error: e });
|
|
107
|
+
helpers_1.Logger.error('Failed to lookup IP', { error: e, ipAddress });
|
|
73
108
|
return null;
|
|
74
109
|
}
|
|
75
110
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipdata-lookup-service.js","sourceRoot":"","sources":["../../../src/services/ipdata-lookup-service.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAEjC,wCAAoF;AACpF,wCAAoC;AACpC,kCAA8C;AAC9C,6BAA2B;AAE3B,MAAM,OAAO,GAAG,0DAA0D,CAAC;AAU3E,MAAa,mBAAmB;IAIV;IAHZ,iBAAiB,CAAoB;IACtC,MAAM,CAAoB;IAEjC,YAAoB,sBAA8B;QAA9B,2BAAsB,GAAtB,sBAAsB,CAAQ;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,2BAAiB,CAAC,sBAAsB,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IACnC,CAAC;IAEO,SAAS,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAA,0BAAgB,GAAE,CAAC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC,CAAC;IAEF,YAAY,GAAG,KAAK,EAAE,SAAiB,EAAkC,EAAE;QACzE,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,yBAAyB,SAAS,YAAY,OAAO,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ipdata-lookup-service.js","sourceRoot":"","sources":["../../../src/services/ipdata-lookup-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export declare class IpDataLookupService {
|
|
|
13
13
|
client: GenericHttpClient;
|
|
14
14
|
constructor(cacheLambdaFunctionArn: string);
|
|
15
15
|
private getClient;
|
|
16
|
+
private isValidIPDataResponse;
|
|
16
17
|
getLookupApi: (ipAddress: string) => Promise<IPDataResponse | null>;
|
|
17
18
|
getIpCache: (ipAddress: string) => Promise<import("../clients").CacheRequestCommandResponse | undefined>;
|
|
18
19
|
lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
|
|
@@ -17,15 +17,37 @@ export class IpDataLookupService {
|
|
|
17
17
|
this.client = this.client ?? axiosHttpService();
|
|
18
18
|
return this.client;
|
|
19
19
|
};
|
|
20
|
+
isValidIPDataResponse = (data) => {
|
|
21
|
+
if (!data || typeof data !== 'object')
|
|
22
|
+
return false;
|
|
23
|
+
const response = data;
|
|
24
|
+
return typeof response.ip === 'string' && typeof response.country_code === 'string';
|
|
25
|
+
};
|
|
20
26
|
getLookupApi = async (ipAddress) => {
|
|
21
27
|
try {
|
|
22
28
|
const client = this.getClient();
|
|
23
29
|
const url = `https://api.ipdata.co/${ipAddress}?api-key=${API_KEY}`;
|
|
24
30
|
const res = await client.get(url);
|
|
25
|
-
|
|
31
|
+
if (!res || res.status < 200 || res.status >= 300) {
|
|
32
|
+
Logger.error('IPData Lookup API returned non-success status', {
|
|
33
|
+
ipAddress,
|
|
34
|
+
status: res?.status,
|
|
35
|
+
responseData: res?.data,
|
|
36
|
+
});
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
if (!this.isValidIPDataResponse(res?.data)) {
|
|
40
|
+
Logger.error('IPData Lookup API returned invalid response shape', {
|
|
41
|
+
ipAddress,
|
|
42
|
+
status: res?.status,
|
|
43
|
+
responseData: res?.data,
|
|
44
|
+
});
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
return res.data;
|
|
26
48
|
}
|
|
27
49
|
catch (error) {
|
|
28
|
-
Logger.error('IPData Lookup API Failed', { error });
|
|
50
|
+
Logger.error('IPData Lookup API Failed', { error, ipAddress });
|
|
29
51
|
return null;
|
|
30
52
|
}
|
|
31
53
|
};
|
|
@@ -35,38 +57,51 @@ export class IpDataLookupService {
|
|
|
35
57
|
lookupIP = async (ipAddress) => {
|
|
36
58
|
try {
|
|
37
59
|
if (!ipAddress || isIP(ipAddress) === 0) {
|
|
38
|
-
Logger.warn('Unable to lookup IP.
|
|
60
|
+
Logger.warn('Unable to lookup IP. Invalid IP address', { ipAddress });
|
|
39
61
|
return null;
|
|
40
62
|
}
|
|
41
63
|
const cacheResponse = await this.getIpCache(ipAddress);
|
|
42
64
|
const cachedResult = cacheResponse?.responseData;
|
|
43
65
|
const cacheExpirationDate = DateTime.utc().minus({ days: 6 }).toJSDate().toISOString();
|
|
44
|
-
if (cachedResult && cachedResult
|
|
45
|
-
|
|
66
|
+
if (cachedResult && cachedResult.updatedAt > cacheExpirationDate) {
|
|
67
|
+
if (cachedResult.lookupResponse && this.isValidIPDataResponse(cachedResult.lookupResponse)) {
|
|
68
|
+
return cachedResult.lookupResponse;
|
|
69
|
+
}
|
|
70
|
+
Logger.warn('IPData cache hit contains null/invalid lookupResponse, re-fetching from API', {
|
|
71
|
+
ipAddress,
|
|
72
|
+
cachedUpdatedAt: cachedResult.updatedAt,
|
|
73
|
+
});
|
|
46
74
|
}
|
|
47
75
|
const lookupResponse = await this.getLookupApi(ipAddress);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
76
|
+
if (lookupResponse) {
|
|
77
|
+
const expires = 60 * 60 * 24 * 15;
|
|
78
|
+
const lookupTableRecord = cachedResult
|
|
79
|
+
? {
|
|
80
|
+
...cachedResult,
|
|
81
|
+
lookupResponse,
|
|
82
|
+
updatedAt: getCurrentTimestamp(),
|
|
83
|
+
}
|
|
84
|
+
: {
|
|
85
|
+
ipAddress,
|
|
86
|
+
lookupResponse,
|
|
87
|
+
createdAt: getCurrentTimestamp(),
|
|
88
|
+
updatedAt: getCurrentTimestamp(),
|
|
89
|
+
};
|
|
90
|
+
await this.cacheLambdaClient.invokeSet(`ipdata-${ipAddress}`, JSON.stringify(lookupTableRecord), expires);
|
|
91
|
+
return lookupResponse;
|
|
56
92
|
}
|
|
57
|
-
|
|
58
|
-
|
|
93
|
+
if (cachedResult?.lookupResponse && this.isValidIPDataResponse(cachedResult.lookupResponse)) {
|
|
94
|
+
Logger.warn('IPData API failed, returning stale cached response', {
|
|
59
95
|
ipAddress,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
};
|
|
96
|
+
cachedUpdatedAt: cachedResult.updatedAt,
|
|
97
|
+
});
|
|
98
|
+
return cachedResult.lookupResponse;
|
|
64
99
|
}
|
|
65
|
-
|
|
66
|
-
return
|
|
100
|
+
Logger.error('IPData lookup failed with no cached fallback', { ipAddress });
|
|
101
|
+
return null;
|
|
67
102
|
}
|
|
68
103
|
catch (e) {
|
|
69
|
-
Logger.error('Failed to lookup IP', { error: e });
|
|
104
|
+
Logger.error('Failed to lookup IP', { error: e, ipAddress });
|
|
70
105
|
return null;
|
|
71
106
|
}
|
|
72
107
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipdata-lookup-service.js","sourceRoot":"","sources":["../../../src/services/ipdata-lookup-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAqB,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,MAAM,OAAO,GAAG,0DAA0D,CAAC;AAU3E,MAAM,OAAO,mBAAmB;IAIV;IAHZ,iBAAiB,CAAoB;IACtC,MAAM,CAAoB;IAEjC,YAAoB,sBAA8B;QAA9B,2BAAsB,GAAtB,sBAAsB,CAAQ;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAEO,SAAS,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC,CAAC;IAEF,YAAY,GAAG,KAAK,EAAE,SAAiB,EAAkC,EAAE;QACzE,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,yBAAyB,SAAS,YAAY,OAAO,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ipdata-lookup-service.js","sourceRoot":"","sources":["../../../src/services/ipdata-lookup-service.ts"],"names":[],"mappings":"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"}
|