@adtrackify/at-service-common 3.0.92 → 3.0.93

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 (247) hide show
  1. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +527 -527
  3. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  5. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  7. package/dist/cjs/clients/generic/cognito-client.d.ts +20 -20
  8. package/dist/cjs/clients/generic/cognito-client.js +164 -164
  9. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  10. package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
  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 +88 -88
  14. package/dist/cjs/clients/generic/http-client.js +60 -60
  15. package/dist/cjs/clients/generic/index.d.ts +10 -10
  16. package/dist/cjs/clients/generic/index.js +26 -26
  17. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  18. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  19. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  20. package/dist/cjs/clients/generic/location-client.js +31 -31
  21. package/dist/cjs/clients/generic/redis-client.d.ts +17 -17
  22. package/dist/cjs/clients/generic/redis-client.js +117 -117
  23. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  24. package/dist/cjs/clients/generic/s3-client.js +110 -110
  25. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  26. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  27. package/dist/cjs/clients/generic/sqs-client.d.ts +14 -14
  28. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  29. package/dist/cjs/clients/index.d.ts +3 -3
  30. package/dist/cjs/clients/index.js +19 -19
  31. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  32. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  33. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -23
  34. package/dist/cjs/clients/internal-api/cache-lambda-client.js +59 -59
  35. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  36. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  37. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  38. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  39. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  40. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  41. package/dist/cjs/clients/internal-api/identity-client.d.ts +17 -17
  42. package/dist/cjs/clients/internal-api/identity-client.js +75 -75
  43. package/dist/cjs/clients/internal-api/index.d.ts +8 -8
  44. package/dist/cjs/clients/internal-api/index.js +24 -24
  45. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  46. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  47. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  48. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  49. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  50. package/dist/cjs/clients/third-party/index.js +17 -17
  51. package/dist/cjs/clients/third-party/shopify-client.d.ts +198 -198
  52. package/dist/cjs/clients/third-party/shopify-client.js +150 -150
  53. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  54. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  55. package/dist/cjs/helpers/index.d.ts +5 -5
  56. package/dist/cjs/helpers/index.js +21 -21
  57. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  58. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  59. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  60. package/dist/cjs/helpers/logging-helper.js +84 -84
  61. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  62. package/dist/cjs/helpers/response-helper.js +42 -42
  63. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  64. package/dist/cjs/helpers/shopify-helper.js +28 -28
  65. package/dist/cjs/index.d.ts +5 -5
  66. package/dist/cjs/index.js +21 -21
  67. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  68. package/dist/cjs/libs/clickId-parser.js +49 -49
  69. package/dist/cjs/libs/compression.d.ts +2 -2
  70. package/dist/cjs/libs/compression.js +33 -33
  71. package/dist/cjs/libs/crypto.d.ts +1 -1
  72. package/dist/cjs/libs/crypto.js +12 -12
  73. package/dist/cjs/libs/dates.d.ts +6 -6
  74. package/dist/cjs/libs/dates.js +31 -31
  75. package/dist/cjs/libs/http-error.d.ts +21 -21
  76. package/dist/cjs/libs/http-error.js +59 -59
  77. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  78. package/dist/cjs/libs/http-status-codes.js +62 -62
  79. package/dist/cjs/libs/index.d.ts +9 -9
  80. package/dist/cjs/libs/index.js +25 -25
  81. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  82. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  83. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  84. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  85. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  86. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  87. package/dist/cjs/libs/url.d.ts +1 -1
  88. package/dist/cjs/libs/url.js +13 -13
  89. package/dist/cjs/services/db/destinations-db-service.d.ts +8 -8
  90. package/dist/cjs/services/db/destinations-db-service.js +47 -47
  91. package/dist/cjs/services/db/destinations-db-service.js.map +1 -1
  92. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  93. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  94. package/dist/cjs/services/db/index.d.ts +7 -7
  95. package/dist/cjs/services/db/index.js +23 -23
  96. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  97. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  98. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  99. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  100. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  101. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  102. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +9 -9
  103. package/dist/cjs/services/db/shopify-products-cache-db-service.js +64 -64
  104. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  105. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  106. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  107. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  108. package/dist/cjs/services/index.d.ts +5 -5
  109. package/dist/cjs/services/index.js +21 -21
  110. package/dist/cjs/services/ipdata-lookup-service.d.ts +17 -17
  111. package/dist/cjs/services/ipdata-lookup-service.js +71 -71
  112. package/dist/cjs/services/log-event-service.d.ts +9 -9
  113. package/dist/cjs/services/log-event-service.js +56 -56
  114. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  115. package/dist/cjs/services/metric-event-service.js +49 -49
  116. package/dist/cjs/types/api-response.d.ts +6 -6
  117. package/dist/cjs/types/api-response.js +2 -2
  118. package/dist/cjs/types/index.d.ts +1 -1
  119. package/dist/cjs/types/index.js +17 -17
  120. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  121. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  122. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  123. package/dist/cjs/types/internal-events/index.js +17 -17
  124. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  125. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  126. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  127. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  128. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  129. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  130. package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
  131. package/dist/esm/clients/generic/cognito-client.js +159 -159
  132. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  133. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  134. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  135. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  136. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  137. package/dist/esm/clients/generic/http-client.js +52 -52
  138. package/dist/esm/clients/generic/index.d.ts +10 -10
  139. package/dist/esm/clients/generic/index.js +10 -10
  140. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  141. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  142. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  143. package/dist/esm/clients/generic/location-client.js +27 -27
  144. package/dist/esm/clients/generic/redis-client.d.ts +17 -17
  145. package/dist/esm/clients/generic/redis-client.js +110 -110
  146. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  147. package/dist/esm/clients/generic/s3-client.js +106 -106
  148. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  149. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  150. package/dist/esm/clients/generic/sqs-client.d.ts +14 -14
  151. package/dist/esm/clients/generic/sqs-client.js +32 -32
  152. package/dist/esm/clients/index.d.ts +3 -3
  153. package/dist/esm/clients/index.js +3 -3
  154. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  155. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  156. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -23
  157. package/dist/esm/clients/internal-api/cache-lambda-client.js +55 -55
  158. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  159. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  160. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  161. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  162. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  163. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  164. package/dist/esm/clients/internal-api/identity-client.d.ts +17 -17
  165. package/dist/esm/clients/internal-api/identity-client.js +71 -71
  166. package/dist/esm/clients/internal-api/index.d.ts +8 -8
  167. package/dist/esm/clients/internal-api/index.js +8 -8
  168. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  169. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  170. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  171. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  172. package/dist/esm/clients/third-party/index.d.ts +1 -1
  173. package/dist/esm/clients/third-party/index.js +1 -1
  174. package/dist/esm/clients/third-party/shopify-client.d.ts +198 -198
  175. package/dist/esm/clients/third-party/shopify-client.js +146 -146
  176. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  177. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  178. package/dist/esm/helpers/index.d.ts +5 -5
  179. package/dist/esm/helpers/index.js +5 -5
  180. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  181. package/dist/esm/helpers/input-validation-helper.js +18 -18
  182. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  183. package/dist/esm/helpers/logging-helper.js +56 -56
  184. package/dist/esm/helpers/response-helper.d.ts +15 -15
  185. package/dist/esm/helpers/response-helper.js +36 -36
  186. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  187. package/dist/esm/helpers/shopify-helper.js +23 -23
  188. package/dist/esm/index.d.ts +5 -5
  189. package/dist/esm/index.js +5 -5
  190. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  191. package/dist/esm/libs/clickId-parser.js +45 -45
  192. package/dist/esm/libs/compression.d.ts +2 -2
  193. package/dist/esm/libs/compression.js +25 -25
  194. package/dist/esm/libs/crypto.d.ts +1 -1
  195. package/dist/esm/libs/crypto.js +5 -5
  196. package/dist/esm/libs/dates.d.ts +6 -6
  197. package/dist/esm/libs/dates.js +22 -22
  198. package/dist/esm/libs/http-error.d.ts +21 -21
  199. package/dist/esm/libs/http-error.js +55 -55
  200. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  201. package/dist/esm/libs/http-status-codes.js +59 -59
  202. package/dist/esm/libs/index.d.ts +9 -9
  203. package/dist/esm/libs/index.js +9 -9
  204. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  205. package/dist/esm/libs/referrer-parser/index.js +2 -2
  206. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  207. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  208. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  209. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  210. package/dist/esm/libs/url.d.ts +1 -1
  211. package/dist/esm/libs/url.js +9 -9
  212. package/dist/esm/services/db/destinations-db-service.d.ts +8 -8
  213. package/dist/esm/services/db/destinations-db-service.js +43 -43
  214. package/dist/esm/services/db/destinations-db-service.js.map +1 -1
  215. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  216. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  217. package/dist/esm/services/db/index.d.ts +7 -7
  218. package/dist/esm/services/db/index.js +7 -7
  219. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  220. package/dist/esm/services/db/log-events-db-service.js +168 -168
  221. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  222. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  223. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  224. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  225. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +9 -9
  226. package/dist/esm/services/db/shopify-products-cache-db-service.js +60 -60
  227. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  228. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  229. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  230. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  231. package/dist/esm/services/index.d.ts +5 -5
  232. package/dist/esm/services/index.js +5 -5
  233. package/dist/esm/services/ipdata-lookup-service.d.ts +17 -17
  234. package/dist/esm/services/ipdata-lookup-service.js +67 -67
  235. package/dist/esm/services/log-event-service.d.ts +9 -9
  236. package/dist/esm/services/log-event-service.js +52 -52
  237. package/dist/esm/services/metric-event-service.d.ts +9 -9
  238. package/dist/esm/services/metric-event-service.js +45 -45
  239. package/dist/esm/types/api-response.d.ts +6 -6
  240. package/dist/esm/types/api-response.js +1 -1
  241. package/dist/esm/types/index.d.ts +1 -1
  242. package/dist/esm/types/index.js +1 -1
  243. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  244. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  245. package/dist/esm/types/internal-events/index.d.ts +1 -1
  246. package/dist/esm/types/internal-events/index.js +1 -1
  247. package/package.json +1 -1
