@adtrackify/at-service-common 2.0.4 → 2.0.6

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 (177) hide show
  1. package/dist/cjs/__tests__/helpers/subscription-helper.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/helpers/subscription-helper.spec.js +52 -52
  3. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  5. package/dist/cjs/clients/generic/cognito-client.d.ts +19 -19
  6. package/dist/cjs/clients/generic/cognito-client.js +144 -144
  7. package/dist/cjs/clients/generic/cognito-client.js.map +1 -1
  8. package/dist/cjs/clients/generic/dynamodb-client.d.ts +15 -15
  9. package/dist/cjs/clients/generic/dynamodb-client.js +124 -126
  10. package/dist/cjs/clients/generic/dynamodb-client.js.map +1 -1
  11. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  12. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  13. package/dist/cjs/clients/generic/http-client.d.ts +30 -30
  14. package/dist/cjs/clients/generic/http-client.js +35 -35
  15. package/dist/cjs/clients/generic/index.d.ts +6 -6
  16. package/dist/cjs/clients/generic/index.js +22 -22
  17. package/dist/cjs/clients/generic/s3-client.d.ts +14 -14
  18. package/dist/cjs/clients/generic/s3-client.js +82 -82
  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 +82 -82
  24. package/dist/cjs/clients/internal-api/accounts-client.js +82 -82
  25. package/dist/cjs/clients/internal-api/destinations-client.d.ts +54 -54
  26. package/dist/cjs/clients/internal-api/destinations-client.js +40 -40
  27. package/dist/cjs/clients/internal-api/index.d.ts +4 -4
  28. package/dist/cjs/clients/internal-api/index.js +20 -20
  29. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +57 -57
  30. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +49 -49
  31. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +61 -61
  32. package/dist/cjs/clients/internal-api/users-auth-client.js +77 -77
  33. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  34. package/dist/cjs/clients/third-party/index.js +17 -17
  35. package/dist/cjs/clients/third-party/shopify-client.d.ts +90 -90
  36. package/dist/cjs/clients/third-party/shopify-client.js +125 -125
  37. package/dist/cjs/helpers/index.d.ts +5 -5
  38. package/dist/cjs/helpers/index.js +21 -21
  39. package/dist/cjs/helpers/input-validation-helper.d.ts +2 -2
  40. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  41. package/dist/cjs/helpers/logging-helper.d.ts +15 -15
  42. package/dist/cjs/helpers/logging-helper.js +80 -80
  43. package/dist/cjs/helpers/response-helper.d.ts +36 -36
  44. package/dist/cjs/helpers/response-helper.js +41 -41
  45. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  46. package/dist/cjs/helpers/shopify-helper.js +28 -28
  47. package/dist/cjs/helpers/subscription-helper.d.ts +8 -8
  48. package/dist/cjs/helpers/subscription-helper.js +229 -186
  49. package/dist/cjs/helpers/subscription-helper.js.map +1 -1
  50. package/dist/cjs/index.d.ts +5 -5
  51. package/dist/cjs/index.js +21 -21
  52. package/dist/cjs/libs/clickId-parser.d.ts +18 -18
  53. package/dist/cjs/libs/clickId-parser.js +38 -38
  54. package/dist/cjs/libs/crypto.d.ts +1 -1
  55. package/dist/cjs/libs/crypto.js +12 -12
  56. package/dist/cjs/libs/dates.d.ts +3 -3
  57. package/dist/cjs/libs/dates.js +16 -16
  58. package/dist/cjs/libs/http-error.d.ts +21 -21
  59. package/dist/cjs/libs/http-error.js +59 -59
  60. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  61. package/dist/cjs/libs/http-status-codes.js +62 -62
  62. package/dist/cjs/libs/index.d.ts +8 -8
  63. package/dist/cjs/libs/index.js +24 -24
  64. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  65. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  66. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  67. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  68. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  69. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +123 -123
  70. package/dist/cjs/libs/url.d.ts +1 -1
  71. package/dist/cjs/libs/url.js +13 -13
  72. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  73. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  74. package/dist/cjs/services/index.d.ts +2 -2
  75. package/dist/cjs/services/index.js +18 -18
  76. package/dist/cjs/services/ipdata-lookup-service.d.ts +8 -8
  77. package/dist/cjs/services/ipdata-lookup-service.js +59 -59
  78. package/dist/cjs/services/log-event-service.d.ts +9 -0
  79. package/dist/cjs/services/log-event-service.js +49 -0
  80. package/dist/cjs/services/log-event-service.js.map +1 -0
  81. package/dist/cjs/types/api-response.d.ts +6 -6
  82. package/dist/cjs/types/api-response.js +2 -2
  83. package/dist/cjs/types/index.d.ts +1 -1
  84. package/dist/cjs/types/index.js +17 -17
  85. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  86. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  87. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  88. package/dist/cjs/types/internal-events/index.js +17 -17
  89. package/dist/esm/__tests__/helpers/subscription-helper.spec.d.ts +1 -1
  90. package/dist/esm/__tests__/helpers/subscription-helper.spec.js +27 -27
  91. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  92. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  93. package/dist/esm/clients/generic/cognito-client.d.ts +19 -19
  94. package/dist/esm/clients/generic/cognito-client.js +139 -139
  95. package/dist/esm/clients/generic/cognito-client.js.map +1 -1
  96. package/dist/esm/clients/generic/dynamodb-client.d.ts +15 -15
  97. package/dist/esm/clients/generic/dynamodb-client.js +120 -122
  98. package/dist/esm/clients/generic/dynamodb-client.js.map +1 -1
  99. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  100. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  101. package/dist/esm/clients/generic/http-client.d.ts +30 -30
  102. package/dist/esm/clients/generic/http-client.js +28 -28
  103. package/dist/esm/clients/generic/index.d.ts +6 -6
  104. package/dist/esm/clients/generic/index.js +6 -6
  105. package/dist/esm/clients/generic/s3-client.d.ts +14 -14
  106. package/dist/esm/clients/generic/s3-client.js +78 -78
  107. package/dist/esm/clients/generic/sqs-client.d.ts +14 -14
  108. package/dist/esm/clients/generic/sqs-client.js +34 -34
  109. package/dist/esm/clients/index.d.ts +3 -3
  110. package/dist/esm/clients/index.js +3 -3
  111. package/dist/esm/clients/internal-api/accounts-client.d.ts +82 -82
  112. package/dist/esm/clients/internal-api/accounts-client.js +78 -78
  113. package/dist/esm/clients/internal-api/destinations-client.d.ts +54 -54
  114. package/dist/esm/clients/internal-api/destinations-client.js +36 -36
  115. package/dist/esm/clients/internal-api/index.d.ts +4 -4
  116. package/dist/esm/clients/internal-api/index.js +4 -4
  117. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +57 -57
  118. package/dist/esm/clients/internal-api/shopify-app-install-client.js +42 -42
  119. package/dist/esm/clients/internal-api/users-auth-client.d.ts +61 -61
  120. package/dist/esm/clients/internal-api/users-auth-client.js +73 -73
  121. package/dist/esm/clients/third-party/index.d.ts +1 -1
  122. package/dist/esm/clients/third-party/index.js +1 -1
  123. package/dist/esm/clients/third-party/shopify-client.d.ts +90 -90
  124. package/dist/esm/clients/third-party/shopify-client.js +121 -121
  125. package/dist/esm/helpers/index.d.ts +5 -5
  126. package/dist/esm/helpers/index.js +5 -5
  127. package/dist/esm/helpers/input-validation-helper.d.ts +2 -2
  128. package/dist/esm/helpers/input-validation-helper.js +18 -18
  129. package/dist/esm/helpers/logging-helper.d.ts +15 -15
  130. package/dist/esm/helpers/logging-helper.js +53 -53
  131. package/dist/esm/helpers/response-helper.d.ts +36 -36
  132. package/dist/esm/helpers/response-helper.js +35 -35
  133. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  134. package/dist/esm/helpers/shopify-helper.js +23 -23
  135. package/dist/esm/helpers/subscription-helper.d.ts +8 -8
  136. package/dist/esm/helpers/subscription-helper.js +224 -181
  137. package/dist/esm/helpers/subscription-helper.js.map +1 -1
  138. package/dist/esm/index.d.ts +5 -5
  139. package/dist/esm/index.js +5 -5
  140. package/dist/esm/libs/clickId-parser.d.ts +18 -18
  141. package/dist/esm/libs/clickId-parser.js +34 -34
  142. package/dist/esm/libs/crypto.d.ts +1 -1
  143. package/dist/esm/libs/crypto.js +5 -5
  144. package/dist/esm/libs/dates.d.ts +3 -3
  145. package/dist/esm/libs/dates.js +10 -10
  146. package/dist/esm/libs/http-error.d.ts +21 -21
  147. package/dist/esm/libs/http-error.js +55 -55
  148. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  149. package/dist/esm/libs/http-status-codes.js +59 -59
  150. package/dist/esm/libs/index.d.ts +8 -8
  151. package/dist/esm/libs/index.js +8 -8
  152. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  153. package/dist/esm/libs/referrer-parser/index.js +2 -2
  154. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  155. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  156. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  157. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +116 -116
  158. package/dist/esm/libs/url.d.ts +1 -1
  159. package/dist/esm/libs/url.js +9 -9
  160. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  161. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  162. package/dist/esm/services/index.d.ts +2 -2
  163. package/dist/esm/services/index.js +2 -2
  164. package/dist/esm/services/ipdata-lookup-service.d.ts +8 -8
  165. package/dist/esm/services/ipdata-lookup-service.js +55 -55
  166. package/dist/esm/services/log-event-service.d.ts +9 -0
  167. package/dist/esm/services/log-event-service.js +45 -0
  168. package/dist/esm/services/log-event-service.js.map +1 -0
  169. package/dist/esm/types/api-response.d.ts +6 -6
  170. package/dist/esm/types/api-response.js +1 -1
  171. package/dist/esm/types/index.d.ts +1 -1
  172. package/dist/esm/types/index.js +1 -1
  173. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  174. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  175. package/dist/esm/types/internal-events/index.d.ts +1 -1
  176. package/dist/esm/types/internal-events/index.js +1 -1
  177. package/package.json +2 -2
