@adtrackify/at-service-common 3.0.30 → 3.0.32

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 (207) hide show
  1. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  3. package/dist/cjs/clients/generic/cognito-client.d.ts +20 -20
  4. package/dist/cjs/clients/generic/cognito-client.js +164 -164
  5. package/dist/cjs/clients/generic/dynamodb-client.d.ts +16 -16
  6. package/dist/cjs/clients/generic/dynamodb-client.js +144 -144
  7. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  8. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  9. package/dist/cjs/clients/generic/http-client.d.ts +88 -88
  10. package/dist/cjs/clients/generic/http-client.js +56 -56
  11. package/dist/cjs/clients/generic/index.d.ts +7 -6
  12. package/dist/cjs/clients/generic/index.js +23 -22
  13. package/dist/cjs/clients/generic/index.js.map +1 -1
  14. package/dist/cjs/clients/generic/location-client.d.ts +8 -0
  15. package/dist/cjs/clients/generic/location-client.js +32 -0
  16. package/dist/cjs/clients/generic/location-client.js.map +1 -0
  17. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  18. package/dist/cjs/clients/generic/s3-client.js +110 -110
  19. package/dist/cjs/clients/generic/sqs-client.d.ts +14 -14
  20. package/dist/cjs/clients/generic/sqs-client.js +38 -38
  21. package/dist/cjs/clients/index.d.ts +3 -3
  22. package/dist/cjs/clients/index.js +19 -19
  23. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  24. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  25. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  26. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  27. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  28. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  29. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  30. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  31. package/dist/cjs/clients/internal-api/identity-client.d.ts +17 -17
  32. package/dist/cjs/clients/internal-api/identity-client.js +75 -75
  33. package/dist/cjs/clients/internal-api/index.d.ts +7 -7
  34. package/dist/cjs/clients/internal-api/index.js +23 -23
  35. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  36. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  37. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  38. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  39. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  40. package/dist/cjs/clients/third-party/index.js +17 -17
  41. package/dist/cjs/clients/third-party/shopify-client.d.ts +198 -198
  42. package/dist/cjs/clients/third-party/shopify-client.js +150 -150
  43. package/dist/cjs/helpers/index.d.ts +4 -4
  44. package/dist/cjs/helpers/index.js +20 -20
  45. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  46. package/dist/cjs/helpers/input-validation-helper.js +23 -23
  47. package/dist/cjs/helpers/logging-helper.d.ts +15 -15
  48. package/dist/cjs/helpers/logging-helper.js +80 -80
  49. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  50. package/dist/cjs/helpers/response-helper.js +42 -42
  51. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  52. package/dist/cjs/helpers/shopify-helper.js +28 -28
  53. package/dist/cjs/index.d.ts +5 -5
  54. package/dist/cjs/index.js +21 -21
  55. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  56. package/dist/cjs/libs/clickId-parser.js +49 -49
  57. package/dist/cjs/libs/crypto.d.ts +1 -1
  58. package/dist/cjs/libs/crypto.js +12 -12
  59. package/dist/cjs/libs/dates.d.ts +6 -6
  60. package/dist/cjs/libs/dates.js +31 -31
  61. package/dist/cjs/libs/http-error.d.ts +21 -21
  62. package/dist/cjs/libs/http-error.js +59 -59
  63. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  64. package/dist/cjs/libs/http-status-codes.js +62 -62
  65. package/dist/cjs/libs/index.d.ts +8 -8
  66. package/dist/cjs/libs/index.js +24 -24
  67. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  68. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  69. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  70. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  71. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  72. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  73. package/dist/cjs/libs/url.d.ts +1 -1
  74. package/dist/cjs/libs/url.js +13 -13
  75. package/dist/cjs/services/db/destinations-service.d.ts +7 -7
  76. package/dist/cjs/services/db/destinations-service.js +35 -35
  77. package/dist/cjs/services/db/index.d.ts +4 -4
  78. package/dist/cjs/services/db/index.js +20 -20
  79. package/dist/cjs/services/db/log-events-data-service.d.ts +6 -6
  80. package/dist/cjs/services/db/log-events-data-service.js +31 -31
  81. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  82. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  83. package/dist/cjs/services/db/tracking-events-db-service.d.ts +17 -17
  84. package/dist/cjs/services/db/tracking-events-db-service.js +134 -134
  85. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  86. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  87. package/dist/cjs/services/index.d.ts +5 -5
  88. package/dist/cjs/services/index.js +21 -21
  89. package/dist/cjs/services/ipdata-lookup-service.d.ts +9 -8
  90. package/dist/cjs/services/ipdata-lookup-service.js +65 -59
  91. package/dist/cjs/services/ipdata-lookup-service.js.map +1 -1
  92. package/dist/cjs/services/log-event-service.d.ts +9 -9
  93. package/dist/cjs/services/log-event-service.js +56 -56
  94. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  95. package/dist/cjs/services/metric-event-service.js +49 -49
  96. package/dist/cjs/types/api-response.d.ts +6 -6
  97. package/dist/cjs/types/api-response.js +2 -2
  98. package/dist/cjs/types/index.d.ts +1 -1
  99. package/dist/cjs/types/index.js +17 -17
  100. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  101. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  102. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  103. package/dist/cjs/types/internal-events/index.js +17 -17
  104. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  105. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  106. package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
  107. package/dist/esm/clients/generic/cognito-client.js +159 -159
  108. package/dist/esm/clients/generic/dynamodb-client.d.ts +16 -16
  109. package/dist/esm/clients/generic/dynamodb-client.js +140 -140
  110. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  111. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  112. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  113. package/dist/esm/clients/generic/http-client.js +48 -48
  114. package/dist/esm/clients/generic/index.d.ts +7 -6
  115. package/dist/esm/clients/generic/index.js +7 -6
  116. package/dist/esm/clients/generic/index.js.map +1 -1
  117. package/dist/esm/clients/generic/location-client.d.ts +8 -0
  118. package/dist/esm/clients/generic/location-client.js +28 -0
  119. package/dist/esm/clients/generic/location-client.js.map +1 -0
  120. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  121. package/dist/esm/clients/generic/s3-client.js +106 -106
  122. package/dist/esm/clients/generic/sqs-client.d.ts +14 -14
  123. package/dist/esm/clients/generic/sqs-client.js +34 -34
  124. package/dist/esm/clients/index.d.ts +3 -3
  125. package/dist/esm/clients/index.js +3 -3
  126. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  127. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  128. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  129. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  130. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  131. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  132. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  133. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  134. package/dist/esm/clients/internal-api/identity-client.d.ts +17 -17
  135. package/dist/esm/clients/internal-api/identity-client.js +71 -71
  136. package/dist/esm/clients/internal-api/index.d.ts +7 -7
  137. package/dist/esm/clients/internal-api/index.js +7 -7
  138. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  139. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  140. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  141. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  142. package/dist/esm/clients/third-party/index.d.ts +1 -1
  143. package/dist/esm/clients/third-party/index.js +1 -1
  144. package/dist/esm/clients/third-party/shopify-client.d.ts +198 -198
  145. package/dist/esm/clients/third-party/shopify-client.js +146 -146
  146. package/dist/esm/helpers/index.d.ts +4 -4
  147. package/dist/esm/helpers/index.js +4 -4
  148. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  149. package/dist/esm/helpers/input-validation-helper.js +19 -19
  150. package/dist/esm/helpers/logging-helper.d.ts +15 -15
  151. package/dist/esm/helpers/logging-helper.js +53 -53
  152. package/dist/esm/helpers/response-helper.d.ts +15 -15
  153. package/dist/esm/helpers/response-helper.js +36 -36
  154. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  155. package/dist/esm/helpers/shopify-helper.js +23 -23
  156. package/dist/esm/index.d.ts +5 -5
  157. package/dist/esm/index.js +5 -5
  158. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  159. package/dist/esm/libs/clickId-parser.js +45 -45
  160. package/dist/esm/libs/crypto.d.ts +1 -1
  161. package/dist/esm/libs/crypto.js +5 -5
  162. package/dist/esm/libs/dates.d.ts +6 -6
  163. package/dist/esm/libs/dates.js +22 -22
  164. package/dist/esm/libs/http-error.d.ts +21 -21
  165. package/dist/esm/libs/http-error.js +55 -55
  166. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  167. package/dist/esm/libs/http-status-codes.js +59 -59
  168. package/dist/esm/libs/index.d.ts +8 -8
  169. package/dist/esm/libs/index.js +8 -8
  170. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  171. package/dist/esm/libs/referrer-parser/index.js +2 -2
  172. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  173. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  174. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  175. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  176. package/dist/esm/libs/url.d.ts +1 -1
  177. package/dist/esm/libs/url.js +9 -9
  178. package/dist/esm/services/db/destinations-service.d.ts +7 -7
  179. package/dist/esm/services/db/destinations-service.js +31 -31
  180. package/dist/esm/services/db/index.d.ts +4 -4
  181. package/dist/esm/services/db/index.js +4 -4
  182. package/dist/esm/services/db/log-events-data-service.d.ts +6 -6
  183. package/dist/esm/services/db/log-events-data-service.js +27 -27
  184. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  185. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  186. package/dist/esm/services/db/tracking-events-db-service.d.ts +17 -17
  187. package/dist/esm/services/db/tracking-events-db-service.js +130 -130
  188. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  189. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  190. package/dist/esm/services/index.d.ts +5 -5
  191. package/dist/esm/services/index.js +5 -5
  192. package/dist/esm/services/ipdata-lookup-service.d.ts +9 -8
  193. package/dist/esm/services/ipdata-lookup-service.js +61 -55
  194. package/dist/esm/services/ipdata-lookup-service.js.map +1 -1
  195. package/dist/esm/services/log-event-service.d.ts +9 -9
  196. package/dist/esm/services/log-event-service.js +52 -52
  197. package/dist/esm/services/metric-event-service.d.ts +9 -9
  198. package/dist/esm/services/metric-event-service.js +45 -45
  199. package/dist/esm/types/api-response.d.ts +6 -6
  200. package/dist/esm/types/api-response.js +1 -1
  201. package/dist/esm/types/index.d.ts +1 -1
  202. package/dist/esm/types/index.js +1 -1
  203. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  204. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  205. package/dist/esm/types/internal-events/index.d.ts +1 -1
  206. package/dist/esm/types/internal-events/index.js +1 -1
  207. package/package.json +3 -2