@@ -1,107 +1,107 @@
1
- import { ObjectCannedACL, S3 } from '@aws-sdk/client-s3';
2
- import { Logger } from '../../index.js';
3
- export class S3Client {
4
- s3;
5
- constructor(region = 'us-west-2') {
6
- this.s3 = new S3({ region });
7
- }
8
- async getObject(path, bucket) {
9
- try {
10
- const data = await this.s3.getObject({
11
- Bucket: bucket,
12
- Key: path
13
- });
14
- return data?.Body;
15
- }
16
- catch (error) {
17
- Logger.error('Failed to getObject', { bucket, path });
18
- }
19
- }
20
- async checkObjectExists(path, bucket) {
21
- try {
22
- const data = await this.s3.headObject({
23
- Bucket: bucket,
24
- Key: path,
25
- });
26
- const exists = data.$metadata.httpStatusCode === 200;
27
- return exists;
28
- }
29
- catch (error) {
30
- if (error.$metadata?.httpStatusCode === 404) {
31
- return false;
32
- }
33
- else if (error.$metadata?.httpStatusCode === 403) {
34
- return false;
35
- }
36
- else {
37
- Logger.error('checkObjectExists unknown error', { error });
38
- return false;
39
- }
40
- }
41
- }
42
- async checkAndUploadJson(path, bucket, jsonData, ACL = ObjectCannedACL.private, retryCount = 0, maxRetries = 5) {
43
- try {
44
- const checkObject = await this.checkObjectExists(path, bucket);
45
- let res = {};
46
- if (!checkObject) {
47
- res = await this.s3.putObject({
48
- ACL,
49
- Bucket: bucket,
50
- ContentType: 'application/json; charset=utf-8',
51
- Body: JSON.stringify(jsonData),
52
- Key: path
53
- });
54
- }
55
- return { status: true, response: res };
56
- }
57
- catch (error) {
58
- Logger.error('Error in s3 upload json', { error });
59
- if (retryCount < maxRetries) {
60
- retryCount++;
61
- Logger.warn('retrying to uploadJson', { path, bucket, jsonData, ACL, retryCount });
62
- await new Promise(resolve => setTimeout(resolve, 1000 * retryCount));
63
- return await this.uploadJson(path, bucket, jsonData, ACL, retryCount);
64
- }
65
- return { status: false, response: jsonData };
66
- }
67
- }
68
- async uploadJson(path, bucket, jsonData, ACL = ObjectCannedACL.private, retryCount = 0, maxRetries = 5, stringify = true) {
69
- try {
70
- const res = await this.s3.putObject({
71
- ACL,
72
- Bucket: bucket,
73
- ContentType: 'application/json; charset=utf-8',
74
- Body: stringify ? JSON.stringify(jsonData) : jsonData,
75
- Key: path
76
- });
77
- return { status: true, response: res };
78
- }
79
- catch (error) {
80
- Logger.error('Error in s3 upload json', { error });
81
- if (retryCount < maxRetries) {
82
- retryCount++;
83
- Logger.warn('retrying to uploadJson', { path, bucket, jsonData, ACL, retryCount });
84
- await new Promise(resolve => setTimeout(resolve, 1000 * retryCount));
85
- return await this.uploadJson(path, bucket, jsonData, ACL, retryCount);
86
- }
87
- return { status: false, response: jsonData };
88
- }
89
- }
90
- async moveObject(bucket, key, moveToKey) {
91
- try {
92
- await this.s3.copyObject({
93
- Bucket: bucket,
94
- CopySource: `${bucket}/${key}`,
95
- Key: moveToKey
96
- });
97
- await this.s3.deleteObject({
98
- Bucket: bucket,
99
- Key: key
100
- });
101
- }
102
- catch (error) {
103
- Logger.error('Failed to move s3 object', { error, bucket, key, moveToKey });
104
- }
105
- }
106
- }
1
+ import { ObjectCannedACL, S3 } from '@aws-sdk/client-s3';
2
+ import { Logger } from '../../index.js';
3
+ export class S3Client {
4
+ s3;
5
+ constructor(region = 'us-west-2') {
6
+ this.s3 = new S3({ region });
7
+ }
8
+ async getObject(path, bucket) {
9
+ try {
10
+ const data = await this.s3.getObject({
11
+ Bucket: bucket,
12
+ Key: path
13
+ });
14
+ return data?.Body;
15
+ }
16
+ catch (error) {
17
+ Logger.error('Failed to getObject', { bucket, path });
18
+ }
19
+ }
20
+ async checkObjectExists(path, bucket) {
21
+ try {
22
+ const data = await this.s3.headObject({
23
+ Bucket: bucket,
24
+ Key: path,
25
+ });
26
+ const exists = data.$metadata.httpStatusCode === 200;
27
+ return exists;
28
+ }
29
+ catch (error) {
30
+ if (error.$metadata?.httpStatusCode === 404) {
31
+ return false;
32
+ }
33
+ else if (error.$metadata?.httpStatusCode === 403) {
34
+ return false;
35
+ }
36
+ else {
37
+ Logger.error('checkObjectExists unknown error', { error });
38
+ return false;
39
+ }
40
+ }
41
+ }
42
+ async checkAndUploadJson(path, bucket, jsonData, ACL = ObjectCannedACL.private, retryCount = 0, maxRetries = 5) {
43
+ try {
44
+ const checkObject = await this.checkObjectExists(path, bucket);
45
+ let res = {};
46
+ if (!checkObject) {
47
+ res = await this.s3.putObject({
48
+ ACL,
49
+ Bucket: bucket,
50
+ ContentType: 'application/json; charset=utf-8',
51
+ Body: JSON.stringify(jsonData),
52
+ Key: path
53
+ });
54
+ }
55
+ return { status: true, response: res };
56
+ }
57
+ catch (error) {
58
+ Logger.error('Error in s3 upload json', { error });
59
+ if (retryCount < maxRetries) {
60
+ retryCount++;
61
+ Logger.warn('retrying to uploadJson', { path, bucket, jsonData, ACL, retryCount });
62
+ await new Promise(resolve => setTimeout(resolve, 1000 * retryCount));
63
+ return await this.uploadJson(path, bucket, jsonData, ACL, retryCount);
64
+ }
65
+ return { status: false, response: jsonData };
66
+ }
67
+ }
68
+ async uploadJson(path, bucket, jsonData, ACL = ObjectCannedACL.private, retryCount = 0, maxRetries = 5, stringify = true) {
69
+ try {
70
+ const res = await this.s3.putObject({
71
+ ACL,
72
+ Bucket: bucket,
73
+ ContentType: 'application/json; charset=utf-8',
74
+ Body: stringify ? JSON.stringify(jsonData) : jsonData,
75
+ Key: path
76
+ });
77
+ return { status: true, response: res };
78
+ }
79
+ catch (error) {
80
+ Logger.error('Error in s3 upload json', { error });
81
+ if (retryCount < maxRetries) {
82
+ retryCount++;
83
+ Logger.warn('retrying to uploadJson', { path, bucket, jsonData, ACL, retryCount });
84
+ await new Promise(resolve => setTimeout(resolve, 1000 * retryCount));
85
+ return await this.uploadJson(path, bucket, jsonData, ACL, retryCount);
86
+ }
87
+ return { status: false, response: jsonData };
88
+ }
89
+ }
90
+ async moveObject(bucket, key, moveToKey) {
91
+ try {
92
+ await this.s3.copyObject({
93
+ Bucket: bucket,
94
+ CopySource: `${bucket}/${key}`,
95
+ Key: moveToKey
96
+ });
97
+ await this.s3.deleteObject({
98
+ Bucket: bucket,
99
+ Key: key
100
+ });
101
+ }
102
+ catch (error) {
103
+ Logger.error('Failed to move s3 object', { error, bucket, key, moveToKey });
104
+ }
105
+ }
106
+ }
107
107
  //# sourceMappingURL=s3-client.js.map