@@ -1,20 +1,20 @@
1
- /// <reference types="node" />
2
- import url from 'url';
3
- export interface ReferrerDictionary {
4
- [domain: string]: {
5
- name: string;
6
- medium: string;
7
- params?: string[];
8
- };
9
- }
10
- export declare class Referrer {
11
- known: boolean;
12
- referrer: string | null;
13
- medium: string;
14
- search_parameter: string | null;
15
- search_term: string | string[] | null | undefined;
16
- referrers: any;
17
- uri?: url.UrlWithStringQuery;
18
- constructor(referrer_url?: string, current_url?: string);
19
- _lookup_referrer: (ref_host: string | null | undefined, ref_path: string | null, include_path: boolean) => any;
20
- }
1
+ /// <reference types="node" />
2
+ import url from 'url';
3
+ export interface ReferrerDictionary {
4
+ [domain: string]: {
5
+ name: string;
6
+ medium: string;
7
+ params?: string[];
8
+ };
9
+ }
10
+ export declare class Referrer {
11
+ known: boolean;
12
+ referrer: string | null;
13
+ medium: string;
14
+ search_parameter: string | null;
15
+ search_term: string | string[] | null | undefined;
16
+ referrers: any;
17
+ uri?: url.UrlWithStringQuery;
18
+ constructor(referrer_url?: string, current_url?: string);
19
+ _lookup_referrer: (ref_host: string | null | undefined, ref_path: string | null, include_path: boolean) => any;
20
+ }
@@ -1,124 +1,124 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Referrer = void 0;
7
- const url_1 = __importDefault(require("url"));
8
- const querystring_1 = __importDefault(require("querystring"));
9
- const referrer_data_js_1 = require("./referrer-data.js");
10
- const REFERERS = loadReferrers(referrer_data_js_1.REFERRER_DATA);
11
- function loadReferrers(source) {
12
- const referrers_dict = {};
13
- for (const medium in source) {
14
- const conf_list = source[medium];
15
- for (const referrer_name in conf_list) {
16
- const config = conf_list[referrer_name];
17
- let params = null;
18
- if (config.parameters) {
19
- params = config.parameters.map(function (p) { return p.toLowerCase(); });
20
- }
21
- config.domains.forEach(function (domain) {
22
- referrers_dict[domain] = {
23
- 'name': referrer_name,
24
- 'medium': medium
25
- };
26
- if (params) {
27
- referrers_dict[domain]['params'] = params;
28
- }
29
- });
30
- }
31
- }
32
- return referrers_dict;
33
- }
34
- class Referrer {
35
- known;
36
- referrer;
37
- medium;
38
- search_parameter;
39
- search_term;
40
- referrers;
41
- uri;
42
- constructor(referrer_url, current_url) {
43
- this.known = false;
44
- this.referrer = null;
45
- this.medium = 'unknown';
46
- this.search_parameter = null;
47
- this.search_term = null;
48
- if (!referrer_url)
49
- return;
50
- const ref_uri = url_1.default.parse(referrer_url);
51
- const ref_host = ref_uri.hostname;
52
- this.known = Boolean(~['http:', 'https:'].indexOf(ref_uri.protocol));
53
- this.uri = ref_uri;
54
- if (!this.known)
55
- return;
56
- if (current_url) {
57
- const curr_uri = url_1.default.parse(current_url);
58
- const curr_host = curr_uri.hostname;
59
- if (curr_host == ref_host) {
60
- this.medium = 'internal';
61
- return;
62
- }
63
- }
64
- let referrer = this._lookup_referrer(ref_host, ref_uri.pathname, true);
65
- if (!referrer) {
66
- referrer = this._lookup_referrer(ref_host, ref_uri.pathname, false);
67
- if (!referrer) {
68
- this.medium = 'unknown';
69
- return;
70
- }
71
- }
72
- this.referrer = referrer['name'];
73
- this.medium = referrer['medium'];
74
- if (referrer['medium'] == 'search') {
75
- if (!referrer['params'])
76
- return;
77
- const pqs = querystring_1.default.parse(ref_uri?.query || '');
78
- for (const param in pqs) {
79
- const val = pqs[param];
80
- if (referrer['params'].indexOf(param.toLowerCase()) !== -1) {
81
- this.search_parameter = param;
82
- this.search_term = val;
83
- }
84
- }
85
- }
86
- }
87
- _lookup_referrer = (ref_host, ref_path, include_path) => {
88
- let referrer = null;
89
- if (include_path) {
90
- const hostpath = (ref_host ?? '') + (ref_path ?? '');
91
- referrer = REFERERS[hostpath];
92
- }
93
- else {
94
- referrer = REFERERS[ref_host ?? ''];
95
- }
96
- if (!referrer) {
97
- if (include_path) {
98
- const path_parts = ref_path?.split('/');
99
- if (path_parts && path_parts.length > 1) {
100
- try {
101
- referrer = REFERERS[ref_host + '/' + path_parts[1]];
102
- }
103
- catch (e) { }
104
- }
105
- }
106
- }
107
- if (!referrer) {
108
- try {
109
- const idx = (ref_host ?? '').indexOf('.');
110
- if (idx === -1)
111
- return null;
112
- const slicedHost = ref_host?.slice(idx + 1);
113
- return this._lookup_referrer(slicedHost, ref_path, include_path);
114
- }
115
- catch (e) {
116
- return null;
117
- }
118
- }
119
- else
120
- return referrer;
121
- };
122
- }
123
- exports.Referrer = Referrer;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Referrer = void 0;
7
+ const url_1 = __importDefault(require("url"));
8
+ const querystring_1 = __importDefault(require("querystring"));
9
+ const referrer_data_js_1 = require("./referrer-data.js");
10
+ const REFERERS = loadReferrers(referrer_data_js_1.REFERRER_DATA);
11
+ function loadReferrers(source) {
12
+ const referrers_dict = {};
13
+ for (const medium in source) {
14
+ const conf_list = source[medium];
15
+ for (const referrer_name in conf_list) {
16
+ const config = conf_list[referrer_name];
17
+ let params = null;
18
+ if (config.parameters) {
19
+ params = config.parameters.map(function (p) { return p.toLowerCase(); });
20
+ }
21
+ config.domains.forEach(function (domain) {
22
+ referrers_dict[domain] = {
23
+ 'name': referrer_name,
24
+ 'medium': medium
25
+ };
26
+ if (params) {
27
+ referrers_dict[domain]['params'] = params;
28
+ }
29
+ });
30
+ }
31
+ }
32
+ return referrers_dict;
33
+ }
34
+ class Referrer {
35
+ known;
36
+ referrer;
37
+ medium;
38
+ search_parameter;
39
+ search_term;
40
+ referrers;
41
+ uri;
42
+ constructor(referrer_url, current_url) {
43
+ this.known = false;
44
+ this.referrer = null;
45
+ this.medium = 'unknown';
46
+ this.search_parameter = null;
47
+ this.search_term = null;
48
+ if (!referrer_url)
49
+ return;
50
+ const ref_uri = url_1.default.parse(referrer_url);
51
+ const ref_host = ref_uri.hostname;
52
+ this.known = Boolean(~['http:', 'https:'].indexOf(ref_uri.protocol));
53
+ this.uri = ref_uri;
54
+ if (!this.known)
55
+ return;
56
+ if (current_url) {
57
+ const curr_uri = url_1.default.parse(current_url);
58
+ const curr_host = curr_uri.hostname;
59
+ if (curr_host == ref_host) {
60
+ this.medium = 'internal';
61
+ return;
62
+ }
63
+ }
64
+ let referrer = this._lookup_referrer(ref_host, ref_uri.pathname, true);
65
+ if (!referrer) {
66
+ referrer = this._lookup_referrer(ref_host, ref_uri.pathname, false);
67
+ if (!referrer) {
68
+ this.medium = 'unknown';
69
+ return;
70
+ }
71
+ }
72
+ this.referrer = referrer['name'];
73
+ this.medium = referrer['medium'];
74
+ if (referrer['medium'] == 'search') {
75
+ if (!referrer['params'])
76
+ return;
77
+ const pqs = querystring_1.default.parse(ref_uri?.query || '');
78
+ for (const param in pqs) {
79
+ const val = pqs[param];
80
+ if (referrer['params'].indexOf(param.toLowerCase()) !== -1) {
81
+ this.search_parameter = param;
82
+ this.search_term = val;
83
+ }
84
+ }
85
+ }
86
+ }
87
+ _lookup_referrer = (ref_host, ref_path, include_path) => {
88
+ let referrer = null;
89
+ if (include_path) {
90
+ const hostpath = (ref_host ?? '') + (ref_path ?? '');
91
+ referrer = REFERERS[hostpath];
92
+ }
93
+ else {
94
+ referrer = REFERERS[ref_host ?? ''];
95
+ }
96
+ if (!referrer) {
97
+ if (include_path) {
98
+ const path_parts = ref_path?.split('/');
99
+ if (path_parts && path_parts.length > 1) {
100
+ try {
101
+ referrer = REFERERS[ref_host + '/' + path_parts[1]];
102
+ }
103
+ catch (e) { }
104
+ }
105
+ }
106
+ }
107
+ if (!referrer) {
108
+ try {
109
+ const idx = (ref_host ?? '').indexOf('.');
110
+ if (idx === -1)
111
+ return null;
112
+ const slicedHost = ref_host?.slice(idx + 1);
113
+ return this._lookup_referrer(slicedHost, ref_path, include_path);
114
+ }
115
+ catch (e) {
116
+ return null;
117
+ }
118
+ }
119
+ else
120
+ return referrer;
121
+ };
122
+ }
123
+ exports.Referrer = Referrer;
124
124
  //# sourceMappingURL=referrer-parser-util.js.map
