@adtrackify/at-service-common 2.2.0 → 3.0.2

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__/helpers/subscription-helper.spec.d.ts +1 -0
  2. package/dist/cjs/__tests__/helpers/subscription-helper.spec.js +53 -0
  3. package/dist/cjs/__tests__/helpers/subscription-helper.spec.js.map +1 -0
  4. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  5. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  6. package/dist/cjs/clients/generic/cognito-client.d.ts +20 -20
  7. package/dist/cjs/clients/generic/cognito-client.js +164 -164
  8. package/dist/cjs/clients/generic/dynamodb-client.d.ts +16 -16
  9. package/dist/cjs/clients/generic/dynamodb-client.js +144 -144
  10. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  11. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  12. package/dist/cjs/clients/generic/http-client.d.ts +88 -88
  13. package/dist/cjs/clients/generic/http-client.js +56 -56
  14. package/dist/cjs/clients/generic/index.d.ts +6 -6
  15. package/dist/cjs/clients/generic/index.js +22 -22
  16. package/dist/cjs/clients/generic/s3-client.d.ts +14 -14
  17. package/dist/cjs/clients/generic/s3-client.js +82 -82
  18. package/dist/cjs/clients/generic/sqs-client.d.ts +14 -14
  19. package/dist/cjs/clients/generic/sqs-client.js +38 -38
  20. package/dist/cjs/clients/index.d.ts +3 -3
  21. package/dist/cjs/clients/index.js +19 -19
  22. package/dist/cjs/clients/internal-api/accounts-client.d.ts +101 -101
  23. package/dist/cjs/clients/internal-api/accounts-client.js +99 -99
  24. package/dist/cjs/clients/internal-api/db-management-client.d.ts +23 -23
  25. package/dist/cjs/clients/internal-api/db-management-client.js +45 -45
  26. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  27. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  28. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  29. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  30. package/dist/cjs/clients/internal-api/identity-client.d.ts +10 -10
  31. package/dist/cjs/clients/internal-api/identity-client.js +43 -43
  32. package/dist/cjs/clients/internal-api/index.d.ts +7 -7
  33. package/dist/cjs/clients/internal-api/index.js +23 -23
  34. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +35 -35
  35. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +57 -57
  36. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  37. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  38. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  39. package/dist/cjs/clients/third-party/index.js +17 -17
  40. package/dist/cjs/clients/third-party/shopify-client.d.ts +198 -198
  41. package/dist/cjs/clients/third-party/shopify-client.js +150 -150
  42. package/dist/cjs/helpers/index.d.ts +5 -4
  43. package/dist/cjs/helpers/index.js +21 -20
  44. package/dist/cjs/helpers/index.js.map +1 -1
  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/helpers/subscription-helper.d.ts +8 -0
  54. package/dist/cjs/helpers/subscription-helper.js +242 -0
  55. package/dist/cjs/helpers/subscription-helper.js.map +1 -0
  56. package/dist/cjs/index.d.ts +5 -5
  57. package/dist/cjs/index.js +21 -21
  58. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  59. package/dist/cjs/libs/clickId-parser.js +49 -49
  60. package/dist/cjs/libs/crypto.d.ts +1 -1
  61. package/dist/cjs/libs/crypto.js +12 -12
  62. package/dist/cjs/libs/dates.d.ts +6 -6
  63. package/dist/cjs/libs/dates.js +31 -31
  64. package/dist/cjs/libs/http-error.d.ts +21 -21
  65. package/dist/cjs/libs/http-error.js +59 -59
  66. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  67. package/dist/cjs/libs/http-status-codes.js +62 -62
  68. package/dist/cjs/libs/index.d.ts +8 -8
  69. package/dist/cjs/libs/index.js +24 -24
  70. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  71. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  72. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  73. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  74. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  75. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  76. package/dist/cjs/libs/url.d.ts +1 -1
  77. package/dist/cjs/libs/url.js +13 -13
  78. package/dist/cjs/services/db/destinations-service.d.ts +7 -7
  79. package/dist/cjs/services/db/destinations-service.js +35 -35
  80. package/dist/cjs/services/db/index.d.ts +3 -3
  81. package/dist/cjs/services/db/index.js +19 -19
  82. package/dist/cjs/services/db/log-events-data-service.d.ts +6 -6
  83. package/dist/cjs/services/db/log-events-data-service.js +31 -31
  84. package/dist/cjs/services/db/tracking-events-data-service.d.ts +6 -6
  85. package/dist/cjs/services/db/tracking-events-data-service.js +31 -31
  86. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  87. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  88. package/dist/cjs/services/index.d.ts +5 -5
  89. package/dist/cjs/services/index.js +21 -21
  90. package/dist/cjs/services/ipdata-lookup-service.d.ts +8 -8
  91. package/dist/cjs/services/ipdata-lookup-service.js +59 -59
  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__/helpers/subscription-helper.spec.d.ts +1 -0
  105. package/dist/esm/__tests__/helpers/subscription-helper.spec.js +28 -0
  106. package/dist/esm/__tests__/helpers/subscription-helper.spec.js.map +1 -0
  107. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  108. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  109. package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
  110. package/dist/esm/clients/generic/cognito-client.js +159 -159
  111. package/dist/esm/clients/generic/dynamodb-client.d.ts +16 -16
  112. package/dist/esm/clients/generic/dynamodb-client.js +140 -140
  113. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  114. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  115. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  116. package/dist/esm/clients/generic/http-client.js +48 -48
  117. package/dist/esm/clients/generic/index.d.ts +6 -6
  118. package/dist/esm/clients/generic/index.js +6 -6
  119. package/dist/esm/clients/generic/s3-client.d.ts +14 -14
  120. package/dist/esm/clients/generic/s3-client.js +78 -78
  121. package/dist/esm/clients/generic/sqs-client.d.ts +14 -14
  122. package/dist/esm/clients/generic/sqs-client.js +34 -34
  123. package/dist/esm/clients/index.d.ts +3 -3
  124. package/dist/esm/clients/index.js +3 -3
  125. package/dist/esm/clients/internal-api/accounts-client.d.ts +101 -101
  126. package/dist/esm/clients/internal-api/accounts-client.js +95 -95
  127. package/dist/esm/clients/internal-api/db-management-client.d.ts +23 -23
  128. package/dist/esm/clients/internal-api/db-management-client.js +38 -38
  129. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  130. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  131. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  132. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  133. package/dist/esm/clients/internal-api/identity-client.d.ts +10 -10
  134. package/dist/esm/clients/internal-api/identity-client.js +39 -39
  135. package/dist/esm/clients/internal-api/index.d.ts +7 -7
  136. package/dist/esm/clients/internal-api/index.js +7 -7
  137. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +35 -35
  138. package/dist/esm/clients/internal-api/shopify-app-install-client.js +50 -50
  139. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  140. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  141. package/dist/esm/clients/third-party/index.d.ts +1 -1
  142. package/dist/esm/clients/third-party/index.js +1 -1
  143. package/dist/esm/clients/third-party/shopify-client.d.ts +198 -198
  144. package/dist/esm/clients/third-party/shopify-client.js +146 -146
  145. package/dist/esm/helpers/index.d.ts +5 -4
  146. package/dist/esm/helpers/index.js +5 -4
  147. package/dist/esm/helpers/index.js.map +1 -1
  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/helpers/subscription-helper.d.ts +8 -0
  157. package/dist/esm/helpers/subscription-helper.js +237 -0
  158. package/dist/esm/helpers/subscription-helper.js.map +1 -0
  159. package/dist/esm/index.d.ts +5 -5
  160. package/dist/esm/index.js +5 -5
  161. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  162. package/dist/esm/libs/clickId-parser.js +45 -45
  163. package/dist/esm/libs/crypto.d.ts +1 -1
  164. package/dist/esm/libs/crypto.js +5 -5
  165. package/dist/esm/libs/dates.d.ts +6 -6
  166. package/dist/esm/libs/dates.js +22 -22
  167. package/dist/esm/libs/http-error.d.ts +21 -21
  168. package/dist/esm/libs/http-error.js +55 -55
  169. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  170. package/dist/esm/libs/http-status-codes.js +59 -59
  171. package/dist/esm/libs/index.d.ts +8 -8
  172. package/dist/esm/libs/index.js +8 -8
  173. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  174. package/dist/esm/libs/referrer-parser/index.js +2 -2
  175. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  176. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  177. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  178. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  179. package/dist/esm/libs/url.d.ts +1 -1
  180. package/dist/esm/libs/url.js +9 -9
  181. package/dist/esm/services/db/destinations-service.d.ts +7 -7
  182. package/dist/esm/services/db/destinations-service.js +31 -31
  183. package/dist/esm/services/db/index.d.ts +3 -3
  184. package/dist/esm/services/db/index.js +3 -3
  185. package/dist/esm/services/db/log-events-data-service.d.ts +6 -6
  186. package/dist/esm/services/db/log-events-data-service.js +27 -27
  187. package/dist/esm/services/db/tracking-events-data-service.d.ts +6 -6
  188. package/dist/esm/services/db/tracking-events-data-service.js +27 -27
  189. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  190. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  191. package/dist/esm/services/index.d.ts +5 -5
  192. package/dist/esm/services/index.js +5 -5
  193. package/dist/esm/services/ipdata-lookup-service.d.ts +8 -8
  194. package/dist/esm/services/ipdata-lookup-service.js +55 -55
  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 -3