@@ -1,14 +1,14 @@
1
- import * as mysql from 'mysql2/promise';
2
- export declare class SingleStoreDBClient {
3
- _pool: mysql.Pool;
4
- constructor(host: string, user: string, password: string, database: string, port: string);
5
- private getPool;
6
- private getConnection;
7
- executeQuery(query: string, values?: any): Promise<{
8
- rows: mysql.QueryResult;
9
- success: boolean;
10
- } | {
11
- success: boolean;
12
- rows?: undefined;
13
- }>;
14
- }
1
+ import * as mysql from 'mysql2/promise';
2
+ export declare class SingleStoreDBClient {
3
+ _pool: mysql.Pool;
4
+ constructor(host: string, user: string, password: string, database: string, port: string);
5
+ private getPool;
6
+ private getConnection;
7
+ executeQuery(query: string, values?: any): Promise<{
8
+ rows: mysql.QueryResult;
9
+ success: boolean;
10
+ } | {
11
+ success: boolean;
12
+ rows?: undefined;
13
+ }>;
14
+ }
@@ -1,41 +1,41 @@
1
- import * as mysql from 'mysql2/promise';
2
- import { Logger } from '../../helpers';
3
- export class SingleStoreDBClient {
4
- _pool;
5
- constructor(host, user, password, database, port) {
6
- if (!host || !user || !password || !database || !port) {
7
- throw new Error('SingleStore env values not found');
8
- }
9
- this._pool = this.getPool(host, user, password, database, port);
10
- }
11
- getPool(host, user, password, database, port) {
12
- let pool = null;
13
- pool = mysql.createPool({
14
- host: host,
15
- port: +port,
16
- user: user,
17
- password: password,
18
- database: database,
19
- multipleStatements: true,
20
- });
21
- return pool;
22
- }
23
- async getConnection() {
24
- return this._pool;
25
- }
26
- async executeQuery(query, values) {
27
- try {
28
- const pool = await this.getConnection();
29
- const [rows] = await pool.query(query, values);
30
- return { rows, success: true };
31
- }
32
- catch (error) {
33
- if (error?.sql) {
34
- error.sql = error.sql.substring(0, 1000);
35
- }
36
- Logger.error('Error executing query', { query: query?.substring(0, 1000), error });
37
- return { success: false };
38
- }
39
- }
40
- }
1
+ import * as mysql from 'mysql2/promise';
2
+ import { Logger } from '../../helpers';
3
+ export class SingleStoreDBClient {
4
+ _pool;
5
+ constructor(host, user, password, database, port) {
6
+ if (!host || !user || !password || !database || !port) {
7
+ throw new Error('SingleStore env values not found');
8
+ }
9
+ this._pool = this.getPool(host, user, password, database, port);
10
+ }
11
+ getPool(host, user, password, database, port) {
12
+ let pool = null;
13
+ pool = mysql.createPool({
14
+ host: host,
15
+ port: +port,
16
+ user: user,
17
+ password: password,
18
+ database: database,
19
+ multipleStatements: true,
20
+ });
21
+ return pool;
22
+ }
23
+ async getConnection() {
24
+ return this._pool;
25
+ }
26
+ async executeQuery(query, values) {
27
+ try {
28
+ const pool = await this.getConnection();
29
+ const [rows] = await pool.query(query, values);
30
+ return { rows, success: true };
31
+ }
32
+ catch (error) {
33
+ if (error?.sql) {
34
+ error.sql = error.sql.substring(0, 1000);
35
+ }
36
+ Logger.error('Error executing query', { query: query?.substring(0, 1000), error });
37
+ return { success: false };
38
+ }
39
+ }
40
+ }
41
41
  //# sourceMappingURL=singlestore-db-client.js.map