@@ -1 +1 @@
1
- export declare const mapObjectToQueryString: (inputObj: any) => string;
1
+ export declare const mapObjectToQueryString: (inputObj: any) => string;
@@ -1,14 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapObjectToQueryString = void 0;
4
- const mapObjectToQueryString = (inputObj) => {
5
- const qsp = Object.entries(inputObj).sort((a, b) => a[0] < b[0] ? -1 : 1);
6
- const urlParams = new URLSearchParams();
7
- qsp.map(p => {
8
- urlParams.append(p[0], p[1]);
9
- });
10
- const qs = urlParams.toString();
11
- return qs;
12
- };
13
- exports.mapObjectToQueryString = mapObjectToQueryString;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapObjectToQueryString = void 0;
4
+ const mapObjectToQueryString = (inputObj) => {
5
+ const qsp = Object.entries(inputObj).sort((a, b) => a[0] < b[0] ? -1 : 1);
6
+ const urlParams = new URLSearchParams();
7
+ qsp.map(p => {
8
+ urlParams.append(p[0], p[1]);
9
+ });
10
+ const qs = urlParams.toString();
11
+ return qs;
12
+ };
13
+ exports.mapObjectToQueryString = mapObjectToQueryString;
14
14
  //# sourceMappingURL=url.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,2 +1,2 @@