@@ -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,8 @@
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
+ }
8
+ export declare const lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
@@ -1,60 +1,60 @@
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: 2 }).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: 2 }).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;
60
60
  //# sourceMappingURL=ipdata-lookup-service.js.map
@@ -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
+ }
@@ -1,57 +1,57 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogEventService = void 0;
4
- const at_tracking_event_types_1 = require("@adtrackify/at-tracking-event-types");
5
- const clients_1 = require("../clients");
6
- const uuid_1 = require("uuid");
7
- const libs_1 = require("../libs");
8
- const DEFAULT_LOG_STORAGE = {
9
- sendToDatadog: true,
10
- sendToEventDebugger: false,
11
- sendToSingleStore: false,
12
- };
13
- class LogEventService {
14
- eventBridgeClient;
15
- eventDetail;
16
- constructor(eventBusName) {
17
- this.eventBridgeClient = new clients_1.EventBridgeClient(eventBusName);
18
- this.eventDetail = 'incomingLogEvent';
19
- }
20
- log = async (source, pixelId, context, logEventName, logEventData, logId = (0, uuid_1.v4)()) => {
21
- const logEvent = this.buildLogEvent(pixelId, context, logEventName, logEventData, logId);
22
- const eventData = {
23
- pixelId,
24
- logEvent
25
- };
26
- await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
27
- };
28
- buildLogEvent = (pixelId, context, logEventName, logEventData, logId = (0, uuid_1.v4)()) => {
29
- const unixMsUtcTime = Date.now();
30
- const logEvent = {
31
- id: logId,
32
- pixelId,
33
- type: at_tracking_event_types_1.INTERNAL_EVENT_TYPE.LOG,
34
- name: logEventName,
35
- data: logEventData,
36
- version: '1.1.6',
37
- sentAtEpoch: unixMsUtcTime,
38
- collectedAt: (0, libs_1.getCurrentTimestamp)(),
39
- source: 'server'
40
- };
41
- if (context)
42
- logEvent.context = context;
43
- return logEvent;
44
- };
45
- buildLogEventData = (source, service, logLevel, message, logData, logStorage = DEFAULT_LOG_STORAGE) => {
46
- return {
47
- source,
48
- service,
49
- logLevel,
50
- logMessage: message,
51
- ...logData,
52
- logStorage
53
- };
54
- };
55
- }
56
- exports.LogEventService = LogEventService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogEventService = void 0;
4
+ const at_tracking_event_types_1 = require("@adtrackify/at-tracking-event-types");
5
+ const clients_1 = require("../clients");
6
+ const uuid_1 = require("uuid");
7
+ const libs_1 = require("../libs");
8
+ const DEFAULT_LOG_STORAGE = {
9
+ sendToDatadog: true,
10
+ sendToEventDebugger: false,
11
+ sendToSingleStore: false,
12
+ };
13
+ class LogEventService {
14
+ eventBridgeClient;
15
+ eventDetail;
16
+ constructor(eventBusName) {
17
+ this.eventBridgeClient = new clients_1.EventBridgeClient(eventBusName);
18
+ this.eventDetail = 'incomingLogEvent';
19
+ }
20
+ log = async (source, pixelId, context, logEventName, logEventData, logId = (0, uuid_1.v4)()) => {
21
+ const logEvent = this.buildLogEvent(pixelId, context, logEventName, logEventData, logId);
22
+ const eventData = {
23
+ pixelId,
24
+ logEvent
25
+ };
26
+ await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
27
+ };
28
+ buildLogEvent = (pixelId, context, logEventName, logEventData, logId = (0, uuid_1.v4)()) => {
29
+ const unixMsUtcTime = Date.now();
30
+ const logEvent = {
31
+ id: logId,
32
+ pixelId,
33
+ type: at_tracking_event_types_1.INTERNAL_EVENT_TYPE.LOG,
34
+ name: logEventName,
35
+ data: logEventData,
36
+ version: '1.1.6',
37
+ sentAtEpoch: unixMsUtcTime,
38
+ collectedAt: (0, libs_1.getCurrentTimestamp)(),
39
+ source: 'server'
40
+ };
41
+ if (context)
42
+ logEvent.context = context;
43
+ return logEvent;
44
+ };
45
+ buildLogEventData = (source, service, logLevel, message, logData, logStorage = DEFAULT_LOG_STORAGE) => {
46
+ return {
47
+ source,
48
+ service,
49
+ logLevel,
50
+ logMessage: message,
51
+ ...logData,
52
+ logStorage
53
+ };
54
+ };
55
+ }
56
+ exports.LogEventService = LogEventService;
57
57
  //# sourceMappingURL=log-event-service.js.map