@@ -1,14 +1,14 @@
1
- import { SQS } from '@aws-sdk/client-sqs';
2
- export declare class SQSClient {
3
- sqs: SQS;
4
- queueUrl: string;
5
- constructor(region: string, accountId: string, queueName: string);
6
- buildAndSendMessage: (messageType: string, messageBody: any, deplaySeconds?: number) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>;
7
- buildMessage: (messageType: string, messageBody: any, messageId?: string, messageTime?: string) => {
8
- messageId: string;
9
- messageType: string;
10
- messageTime: string;
11
- messageBody: any;
12
- };
13
- sendMessage: (messageBody: any, delaySeconds?: number) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>;
14
- }
1
+ import { SQS } from '@aws-sdk/client-sqs';
2
+ export declare class SQSClient {
3
+ sqs: SQS;
4
+ queueUrl: string;
5
+ constructor(region: string, accountId: string, queueName: string);
6
+ buildAndSendMessage: (messageType: string, messageBody: any, deplaySeconds?: number) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>;
7
+ buildMessage: (messageType: string, messageBody: any, messageId?: string, messageTime?: string) => {
8
+ messageId: string;
9
+ messageType: string;
10
+ messageTime: string;
11
+ messageBody: any;
12
+ };
13
+ sendMessage: (messageBody: any, delaySeconds?: number) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>;
14
+ }
@@ -1,33 +1,33 @@
1
- import { SQS } from '@aws-sdk/client-sqs';
2
- import { v4 as uuidv4 } from 'uuid';
3
- import { getCurrentTimestamp } from '../../libs/dates.js';
4
- export class SQSClient {
5
- sqs;
6
- queueUrl;
7
- constructor(region, accountId, queueName) {
8
- this.sqs = new SQS({ region });
9
- this.queueUrl = `https://sqs.${region}.amazonaws.com/${accountId}/${queueName}`;
10
- }
11
- buildAndSendMessage = async (messageType, messageBody, deplaySeconds = 0) => {
12
- const message = this.buildMessage(messageType, messageBody);
13
- return await this.sendMessage(message, deplaySeconds);
14
- };
15
- buildMessage = (messageType, messageBody, messageId = uuidv4(), messageTime = getCurrentTimestamp()) => {
16
- return {
17
- messageId,
18
- messageType,
19
- messageTime,
20
- messageBody
21
- };
22
- };
23
- sendMessage = async (messageBody, delaySeconds = 0) => {
24
- const params = {
25
- QueueUrl: this.queueUrl,
26
- DelaySeconds: delaySeconds,
27
- MessageBody: JSON.stringify(messageBody)
28
- };
29
- const response = await this.sqs.sendMessage(params);
30
- return response;
31
- };
32
- }
1
+ import { SQS } from '@aws-sdk/client-sqs';
2
+ import { v4 as uuidv4 } from 'uuid';
3
+ import { getCurrentTimestamp } from '../../libs/dates.js';
4
+ export class SQSClient {
5
+ sqs;
6
+ queueUrl;
7
+ constructor(region, accountId, queueName) {
8
+ this.sqs = new SQS({ region });
9
+ this.queueUrl = `https://sqs.${region}.amazonaws.com/${accountId}/${queueName}`;
10
+ }
11
+ buildAndSendMessage = async (messageType, messageBody, deplaySeconds = 0) => {
12
+ const message = this.buildMessage(messageType, messageBody);
13
+ return await this.sendMessage(message, deplaySeconds);
14
+ };
15
+ buildMessage = (messageType, messageBody, messageId = uuidv4(), messageTime = getCurrentTimestamp()) => {
16
+ return {
17
+ messageId,
18
+ messageType,
19
+ messageTime,
20
+ messageBody
21
+ };
22
+ };
23
+ sendMessage = async (messageBody, delaySeconds = 0) => {
24
+ const params = {
25
+ QueueUrl: this.queueUrl,
26
+ DelaySeconds: delaySeconds,
27
+ MessageBody: JSON.stringify(messageBody)
28
+ };
29
+ const response = await this.sqs.sendMessage(params);
30
+ return response;
31
+ };
32
+ }
33
33
  //# sourceMappingURL=sqs-client.js.map