@@ -1,17 +1,17 @@
1
- import { AdClickInfo, TrackingEvent, TrackingEventRecord } from '@adtrackify/at-tracking-event-types';
2
- export interface LatestSessionResponseData {
3
- pixelId?: string;
4
- identityId?: string;
5
- sessionId?: string;
6
- click?: AdClickInfo;
7
- }
8
- export declare class TrackingEventsDbService {
9
- TABLE_NAME: string;
10
- KEY_NAME: string;
11
- constructor(tableName: string);
12
- getLatestSessionByIpAddressUserAgent: (indexName: string, ipAddressUserAgent: string, hostname?: string) => Promise<LatestSessionResponseData>;
13
- getTrackingEventsByPixelIdEventName: (indexName: string, pixelId: string, eventName: string, limit?: number, afterCollectedAt?: string) => Promise<TrackingEventRecord[]>;
14
- getTrackingEventCountByPixelId: (indexName: string, pixelId: string, offsetInMinutes?: number) => Promise<number>;
15
- getTrackingEvent: (eventId: string) => Promise<TrackingEventRecord | null>;
16
- putTrackingEvent: (trackingEvent: TrackingEvent, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null | undefined>;
17
- }
1
+ import { AdClickInfo, TrackingEvent, TrackingEventRecord } from '@adtrackify/at-tracking-event-types';
2
+ export interface LatestSessionResponseData {
3
+ pixelId?: string;
4
+ identityId?: string;
5
+ sessionId?: string;
6
+ click?: AdClickInfo;
7
+ }
8
+ export declare class TrackingEventsDbService {
9
+ TABLE_NAME: string;
10
+ KEY_NAME: string;
11
+ constructor(tableName: string);
12
+ getLatestSessionByIpAddressUserAgent: (indexName: string, ipAddressUserAgent: string, hostname?: string) => Promise<LatestSessionResponseData>;
13
+ getTrackingEventsByPixelIdEventName: (indexName: string, pixelId: string, eventName: string, limit?: number, afterCollectedAt?: string) => Promise<TrackingEventRecord[]>;
14
+ getTrackingEventCountByPixelId: (indexName: string, pixelId: string, offsetInMinutes?: number) => Promise<number>;
15
+ getTrackingEvent: (eventId: string) => Promise<TrackingEventRecord | null>;
16
+ putTrackingEvent: (trackingEvent: TrackingEvent, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null | undefined>;
17
+ }
@@ -1,135 +1,135 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrackingEventsDbService = void 0;
4
- const clients_1 = require("../../clients");
5
- const helpers_1 = require("../../helpers");
6
- const luxon_1 = require("luxon");
7
- class TrackingEventsDbService {
8
- TABLE_NAME;
9
- KEY_NAME = 'eventId';
10
- constructor(tableName) {
11
- this.TABLE_NAME = tableName;
12
- }
13
- getLatestSessionByIpAddressUserAgent = async (indexName, ipAddressUserAgent, hostname) => {
14
- try {
15
- const params = {
16
- TableName: this.TABLE_NAME,
17
- IndexName: indexName,
18
- KeyConditionExpression: 'ipAddressUserAgent = :ipAddressUserAgent',
19
- ExpressionAttributeValues: {
20
- ':ipAddressUserAgent': ipAddressUserAgent,
21
- },
22
- ScanIndexForward: false
23
- };
24
- const results = await clients_1.DynamoDbClient.query(params);
25
- let trackingEventRecord;
26
- if (results?.Items && results.Items.length > 0) {
27
- trackingEventRecord = results.Items.find((item) => {
28
- const _trackingEvent = item.trackingEvent;
29
- const _hostname = item?.hostname;
30
- if (hostname && _hostname === hostname && _trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
31
- return true;
32
- }
33
- else if (_trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
34
- return true;
35
- }
36
- else {
37
- return false;
38
- }
39
- });
40
- }
41
- if (trackingEventRecord) {
42
- const trackingEvent = trackingEventRecord.trackingEvent;
43
- return {
44
- pixelId: trackingEvent?.pixelId,
45
- identityId: trackingEvent.context?.identity?.identityId,
46
- sessionId: trackingEvent.context?.properties?.sessionId,
47
- click: trackingEvent.context?.properties?.click
48
- };
49
- }
50
- else {
51
- return {};
52
- }
53
- }
54
- catch (e) {
55
- helpers_1.Logger.error('Failed to getLastTrackingEventByIpAddressUserAgent', { e });
56
- return {};
57
- }
58
- };
59
- getTrackingEventsByPixelIdEventName = async (indexName, pixelId, eventName, limit, afterCollectedAt) => {
60
- const query = {
61
- TableName: this.TABLE_NAME,
62
- IndexName: indexName,
63
- KeyConditionExpression: 'pixelIdEventName = :pixelIdEventName',
64
- ExpressionAttributeValues: {
65
- ':pixelIdEventName': `${pixelId}_${eventName}`,
66
- },
67
- ScanIndexForward: false,
68
- };
69
- if (limit) {
70
- query.Limit = limit;
71
- }
72
- if (afterCollectedAt) {
73
- query.KeyConditionExpression += ' and collectedAt > :collectedAt';
74
- query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
75
- }
76
- const trackingEventsResponse = await clients_1.DynamoDbClient.query(query);
77
- return trackingEventsResponse?.Items ?? [];
78
- };
79
- getTrackingEventCountByPixelId = async (indexName, pixelId, offsetInMinutes = 30) => {
80
- try {
81
- const pastDateTime = luxon_1.DateTime.now().minus({ minutes: offsetInMinutes }).toISO();
82
- const params = {
83
- TableName: this.TABLE_NAME,
84
- IndexName: indexName,
85
- KeyConditionExpression: 'pixelId = :pixelId and collectedAt > :collectedAt',
86
- ExpressionAttributeValues: {
87
- ':pixelId': pixelId,
88
- ':collectedAt': pastDateTime
89
- }
90
- };
91
- const results = await clients_1.DynamoDbClient.query(params);
92
- return results?.Items?.length ?? 0;
93
- }
94
- catch (e) {
95
- helpers_1.Logger.error('Failed to getTrackingEventCountByPixelId', { e });
96
- return 0;
97
- }
98
- };
99
- getTrackingEvent = async (eventId) => {
100
- try {
101
- const eventRecord = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
102
- return eventRecord;
103
- }
104
- catch (e) {
105
- helpers_1.Logger.error('Failed to getTrackingEvent', { e });
106
- return null;
107
- }
108
- };
109
- putTrackingEvent = async (trackingEvent, ttlInDays) => {
110
- if (!trackingEvent.context?.properties?.ipAddress || !trackingEvent.context?.properties?.userAgent)
111
- return;
112
- const pageURL = trackingEvent?.context?.properties?.page?.url;
113
- const parsedPageURL = new URL(pageURL);
114
- const hostname = parsedPageURL?.hostname;
115
- const trackingEventsTableTTLDays = ttlInDays || 15;
116
- const expiredAt = luxon_1.DateTime.now().plus({ days: trackingEventsTableTTLDays }).toSeconds();
117
- const trackingEventRecord = {
118
- eventId: trackingEvent.id,
119
- eventName: trackingEvent.name,
120
- trackingEvent,
121
- pixelId: trackingEvent?.pixelId,
122
- pixelIdEventName: `${trackingEvent.pixelId}_${trackingEvent.name}`,
123
- ipAddressUserAgent: `${trackingEvent.context?.properties?.ipAddress}_${trackingEvent.context?.properties?.userAgent}`,
124
- hostname,
125
- identityId: trackingEvent?.context?.identity?.identityId,
126
- sessionId: trackingEvent?.context?.properties?.sessionId,
127
- collectedAt: trackingEvent.collectedAt,
128
- expiredAt,
129
- };
130
- helpers_1.Logger.debug('Put tracking event', { trackingEventRecord, expiredAtType: typeof expiredAt });
131
- return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, trackingEventRecord);
132
- };
133
- }
134
- exports.TrackingEventsDbService = TrackingEventsDbService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackingEventsDbService = void 0;
4
+ const clients_1 = require("../../clients");
5
+ const helpers_1 = require("../../helpers");
6
+ const luxon_1 = require("luxon");
7
+ class TrackingEventsDbService {
8
+ TABLE_NAME;
9
+ KEY_NAME = 'eventId';
10
+ constructor(tableName) {
11
+ this.TABLE_NAME = tableName;
12
+ }
13
+ getLatestSessionByIpAddressUserAgent = async (indexName, ipAddressUserAgent, hostname) => {
14
+ try {
15
+ const params = {
16
+ TableName: this.TABLE_NAME,
17
+ IndexName: indexName,
18
+ KeyConditionExpression: 'ipAddressUserAgent = :ipAddressUserAgent',
19
+ ExpressionAttributeValues: {
20
+ ':ipAddressUserAgent': ipAddressUserAgent,
21
+ },
22
+ ScanIndexForward: false
23
+ };
24
+ const results = await clients_1.DynamoDbClient.query(params);
25
+ let trackingEventRecord;
26
+ if (results?.Items && results.Items.length > 0) {
27
+ trackingEventRecord = results.Items.find((item) => {
28
+ const _trackingEvent = item.trackingEvent;
29
+ const _hostname = item?.hostname;
30
+ if (hostname && _hostname === hostname && _trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
31
+ return true;
32
+ }
33
+ else if (_trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
34
+ return true;
35
+ }
36
+ else {
37
+ return false;
38
+ }
39
+ });
40
+ }
41
+ if (trackingEventRecord) {
42
+ const trackingEvent = trackingEventRecord.trackingEvent;
43
+ return {
44
+ pixelId: trackingEvent?.pixelId,
45
+ identityId: trackingEvent.context?.identity?.identityId,
46
+ sessionId: trackingEvent.context?.properties?.sessionId,
47
+ click: trackingEvent.context?.properties?.click
48
+ };
49
+ }
50
+ else {
51
+ return {};
52
+ }
53
+ }
54
+ catch (e) {
55
+ helpers_1.Logger.error('Failed to getLastTrackingEventByIpAddressUserAgent', { e });
56
+ return {};
57
+ }
58
+ };
59
+ getTrackingEventsByPixelIdEventName = async (indexName, pixelId, eventName, limit, afterCollectedAt) => {
60
+ const query = {
61
+ TableName: this.TABLE_NAME,
62
+ IndexName: indexName,
63
+ KeyConditionExpression: 'pixelIdEventName = :pixelIdEventName',
64
+ ExpressionAttributeValues: {
65
+ ':pixelIdEventName': `${pixelId}_${eventName}`,
66
+ },
67
+ ScanIndexForward: false,
68
+ };
69
+ if (limit) {
70
+ query.Limit = limit;
71
+ }
72
+ if (afterCollectedAt) {
73
+ query.KeyConditionExpression += ' and collectedAt > :collectedAt';
74
+ query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
75
+ }
76
+ const trackingEventsResponse = await clients_1.DynamoDbClient.query(query);
77
+ return trackingEventsResponse?.Items ?? [];
78
+ };
79
+ getTrackingEventCountByPixelId = async (indexName, pixelId, offsetInMinutes = 30) => {
80
+ try {
81
+ const pastDateTime = luxon_1.DateTime.now().minus({ minutes: offsetInMinutes }).toISO();
82
+ const params = {
83
+ TableName: this.TABLE_NAME,
84
+ IndexName: indexName,
85
+ KeyConditionExpression: 'pixelId = :pixelId and collectedAt > :collectedAt',
86
+ ExpressionAttributeValues: {
87
+ ':pixelId': pixelId,
88
+ ':collectedAt': pastDateTime
89
+ }
90
+ };
91
+ const results = await clients_1.DynamoDbClient.query(params);
92
+ return results?.Items?.length ?? 0;
93
+ }
94
+ catch (e) {
95
+ helpers_1.Logger.error('Failed to getTrackingEventCountByPixelId', { e });
96
+ return 0;
97
+ }
98
+ };
99
+ getTrackingEvent = async (eventId) => {
100
+ try {
101
+ const eventRecord = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
102
+ return eventRecord;
103
+ }
104
+ catch (e) {
105
+ helpers_1.Logger.error('Failed to getTrackingEvent', { e });
106
+ return null;
107
+ }
108
+ };
109
+ putTrackingEvent = async (trackingEvent, ttlInDays) => {
110
+ if (!trackingEvent.context?.properties?.ipAddress || !trackingEvent.context?.properties?.userAgent)
111
+ return;
112
+ const pageURL = trackingEvent?.context?.properties?.page?.url;
113
+ const parsedPageURL = new URL(pageURL);
114
+ const hostname = parsedPageURL?.hostname;
115
+ const trackingEventsTableTTLDays = ttlInDays || 15;
116
+ const expiredAt = luxon_1.DateTime.now().plus({ days: trackingEventsTableTTLDays }).toSeconds();
117
+ const trackingEventRecord = {
118
+ eventId: trackingEvent.id,
119
+ eventName: trackingEvent.name,
120
+ trackingEvent,
121
+ pixelId: trackingEvent?.pixelId,
122
+ pixelIdEventName: `${trackingEvent.pixelId}_${trackingEvent.name}`,
123
+ ipAddressUserAgent: `${trackingEvent.context?.properties?.ipAddress}_${trackingEvent.context?.properties?.userAgent}`,
124
+ hostname,
125
+ identityId: trackingEvent?.context?.identity?.identityId,
126
+ sessionId: trackingEvent?.context?.properties?.sessionId,
127
+ collectedAt: trackingEvent.collectedAt,
128
+ expiredAt,
129
+ };
130
+ helpers_1.Logger.debug('Put tracking event', { trackingEventRecord, expiredAtType: typeof expiredAt });
131
+ return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, trackingEventRecord);
132
+ };
133
+ }
134
+ exports.TrackingEventsDbService = TrackingEventsDbService;
135
135
  //# sourceMappingURL=tracking-events-db-service.js.map