1
- export * from './eventbridge-integration-service.js';
2
- export * from './ipdata-lookup-service.js';
1
+ export * from './eventbridge-integration-service.js';
2
+ export * from './ipdata-lookup-service.js';
@@ -1,19 +1,19 @@
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);
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
19
  //# 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
@@ -0,0 +1,9 @@
1
+ import { LOG_EVENT_NAME, LogContext, LogEvent, LogEventData, LogLevel } 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, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => Promise<void>;
7
+ buildLogEvent: (pixelId: string, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => LogEvent;
8
+ buildLogEventData: (source: string, service: string, logLevel: LogLevel, message: string, messageContext?: LogContext, code?: string) => LogEventData;
9
+ }
@@ -0,0 +1,49 @@
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
+ class LogEventService {
9
+ eventBridgeClient;
10
+ eventDetail;
11
+ constructor(eventBusName) {
12
+ this.eventBridgeClient = new clients_1.EventBridgeClient(eventBusName);
13
+ this.eventDetail = 'incomingLogEvent';
14
+ }
15
+ log = async (source, pixelId, logEventName, logEventData, logId = (0, uuid_1.v4)()) => {
16
+ const logEvent = this.buildLogEvent(pixelId, logEventName, logEventData, logId);
17
+ const eventData = {
18
+ pixelId,
19
+ logEvent
20
+ };
21
+ await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
22
+ };
23
+ buildLogEvent = (pixelId, logEventName, logEventData, logId = (0, uuid_1.v4)()) => {
24
+ const logTime = Date.now();
25
+ const logEvent = {
26
+ id: logId,
27
+ pixelId,
28
+ type: at_tracking_event_types_1.INTERNAL_EVENT_TYPE.LOG,
29
+ name: logEventName,
30
+ data: logEventData,
31
+ version: '1.1.6',
32
+ sentAtEpoch: logTime,
33
+ collectedAt: (0, libs_1.getCurrentTimestamp)()
34
+ };
35
+ return logEvent;
36
+ };
37
+ buildLogEventData = (source, service, logLevel, message, messageContext, code) => {
38
+ return {
39
+ source,
40
+ service,
41
+ code,
42
+ message,
43
+ context: messageContext,
44
+ logLevel,
45
+ };
46
+ };
47
+ }
48
+ exports.LogEventService = LogEventService;
49
+ //# sourceMappingURL=log-event-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-event-service.js","sourceRoot":"","sources":["../../../src/services/log-event-service.ts"],"names":[],"mappings":";;;AAAA,iFAAwI;AACxI,wCAA+C;AAC/C,+BAAoC;AACpC,kCAA8C;AAE9C,MAAa,eAAe;IAClB,iBAAiB,CAAoB;IACrC,WAAW,CAAQ;IAE3B,YAAY,YAAoB;QAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,2BAAiB,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;IACxC,CAAC;IAED,GAAG,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,YAA4B,EAAE,YAA0B,EAAE,KAAK,GAAG,IAAA,SAAM,GAAE,EAAE,EAAE;QAC1H,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG;YAChB,OAAO;YACP,QAAQ;SACT,CAAA;QACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtF,CAAC,CAAA;IAED,aAAa,GAAG,CAAC,OAAe,EAAE,YAA4B,EAAE,YAA0B,EAAE,KAAK,GAAG,IAAA,SAAM,GAAE,EAAY,EAAE;QACxH,MAAM,OAAO,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAa;YACzB,EAAE,EAAE,KAAK;YACT,OAAO;YACP,IAAI,EAAE,6CAAmB,CAAC,GAAG;YAC7B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,IAAA,0BAAmB,GAAE;SACnC,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAA;IAED,iBAAiB,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,QAAkB,EAAE,OAAe,EAAE,cAA2B,EAAE,IAAa,EAAgB,EAAE;QACrJ,OAAO;YACL,MAAM;YACN,OAAO;YACP,IAAI;YACJ,OAAO;YACP,OAAO,EAAE,cAAc;YACvB,QAAQ;SACT,CAAC;IACJ,CAAC,CAAA;CACF;AA3CD,0CA2CC"}