@@ -1,3 +1,3 @@
1
- export * from './generic/index.js';
2
- export * from './internal-api/index.js';
3
- export * from './third-party/index.js';
1
+ export * from './generic/index.js';
2
+ export * from './internal-api/index.js';
3
+ export * from './third-party/index.js';
@@ -1,4 +1,4 @@
1
- export * from './generic/index.js';
2
- export * from './internal-api/index.js';
3
- export * from './third-party/index.js';
1
+ export * from './generic/index.js';
2
+ export * from './internal-api/index.js';
3
+ export * from './third-party/index.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1,112 +1,112 @@
1
- import { ApiResponse } from '../../types/api-response.js';
2
- import { Account, ACCOUNT_STATUS, Destination, DESTINATION_TYPE, Pixel } from '@adtrackify/at-tracking-event-types';
3
- import { GenericHttpClient } from '../generic/http-client.js';
4
- export interface AccountResponseData {
5
- account: Account;
6
- [key: string]: any;
7
- }
8
- export interface IsAuthorizedUserResponseData {
9
- isAccountUser: boolean;
10
- [key: string]: any;
11
- }
12
- export interface PixelConfigurationResponseData {
13
- config: PixelConfig;
14
- }
15
- export interface OrdersConfig {
16
- blockedOrderSources: string[];
17
- }
18
- export interface PixelResponse {
19
- pixel: Pixel;
20
- }
21
- export interface PixelConfig {
22
- id: string;
23
- accountId: string;
24
- destinations: Destination[];
25
- ordersConfig: OrdersConfig;
26
- [key: string]: any;
27
- }
28
- export interface AddUserToAccountResponseData {
29
- userId: string;
30
- accountId: string;
31
- }
32
- export interface AccountUsersResponseData {
33
- users: string[];
34
- }
35
- export interface UpdateAccountRequest {
36
- accountName?: string;
37
- companyName?: string;
38
- primaryEmail?: string;
39
- ownerId?: string;
40
- subscriptionId?: string;
41
- accountStatus?: ACCOUNT_STATUS;
42
- }
43
- export interface AdminDisableAccountRequest {
44
- status: ACCOUNT_STATUS;
45
- disablingOn?: string;
46
- statusMessage?: string;
47
- }
48
- export declare class AccountsClient {
49
- BASE_API_URL: string;
50
- ACCOUNTS_API_KEY?: string;
51
- client: GenericHttpClient;
52
- constructor(baseApiUrl: string, accountsApiKey?: string);
53
- getConfig: () => any;
54
- getClient: () => GenericHttpClient;
55
- createAccount: (createAccountRequest: any) => Promise<{
56
- headers: any;
57
- data: any;
58
- status: any;
59
- } | {
60
- headers: any;
61
- data: any;
62
- status: any;
63
- } | {
64
- status: number;
65
- data: {
66
- message: string;
67
- error: any;
68
- };
69
- headers?: undefined;
70
- }>;
71
- updateAccount: (accountId: string, body: any) => Promise<ApiResponse<AccountResponseData>>;
72
- addOwner: (accountId: string, userId: string) => Promise<{
73
- headers: any;
74
- data: any;
75
- status: any;
76
- } | {
77
- headers: any;
78
- data: any;
79
- status: any;
80
- } | {
81
- status: number;
82
- data: {
83
- message: string;
84
- error: any;
85
- };
86
- headers?: undefined;
87
- }>;
88
- isAuthorizedUser: (userId: string, accountId: string, pixelId?: string) => Promise<ApiResponse<IsAuthorizedUserResponseData>>;
89
- adminDeleteAccount: (accountId: string) => Promise<{
90
- headers: any;
91
- data: any;
92
- status: any;
93
- } | {
94
- headers: any;
95
- data: any;
96
- status: any;
97
- } | {
98
- status: number;
99
- data: {
100
- message: string;
101
- error: any;
102
- };
103
- headers?: undefined;
104
- }>;
105
- getPixelConfigById: (pixelId: string, destinationType?: DESTINATION_TYPE) => Promise<ApiResponse<PixelConfigurationResponseData>>;
106
- getPixel: (pixelId: string) => Promise<ApiResponse<PixelResponse>>;
107
- getAccount: (accountId: string) => Promise<ApiResponse<AccountResponseData>>;
108
- getAccountPrivate: (accountId: string) => Promise<ApiResponse<AccountResponseData>>;
109
- addUserToAccount: (accountId: string, userId: string) => Promise<ApiResponse<AddUserToAccountResponseData>>;
110
- getAccountUsers: (accountId: string) => Promise<ApiResponse<AccountUsersResponseData>>;
111
- adminDisableAccount: (accountId: string, body: AdminDisableAccountRequest) => Promise<ApiResponse<AccountResponseData>>;
112
- }
1
+ import { ApiResponse } from '../../types/api-response.js';
2
+ import { Account, ACCOUNT_STATUS, Destination, DESTINATION_TYPE, Pixel } from '@adtrackify/at-tracking-event-types';
3
+ import { GenericHttpClient } from '../generic/http-client.js';
4
+ export interface AccountResponseData {
5
+ account: Account;
6
+ [key: string]: any;
7
+ }
8
+ export interface IsAuthorizedUserResponseData {
9
+ isAccountUser: boolean;
10
+ [key: string]: any;
11
+ }
12
+ export interface PixelConfigurationResponseData {
13
+ config: PixelConfig;
14
+ }
15
+ export interface OrdersConfig {
16
+ blockedOrderSources: string[];
17
+ }
18
+ export interface PixelResponse {
19
+ pixel: Pixel;
20
+ }
21
+ export interface PixelConfig {
22
+ id: string;
23
+ accountId: string;
24
+ destinations: Destination[];
25
+ ordersConfig: OrdersConfig;
26
+ [key: string]: any;
27
+ }
28
+ export interface AddUserToAccountResponseData {
29
+ userId: string;
30
+ accountId: string;
31
+ }
32
+ export interface AccountUsersResponseData {
33
+ users: string[];
34
+ }
35
+ export interface UpdateAccountRequest {
36
+ accountName?: string;
37
+ companyName?: string;
38
+ primaryEmail?: string;
39
+ ownerId?: string;
40
+ subscriptionId?: string;
41
+ accountStatus?: ACCOUNT_STATUS;
42
+ }
43
+ export interface AdminDisableAccountRequest {
44
+ status: ACCOUNT_STATUS;
45
+ disablingOn?: string;
46
+ statusMessage?: string;
47
+ }
48
+ export declare class AccountsClient {
49
+ BASE_API_URL: string;
50
+ ACCOUNTS_API_KEY?: string;
51
+ client: GenericHttpClient;
52
+ constructor(baseApiUrl: string, accountsApiKey?: string);
53
+ getConfig: () => any;
54
+ getClient: () => GenericHttpClient;
55
+ createAccount: (createAccountRequest: any) => Promise<{
56
+ headers: any;
57
+ data: any;
58
+ status: any;
59
+ } | {
60
+ headers: any;
61
+ data: any;
62
+ status: any;
63
+ } | {
64
+ status: number;
65
+ data: {
66
+ message: string;
67
+ error: any;
68
+ };
69
+ headers?: undefined;
70
+ }>;
71
+ updateAccount: (accountId: string, body: any) => Promise<ApiResponse<AccountResponseData>>;
72
+ addOwner: (accountId: string, userId: string) => Promise<{
73
+ headers: any;
74
+ data: any;
75
+ status: any;
76
+ } | {
77
+ headers: any;
78
+ data: any;
79
+ status: any;
80
+ } | {
81
+ status: number;
82
+ data: {
83
+ message: string;
84
+ error: any;
85
+ };
86
+ headers?: undefined;
87
+ }>;
88
+ isAuthorizedUser: (userId: string, accountId: string, pixelId?: string) => Promise<ApiResponse<IsAuthorizedUserResponseData>>;
89
+ adminDeleteAccount: (accountId: string) => Promise<{
90
+ headers: any;
91
+ data: any;
92
+ status: any;
93
+ } | {
94
+ headers: any;
95
+ data: any;
96
+ status: any;
97
+ } | {
98
+ status: number;
99
+ data: {
100
+ message: string;
101
+ error: any;
102
+ };
103
+ headers?: undefined;
104
+ }>;
105
+ getPixelConfigById: (pixelId: string, destinationType?: DESTINATION_TYPE) => Promise<ApiResponse<PixelConfigurationResponseData>>;
106
+ getPixel: (pixelId: string) => Promise<ApiResponse<PixelResponse>>;
107
+ getAccount: (accountId: string) => Promise<ApiResponse<AccountResponseData>>;
108
+ getAccountPrivate: (accountId: string) => Promise<ApiResponse<AccountResponseData>>;
109
+ addUserToAccount: (accountId: string, userId: string) => Promise<ApiResponse<AddUserToAccountResponseData>>;
110
+ getAccountUsers: (accountId: string) => Promise<ApiResponse<AccountUsersResponseData>>;
111
+ adminDisableAccount: (accountId: string, body: AdminDisableAccountRequest) => Promise<ApiResponse<AccountResponseData>>;
112
+ }