@@ -1,9 +1,9 @@
1
- import { EventBridgeClient } from '../clients/generic/eventbridge-client.js';
2
- import { Message, TemplatedMessage } from 'postmark';
3
- export declare class EventBridgeIntegrationService {
4
- eventBridgeClient: EventBridgeClient;
5
- EVENT_BUS_NAME: string;
6
- constructor(eventBusName: string);
7
- sendPostmarkEmailEvent: (eventSource: string, postmarkMessage: Message, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
8
- sendPostmarkTemplatedEmailEvent: (eventSource: string, postmarkMessage: TemplatedMessage, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
9
- }
1
+ import { EventBridgeClient } from '../clients/generic/eventbridge-client.js';
2
+ import { Message, TemplatedMessage } from 'postmark';
3
+ export declare class EventBridgeIntegrationService {
4
+ eventBridgeClient: EventBridgeClient;
5
+ EVENT_BUS_NAME: string;
6
+ constructor(eventBusName: string);
7
+ sendPostmarkEmailEvent: (eventSource: string, postmarkMessage: Message, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
8
+ sendPostmarkTemplatedEmailEvent: (eventSource: string, postmarkMessage: TemplatedMessage, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
9
+ }
@@ -1,29 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventBridgeIntegrationService = void 0;
4
- const eventbridge_client_js_1 = require("../clients/generic/eventbridge-client.js");
5
- const event_detail_types_js_1 = require("../types/internal-events/event-detail-types.js");
6
- class EventBridgeIntegrationService {
7
- eventBridgeClient;
8
- EVENT_BUS_NAME;
9
- constructor(eventBusName) {
10
- this.eventBridgeClient = new eventbridge_client_js_1.EventBridgeClient(eventBusName);
11
- this.EVENT_BUS_NAME = eventBusName;
12
- }
13
- sendPostmarkEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
14
- return await this.eventBridgeClient.buildAndSendEvent(eventSource, event_detail_types_js_1.ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
15
- postmarkMessage,
16
- postmarkRequestType: event_detail_types_js_1.PostmarkRequestType.SINGLE_EMAIL,
17
- postmarkServerToken
18
- });
19
- };
20
- sendPostmarkTemplatedEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
21
- return await this.eventBridgeClient.buildAndSendEvent(eventSource, event_detail_types_js_1.ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
22
- postmarkMessage,
23
- postmarkRequestType: event_detail_types_js_1.PostmarkRequestType.TEMPLATE_EMAIL,
24
- postmarkServerToken
25
- });
26
- };
27
- }
28
- exports.EventBridgeIntegrationService = EventBridgeIntegrationService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventBridgeIntegrationService = void 0;
4
+ const eventbridge_client_js_1 = require("../clients/generic/eventbridge-client.js");
5
+ const event_detail_types_js_1 = require("../types/internal-events/event-detail-types.js");
6
+ class EventBridgeIntegrationService {
7
+ eventBridgeClient;
8
+ EVENT_BUS_NAME;
9
+ constructor(eventBusName) {
10
+ this.eventBridgeClient = new eventbridge_client_js_1.EventBridgeClient(eventBusName);
11
+ this.EVENT_BUS_NAME = eventBusName;
12
+ }
13
+ sendPostmarkEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
14
+ return await this.eventBridgeClient.buildAndSendEvent(eventSource, event_detail_types_js_1.ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
15
+ postmarkMessage,
16
+ postmarkRequestType: event_detail_types_js_1.PostmarkRequestType.SINGLE_EMAIL,
17
+ postmarkServerToken
18
+ });
19
+ };
20
+ sendPostmarkTemplatedEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
21
+ return await this.eventBridgeClient.buildAndSendEvent(eventSource, event_detail_types_js_1.ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
22
+ postmarkMessage,
23
+ postmarkRequestType: event_detail_types_js_1.PostmarkRequestType.TEMPLATE_EMAIL,
24
+ postmarkServerToken
25
+ });
26
+ };
27
+ }
28
+ exports.EventBridgeIntegrationService = EventBridgeIntegrationService;
29
29
  //# sourceMappingURL=eventbridge-integration-service.js.map