@@ -1,9 +1,9 @@
1
- import { EventContext, METRIC_EVENT_NAME, MetricEvent, MetricEventData } from '@adtrackify/at-tracking-event-types';
2
- export declare class MetricEventService {
3
- private eventBridgeClient;
4
- private eventDetail;
5
- constructor(eventBusName: string);
6
- metric: (source: string, pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => Promise<void>;
7
- buildMetricEvent: (pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => MetricEvent;
8
- buildMetricEventData: (recordName: string, recordValue: number, displayName: string, additionalMetricData?: {}) => MetricEventData;
9
- }
1
+ import { EventContext, METRIC_EVENT_NAME, MetricEvent, MetricEventData } from '@adtrackify/at-tracking-event-types';
2
+ export declare class MetricEventService {
3
+ private eventBridgeClient;
4
+ private eventDetail;
5
+ constructor(eventBusName: string);
6
+ metric: (source: string, pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => Promise<void>;
7
+ buildMetricEvent: (pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => MetricEvent;
8
+ buildMetricEventData: (recordName: string, recordValue: number, displayName: string, additionalMetricData?: {}) => MetricEventData;
9
+ }
@@ -1,50 +1,50 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MetricEventService = void 0;
4
- const at_tracking_event_types_1 = require("@adtrackify/at-tracking-event-types");
5
- const clients_1 = require("../clients");
6
- const uuid_1 = require("uuid");
7
- const libs_1 = require("../libs");
8
- class MetricEventService {
9
- eventBridgeClient;
10
- eventDetail;
11
- constructor(eventBusName) {
12
- this.eventBridgeClient = new clients_1.EventBridgeClient(eventBusName);
13
- this.eventDetail = 'incomingMetricEvent';
14
- }
15
- metric = async (source, pixelId, context, metricName, metricData, metricId = (0, uuid_1.v4)()) => {
16
- const metricEvent = this.buildMetricEvent(pixelId, context, metricName, metricData, metricId);
17
- const eventData = {
18
- pixelId,
19
- metricEvent
20
- };
21
- await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
22
- };
23
- buildMetricEvent = (pixelId, context, metricName, metricData, metricId = (0, uuid_1.v4)()) => {
24
- const unixMsUtcTime = Date.now();
25
- const metricEvent = {
26
- id: metricId,
27
- type: at_tracking_event_types_1.INTERNAL_EVENT_TYPE.METRIC,
28
- name: metricName,
29
- pixelId,
30
- data: metricData,
31
- version: '1.1.6',
32
- sentAtEpoch: unixMsUtcTime,
33
- collectedAt: (0, libs_1.getCurrentTimestamp)()
34
- };
35
- if (context)
36
- metricEvent.context = context;
37
- return metricEvent;
38
- };
39
- buildMetricEventData = (recordName, recordValue, displayName, additionalMetricData = {}) => {
40
- return {
41
- recordId: (0, uuid_1.v4)(),
42
- recordName,
43
- recordValue,
44
- displayName,
45
- ...additionalMetricData,
46
- };
47
- };
48
- }
49
- exports.MetricEventService = MetricEventService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetricEventService = void 0;
4
+ const at_tracking_event_types_1 = require("@adtrackify/at-tracking-event-types");
5
+ const clients_1 = require("../clients");
6
+ const uuid_1 = require("uuid");
7
+ const libs_1 = require("../libs");
8
+ class MetricEventService {
9
+ eventBridgeClient;
10
+ eventDetail;
11
+ constructor(eventBusName) {
12
+ this.eventBridgeClient = new clients_1.EventBridgeClient(eventBusName);
13
+ this.eventDetail = 'incomingMetricEvent';
14
+ }
15
+ metric = async (source, pixelId, context, metricName, metricData, metricId = (0, uuid_1.v4)()) => {
16
+ const metricEvent = this.buildMetricEvent(pixelId, context, metricName, metricData, metricId);
17
+ const eventData = {
18
+ pixelId,
19
+ metricEvent
20
+ };
21
+ await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
22
+ };
23
+ buildMetricEvent = (pixelId, context, metricName, metricData, metricId = (0, uuid_1.v4)()) => {
24
+ const unixMsUtcTime = Date.now();
25
+ const metricEvent = {
26
+ id: metricId,
27
+ type: at_tracking_event_types_1.INTERNAL_EVENT_TYPE.METRIC,
28
+ name: metricName,
29
+ pixelId,
30
+ data: metricData,
31
+ version: '1.1.6',
32
+ sentAtEpoch: unixMsUtcTime,
33
+ collectedAt: (0, libs_1.getCurrentTimestamp)()
34
+ };
35
+ if (context)
36
+ metricEvent.context = context;
37
+ return metricEvent;
38
+ };
39
+ buildMetricEventData = (recordName, recordValue, displayName, additionalMetricData = {}) => {
40
+ return {
41
+ recordId: (0, uuid_1.v4)(),
42
+ recordName,
43
+ recordValue,
44
+ displayName,
45
+ ...additionalMetricData,
46
+ };
47
+ };
48
+ }
49
+ exports.MetricEventService = MetricEventService;
50
50
  //# sourceMappingURL=metric-event-service.js.map
@@ -1,6 +1,6 @@
1
- import { AxiosResponseHeaders } from 'axios';
2
- export interface ApiResponse<T> {
3
- data: T;
4
- status: number;
5
- headers?: AxiosResponseHeaders;
6
- }
1
+ import { AxiosResponseHeaders } from 'axios';
2
+ export interface ApiResponse<T> {
3
+ data: T;
4
+ status: number;
5
+ headers?: AxiosResponseHeaders;
6
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=api-response.js.map
@@ -1 +1 @@
1
- export * from './internal-events/index.js';
1
+ export * from './internal-events/index.js';
@@ -1,18 +1,18 @@
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("./internal-events/index.js"), 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("./internal-events/index.js"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -1,20 +1,20 @@
1
- export declare enum ADTRACKIFY_EVENT_TYPES {
2
- NOTIFY_SHOPIFY_SUBSCRIPTION_CREATED = "shopifySubscriptionCreated",
3
- NOTIFY_SUBSCRIPTION_SIGNUP_COMPLETED = "subscription.signupCompleted",
4
- REQUEST_SET_ACCOUNT_OWNER = "setAccountOwner",
5
- REQUEST_SET_ACCOUNT_SUBSCRIPTION_ID = "setAccountSubscriptionId"
6
- }
7
- export declare enum ADTRACKIFY_EVENT_SOURCES {
8
- SUBSCRIPTIONS = "subscriptions"
9
- }
10
- export declare const enum PostmarkRequestType {
11
- SINGLE_EMAIL = "single_email",
12
- TEMPLATE_EMAIL = "template_email"
13
- }
14
- export declare enum ADTRACKIFY_EVENT_BRIDGE_EVENTS {
15
- SEND_POSTMARK_EMAIL = "integration.sendPostmarkEmail",
16
- NOTIFY_SHOPIFY_SUBSCRIPTION_CREATED = "shopifySubscriptionCreated",
17
- NOTIFY_SUBSCRIPTION_SIGNUP_COMPLETED = "subscription.signupCompleted",
18
- REQUEST_SET_ACCOUNT_OWNER = "setAccountOwner",
19
- REQUEST_SET_ACCOUNT_SUBSCRIPTION_ID = "setAccountSubscriptionId"
20
- }
1
+ export declare enum ADTRACKIFY_EVENT_TYPES {
2
+ NOTIFY_SHOPIFY_SUBSCRIPTION_CREATED = "shopifySubscriptionCreated",
3
+ NOTIFY_SUBSCRIPTION_SIGNUP_COMPLETED = "subscription.signupCompleted",
4
+ REQUEST_SET_ACCOUNT_OWNER = "setAccountOwner",
5
+ REQUEST_SET_ACCOUNT_SUBSCRIPTION_ID = "setAccountSubscriptionId"
6
+ }
7
+ export declare enum ADTRACKIFY_EVENT_SOURCES {
8
+ SUBSCRIPTIONS = "subscriptions"
9
+ }
10
+ export declare const enum PostmarkRequestType {
11
+ SINGLE_EMAIL = "single_email",
12
+ TEMPLATE_EMAIL = "template_email"
13
+ }
14
+ export declare enum ADTRACKIFY_EVENT_BRIDGE_EVENTS {
15
+ SEND_POSTMARK_EMAIL = "integration.sendPostmarkEmail",
16
+ NOTIFY_SHOPIFY_SUBSCRIPTION_CREATED = "shopifySubscriptionCreated",
17
+ NOTIFY_SUBSCRIPTION_SIGNUP_COMPLETED = "subscription.signupCompleted",
18
+ REQUEST_SET_ACCOUNT_OWNER = "setAccountOwner",
19
+ REQUEST_SET_ACCOUNT_SUBSCRIPTION_ID = "setAccountSubscriptionId"
20
+ }