@@ -1,5 +1,5 @@
1
- export * from './eventbridge-integration-service.js';
2
- export * from './ipdata-lookup-service.js';
3
- export * from './log-event-service.js';
4
- export * from './metric-event-service.js';
5
- export * from './db';
1
+ export * from './eventbridge-integration-service.js';
2
+ export * from './ipdata-lookup-service.js';
3
+ export * from './log-event-service.js';
4
+ export * from './metric-event-service.js';
5
+ export * from './db';
@@ -1,22 +1,22 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./eventbridge-integration-service.js"), exports);
18
- __exportStar(require("./ipdata-lookup-service.js"), exports);
19
- __exportStar(require("./log-event-service.js"), exports);
20
- __exportStar(require("./metric-event-service.js"), exports);
21
- __exportStar(require("./db"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./eventbridge-integration-service.js"), exports);
18
+ __exportStar(require("./ipdata-lookup-service.js"), exports);
19
+ __exportStar(require("./log-event-service.js"), exports);
20
+ __exportStar(require("./metric-event-service.js"), exports);
21
+ __exportStar(require("./db"), exports);
22
22
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,9 @@
1
- import { IPDataResponse } from '@adtrackify/at-tracking-event-types';
2
- export interface IPLookupTableRecord {
3
- ipAddress: string;
4
- lookupResponse: IPDataResponse | null;
5
- createdAt: string;
6
- updatedAt: string;
7
- }
8
- export declare const lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
1
+ import { IPDataResponse } from '@adtrackify/at-tracking-event-types';
2
+ export interface IPLookupTableRecord {
3
+ ipAddress: string;
4
+ lookupResponse: IPDataResponse | null;
5
+ createdAt: string;
6
+ updatedAt: string;
7
+ expiresAt?: number;
8
+ }
9
+ export declare const lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
@@ -1,60 +1,66 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lookupIP = void 0;
4
- const luxon_1 = require("luxon");
5
- const clients_1 = require("../clients");
6
- const helpers_1 = require("../helpers");
7
- const libs_1 = require("../libs");
8
- const net_1 = require("net");
9
- const API_KEY = 'aae45f1e1f97ecf79bdc2bef3e96ef71961c4cb977c3085429b421bc';
10
- const IP_LOOKUP_TABLE_NAME = process.env.IP_LOOKUP_TABLE_NAME;
11
- const getLookupApi = async (ipAddress) => {
12
- try {
13
- const client = (0, clients_1.axiosHttpService)();
14
- const url = `https://api.ipdata.co/${ipAddress}?api-key=${API_KEY}`;
15
- const res = await client.get(url);
16
- return res?.data;
17
- }
18
- catch (error) {
19
- helpers_1.Logger.error('IPData Lookup API Failed', { error });
20
- return null;
21
- }
22
- };
23
- const lookupIP = async (ipAddress) => {
24
- try {
25
- if (!ipAddress || (0, net_1.isIP)(ipAddress) === 0) {
26
- helpers_1.Logger.warn('Unable to lookup IP. Invalid Ip Address', { ipAddress });
27
- return null;
28
- }
29
- const cachedResult = await clients_1.DynamoDbClient.safeGet(IP_LOOKUP_TABLE_NAME, 'ipAddress', ipAddress);
30
- const cacheExpirationDate = luxon_1.DateTime.utc().minus({ days: 6 }).toJSDate().toISOString();
31
- if (cachedResult && cachedResult?.updatedAt > cacheExpirationDate) {
32
- return cachedResult.lookupResponse;
33
- }
34
- const lookupResponse = await getLookupApi(ipAddress);
35
- let lookupTableRecord;
36
- if (cachedResult) {
37
- lookupTableRecord = {
38
- ...cachedResult,
39
- lookupResponse,
40
- updatedAt: (0, libs_1.getCurrentTimestamp)(),
41
- };
42
- }
43
- else {
44
- lookupTableRecord = {
45
- ipAddress,
46
- lookupResponse,
47
- createdAt: (0, libs_1.getCurrentTimestamp)(),
48
- updatedAt: (0, libs_1.getCurrentTimestamp)()
49
- };
50
- }
51
- await clients_1.DynamoDbClient.safePut(IP_LOOKUP_TABLE_NAME, lookupTableRecord);
52
- return lookupResponse;
53
- }
54
- catch (e) {
55
- helpers_1.Logger.error('Failed to lookup IP', { error: e });
56
- return null;
57
- }
58
- };
59
- exports.lookupIP = lookupIP;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lookupIP = void 0;
4
+ const luxon_1 = require("luxon");
5
+ const clients_1 = require("../clients");
6
+ const helpers_1 = require("../helpers");
7
+ const libs_1 = require("../libs");
8
+ const net_1 = require("net");
9
+ const API_KEY = 'aae45f1e1f97ecf79bdc2bef3e96ef71961c4cb977c3085429b421bc';
10
+ const IP_LOOKUP_TABLE_NAME = process.env.IP_LOOKUP_TABLE_NAME;
11
+ const getLookupApi = async (ipAddress) => {
12
+ try {
13
+ const client = (0, clients_1.axiosHttpService)();
14
+ const url = `https://api.ipdata.co/${ipAddress}?api-key=${API_KEY}`;
15
+ const res = await client.get(url);
16
+ return res?.data;
17
+ }
18
+ catch (error) {
19
+ helpers_1.Logger.error('IPData Lookup API Failed', { error });
20
+ return null;
21
+ }
22
+ };
23
+ const lookupIP = async (ipAddress) => {
24
+ try {
25
+ if (!ipAddress || (0, net_1.isIP)(ipAddress) === 0) {
26
+ helpers_1.Logger.warn('Unable to lookup IP. Invalid Ip Address', { ipAddress });
27
+ return null;
28
+ }
29
+ const cachedResult = await clients_1.DynamoDbClient.safeGet(IP_LOOKUP_TABLE_NAME, 'ipAddress', ipAddress);
30
+ const cacheExpirationDate = luxon_1.DateTime.utc().minus({ days: 6 }).toJSDate().toISOString();
31
+ if (cachedResult && cachedResult?.updatedAt > cacheExpirationDate) {
32
+ return cachedResult.lookupResponse;
33
+ }
34
+ const lookupResponse = await getLookupApi(ipAddress);
35
+ let lookupTableRecord;
36
+ if (cachedResult) {
37
+ lookupTableRecord = {
38
+ ...cachedResult,
39
+ lookupResponse,
40
+ updatedAt: (0, libs_1.getCurrentTimestamp)(),
41
+ };
42
+ if (!cachedResult?.expiresAt) {
43
+ const expiresAt = luxon_1.DateTime.now().plus({ days: 15 }).toSeconds();
44
+ lookupTableRecord.expiresAt = expiresAt;
45
+ }
46
+ }
47
+ else {
48
+ const expiresAt = luxon_1.DateTime.now().plus({ days: 15 }).toSeconds();
49
+ lookupTableRecord = {
50
+ ipAddress,
51
+ lookupResponse,
52
+ createdAt: (0, libs_1.getCurrentTimestamp)(),
53
+ updatedAt: (0, libs_1.getCurrentTimestamp)(),
54
+ expiresAt
55
+ };
56
+ }
57
+ await clients_1.DynamoDbClient.safePut(IP_LOOKUP_TABLE_NAME, lookupTableRecord);
58
+ return lookupResponse;
59
+ }
60
+ catch (e) {
61
+ helpers_1.Logger.error('Failed to lookup IP', { error: e });
62
+ return null;
63
+ }
64
+ };
65
+ exports.lookupIP = lookupIP;
60
66
  //# 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;AASxE,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;SACH;aAAM;YACL,iBAAiB,GAAG;gBAClB,SAAS;gBACT,cAAc;gBACd,SAAS,EAAE,IAAA,0BAAmB,GAAE;gBAChC,SAAS,EAAE,IAAA,0BAAmB,GAAE;aACjC,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;AAnCW,QAAA,QAAQ,YAmCnB"}
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,9 +1,9 @@
1
- import { EventContext, LOG_EVENT_NAME, LogEvent, LogEventData, LogLevel, LogStorage } from '@adtrackify/at-tracking-event-types';
2
- export declare class LogEventService {
3
- private eventBridgeClient;
4
- private eventDetail;
5
- constructor(eventBusName: string);
6
- log: (source: string, pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => Promise<void>;
7
- buildLogEvent: (pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => LogEvent;
8
- buildLogEventData: (source: string, service: string, logLevel: LogLevel, message: string, logData?: any, logStorage?: LogStorage) => LogEventData;
9
- }
1
+ import { EventContext, LOG_EVENT_NAME, LogEvent, LogEventData, LogLevel, LogStorage } from '@adtrackify/at-tracking-event-types';
2
+ export declare class LogEventService {
3
+ private eventBridgeClient;
4
+ private eventDetail;
5
+ constructor(eventBusName: string);
6
+ log: (source: string, pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => Promise<void>;
7
+ buildLogEvent: (pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => LogEvent;
8
+ buildLogEventData: (source: string, service: string, logLevel: LogLevel, message: string, logData?: any, logStorage?: LogStorage) => LogEventData;
9
+ }