@adtrackify/at-service-common 3.1.53 → 3.1.54

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 (317) 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/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  9. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  10. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  11. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  12. package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
  13. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  14. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  15. package/dist/cjs/clients/generic/http-client.d.ts +14 -88
  16. package/dist/cjs/clients/generic/http-client.js +61 -60
  17. package/dist/cjs/clients/generic/http-client.js.map +1 -1
  18. package/dist/cjs/clients/generic/index.d.ts +10 -10
  19. package/dist/cjs/clients/generic/index.js +26 -26
  20. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  21. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  22. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  23. package/dist/cjs/clients/generic/location-client.js +31 -31
  24. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  25. package/dist/cjs/clients/generic/redis-client.js +128 -128
  26. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  27. package/dist/cjs/clients/generic/s3-client.js +110 -110
  28. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  29. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  30. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  31. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  32. package/dist/cjs/clients/index.d.ts +3 -3
  33. package/dist/cjs/clients/index.js +19 -19
  34. package/dist/cjs/clients/internal-api/accounts-client.d.ts +67 -112
  35. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  36. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
  37. package/dist/cjs/clients/internal-api/cache-lambda-client.js +79 -79
  38. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  39. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  40. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  41. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  42. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  43. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  44. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  45. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  46. package/dist/cjs/clients/internal-api/index.d.ts +8 -8
  47. package/dist/cjs/clients/internal-api/index.js +24 -24
  48. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  49. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  50. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +32 -0
  51. package/dist/cjs/clients/internal-api/subscriptions-client.js +53 -0
  52. package/dist/cjs/clients/internal-api/subscriptions-client.js.map +1 -0
  53. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  54. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  55. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  56. package/dist/cjs/clients/third-party/index.js +17 -17
  57. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  58. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  59. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  60. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  61. package/dist/cjs/clients/third-party/shopify-client.d.ts +33 -198
  62. package/dist/cjs/clients/third-party/shopify-client.js +150 -150
  63. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  64. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  65. package/dist/cjs/helpers/index.d.ts +5 -5
  66. package/dist/cjs/helpers/index.js +21 -21
  67. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  68. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  69. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  70. package/dist/cjs/helpers/logging-helper.js +84 -84
  71. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  72. package/dist/cjs/helpers/response-helper.js +42 -42
  73. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  74. package/dist/cjs/helpers/shopify-helper.js +28 -28
  75. package/dist/cjs/index.d.ts +5 -5
  76. package/dist/cjs/index.js +21 -21
  77. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  78. package/dist/cjs/libs/clickId-parser.js +49 -49
  79. package/dist/cjs/libs/compression.d.ts +2 -2
  80. package/dist/cjs/libs/compression.js +33 -33
  81. package/dist/cjs/libs/crypto.d.ts +1 -1
  82. package/dist/cjs/libs/crypto.js +12 -12
  83. package/dist/cjs/libs/dates.d.ts +6 -6
  84. package/dist/cjs/libs/dates.js +31 -31
  85. package/dist/cjs/libs/http-error.d.ts +21 -21
  86. package/dist/cjs/libs/http-error.js +59 -59
  87. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  88. package/dist/cjs/libs/http-status-codes.js +62 -62
  89. package/dist/cjs/libs/index.d.ts +9 -9
  90. package/dist/cjs/libs/index.js +25 -25
  91. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  92. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  93. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  94. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  95. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  96. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  97. package/dist/cjs/libs/url.d.ts +1 -1
  98. package/dist/cjs/libs/url.js +13 -13
  99. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  100. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  101. package/dist/cjs/services/cache/index.d.ts +1 -1
  102. package/dist/cjs/services/cache/index.js +17 -17
  103. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  104. package/dist/cjs/services/cache/product-cache-service.js +68 -68
  105. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  106. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  107. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  108. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  109. package/dist/cjs/services/db/index.d.ts +7 -7
  110. package/dist/cjs/services/db/index.js +23 -23
  111. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  112. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  113. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  114. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  115. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  116. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  117. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  118. package/dist/cjs/services/db/shopify-products-cache-db-service.js +65 -65
  119. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  120. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  121. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  122. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  123. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  124. package/dist/cjs/services/generic-cache-service.js +33 -33
  125. package/dist/cjs/services/index.d.ts +8 -8
  126. package/dist/cjs/services/index.js +24 -24
  127. package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
  128. package/dist/cjs/services/ipdata-lookup-service.js +77 -77
  129. package/dist/cjs/services/log-event-service.d.ts +9 -9
  130. package/dist/cjs/services/log-event-service.js +56 -56
  131. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  132. package/dist/cjs/services/metric-event-service.js +49 -49
  133. package/dist/cjs/services/shopify/index.d.ts +3 -3
  134. package/dist/cjs/services/shopify/index.js +19 -19
  135. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  136. package/dist/cjs/services/shopify/products/index.js +17 -17
  137. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  138. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +103 -103
  139. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  140. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +137 -137
  141. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  142. package/dist/cjs/services/shopify/types/index.js +17 -17
  143. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  144. package/dist/cjs/services/shopify/types/product.js +9 -9
  145. package/dist/cjs/types/api-response.d.ts +6 -6
  146. package/dist/cjs/types/api-response.js +2 -2
  147. package/dist/cjs/types/index.d.ts +2 -2
  148. package/dist/cjs/types/index.js +18 -18
  149. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  150. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  151. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  152. package/dist/cjs/types/internal-events/index.js +17 -17
  153. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  154. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  155. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  156. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  157. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  158. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  159. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  160. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  161. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  162. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  163. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  164. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  165. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  166. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  167. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  168. package/dist/esm/clients/generic/cognito-client.js +204 -204
  169. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  170. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  171. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  172. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  173. package/dist/esm/clients/generic/http-client.d.ts +14 -88
  174. package/dist/esm/clients/generic/http-client.js +53 -52
  175. package/dist/esm/clients/generic/http-client.js.map +1 -1
  176. package/dist/esm/clients/generic/index.d.ts +10 -10
  177. package/dist/esm/clients/generic/index.js +10 -10
  178. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  179. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  180. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  181. package/dist/esm/clients/generic/location-client.js +27 -27
  182. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  183. package/dist/esm/clients/generic/redis-client.js +121 -121
  184. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  185. package/dist/esm/clients/generic/s3-client.js +106 -106
  186. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  187. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  188. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  189. package/dist/esm/clients/generic/sqs-client.js +32 -32
  190. package/dist/esm/clients/index.d.ts +3 -3
  191. package/dist/esm/clients/index.js +3 -3
  192. package/dist/esm/clients/internal-api/accounts-client.d.ts +67 -112
  193. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  194. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  195. package/dist/esm/clients/internal-api/cache-lambda-client.js +75 -75
  196. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  197. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  198. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  199. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  200. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  201. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  202. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  203. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  204. package/dist/esm/clients/internal-api/index.d.ts +8 -8
  205. package/dist/esm/clients/internal-api/index.js +8 -8
  206. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  207. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  208. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +32 -0
  209. package/dist/esm/clients/internal-api/subscriptions-client.js +46 -0
  210. package/dist/esm/clients/internal-api/subscriptions-client.js.map +1 -0
  211. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  212. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  213. package/dist/esm/clients/third-party/index.d.ts +1 -1
  214. package/dist/esm/clients/third-party/index.js +1 -1
  215. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  216. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  217. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  218. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  219. package/dist/esm/clients/third-party/shopify-client.d.ts +33 -198
  220. package/dist/esm/clients/third-party/shopify-client.js +146 -146
  221. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  222. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  223. package/dist/esm/helpers/index.d.ts +5 -5
  224. package/dist/esm/helpers/index.js +5 -5
  225. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  226. package/dist/esm/helpers/input-validation-helper.js +18 -18
  227. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  228. package/dist/esm/helpers/logging-helper.js +56 -56
  229. package/dist/esm/helpers/response-helper.d.ts +15 -15
  230. package/dist/esm/helpers/response-helper.js +36 -36
  231. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  232. package/dist/esm/helpers/shopify-helper.js +23 -23
  233. package/dist/esm/index.d.ts +5 -5
  234. package/dist/esm/index.js +5 -5
  235. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  236. package/dist/esm/libs/clickId-parser.js +45 -45
  237. package/dist/esm/libs/compression.d.ts +2 -2
  238. package/dist/esm/libs/compression.js +25 -25
  239. package/dist/esm/libs/crypto.d.ts +1 -1
  240. package/dist/esm/libs/crypto.js +5 -5
  241. package/dist/esm/libs/dates.d.ts +6 -6
  242. package/dist/esm/libs/dates.js +22 -22
  243. package/dist/esm/libs/http-error.d.ts +21 -21
  244. package/dist/esm/libs/http-error.js +55 -55
  245. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  246. package/dist/esm/libs/http-status-codes.js +59 -59
  247. package/dist/esm/libs/index.d.ts +9 -9
  248. package/dist/esm/libs/index.js +9 -9
  249. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  250. package/dist/esm/libs/referrer-parser/index.js +2 -2
  251. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  252. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  253. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  254. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  255. package/dist/esm/libs/url.d.ts +1 -1
  256. package/dist/esm/libs/url.js +9 -9
  257. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  258. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  259. package/dist/esm/services/cache/index.d.ts +1 -1
  260. package/dist/esm/services/cache/index.js +1 -1
  261. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  262. package/dist/esm/services/cache/product-cache-service.js +60 -60
  263. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  264. package/dist/esm/services/db/destinations-db-service.js +53 -53
  265. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  266. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  267. package/dist/esm/services/db/index.d.ts +7 -7
  268. package/dist/esm/services/db/index.js +7 -7
  269. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  270. package/dist/esm/services/db/log-events-db-service.js +168 -168
  271. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  272. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  273. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  274. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  275. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  276. package/dist/esm/services/db/shopify-products-cache-db-service.js +58 -58
  277. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  278. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  279. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  280. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  281. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  282. package/dist/esm/services/generic-cache-service.js +29 -29
  283. package/dist/esm/services/index.d.ts +8 -8
  284. package/dist/esm/services/index.js +8 -8
  285. package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
  286. package/dist/esm/services/ipdata-lookup-service.js +73 -73
  287. package/dist/esm/services/log-event-service.d.ts +9 -9
  288. package/dist/esm/services/log-event-service.js +52 -52
  289. package/dist/esm/services/metric-event-service.d.ts +9 -9
  290. package/dist/esm/services/metric-event-service.js +45 -45
  291. package/dist/esm/services/shopify/index.d.ts +3 -3
  292. package/dist/esm/services/shopify/index.js +3 -3
  293. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  294. package/dist/esm/services/shopify/products/index.js +1 -1
  295. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  296. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +99 -99
  297. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  298. package/dist/esm/services/shopify/shopify-graphql-transformer.js +134 -134
  299. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  300. package/dist/esm/services/shopify/types/index.js +1 -1
  301. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  302. package/dist/esm/services/shopify/types/product.js +6 -6
  303. package/dist/esm/types/api-response.d.ts +6 -6
  304. package/dist/esm/types/api-response.js +1 -1
  305. package/dist/esm/types/index.d.ts +2 -2
  306. package/dist/esm/types/index.js +2 -2
  307. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  308. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  309. package/dist/esm/types/internal-events/index.d.ts +1 -1
  310. package/dist/esm/types/internal-events/index.js +1 -1
  311. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  312. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  313. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  314. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  315. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  316. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  317. package/package.json +1 -1
@@ -1,16 +1,16 @@
1
- import { InternalProduct } from '../shopify/types/product';
2
- import { ProductCache } from '../cache';
3
- export interface ShopifyProductDynamoDbCache extends ProductCache {
4
- pixelId_productId: string;
5
- pixelId: string;
6
- productId: string;
7
- }
8
- export declare class ShopifyProductsCacheDbService {
9
- TABLE_NAME: string;
10
- KEY_NAME: string;
11
- private dynamoDbCacheTtlInSeconds;
12
- constructor(tableName: string, keyName: string, dynamoDbCacheTtlInSeconds: number);
13
- getProductFromDynamoDBCache: (pixelId: string, productId: string) => Promise<InternalProduct | undefined>;
14
- putProductInDynamoDBCache: (pixelId: string, productId: string, product: InternalProduct, ttlInSeconds?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
15
- private isProductCacheStale;
16
- }
1
+ import { InternalProduct } from '../shopify/types/product';
2
+ import { ProductCache } from '../cache';
3
+ export interface ShopifyProductDynamoDbCache extends ProductCache {
4
+ pixelId_productId: string;
5
+ pixelId: string;
6
+ productId: string;
7
+ }
8
+ export declare class ShopifyProductsCacheDbService {
9
+ TABLE_NAME: string;
10
+ KEY_NAME: string;
11
+ private dynamoDbCacheTtlInSeconds;
12
+ constructor(tableName: string, keyName: string, dynamoDbCacheTtlInSeconds: number);
13
+ getProductFromDynamoDBCache: (pixelId: string, productId: string) => Promise<InternalProduct | undefined>;
14
+ putProductInDynamoDBCache: (pixelId: string, productId: string, product: InternalProduct, ttlInSeconds?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
15
+ private isProductCacheStale;
16
+ }
@@ -1,66 +1,66 @@
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.ShopifyProductsCacheDbService = void 0;
7
- const clients_1 = require("../../clients");
8
- const libs_1 = require("../../libs");
9
- const luxon_1 = require("luxon");
10
- const helpers_1 = require("../../helpers");
11
- const crypto_1 = __importDefault(require("crypto"));
12
- const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
13
- class ShopifyProductsCacheDbService {
14
- TABLE_NAME;
15
- KEY_NAME;
16
- dynamoDbCacheTtlInSeconds;
17
- constructor(tableName, keyName, dynamoDbCacheTtlInSeconds) {
18
- this.TABLE_NAME = tableName;
19
- this.KEY_NAME = keyName;
20
- this.dynamoDbCacheTtlInSeconds = dynamoDbCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
21
- }
22
- getProductFromDynamoDBCache = async (pixelId, productId) => {
23
- try {
24
- const cachedProduct = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`);
25
- if (cachedProduct && !this.isProductCacheStale(cachedProduct)) {
26
- const product = (0, libs_1.decompressJSON)(cachedProduct.productCompressed);
27
- return product;
28
- }
29
- return undefined;
30
- }
31
- catch (error) {
32
- helpers_1.Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
33
- return undefined;
34
- }
35
- };
36
- putProductInDynamoDBCache = async (pixelId, productId, product, ttlInSeconds) => {
37
- const ttl = ttlInSeconds || this.dynamoDbCacheTtlInSeconds;
38
- const expiresAt = luxon_1.DateTime.utc().plus({ seconds: ttl }).toSeconds();
39
- const cachedAt = (0, libs_1.getCurrentTimestamp)();
40
- const cachedAtEpoch = luxon_1.DateTime.utc().toSeconds();
41
- const fullSha256 = crypto_1.default.createHash('sha256').update(JSON.stringify(product)).digest('hex');
42
- const noInventoryProduct = { ...product, totalInventory: undefined, variants: product?.variants?.map(variant => ({ ...variant, inventoryQuantity: undefined, inventoryItem: undefined })) };
43
- const noInventorySha256 = crypto_1.default.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
44
- const productCompressed = (0, libs_1.compressJSON)(product);
45
- const shopifyProductCache = {
46
- pixelId_productId: `${pixelId}_${productId}`,
47
- pixelId,
48
- productId,
49
- productCompressed,
50
- fullSha256,
51
- noInventorySha256,
52
- cachedAt,
53
- cachedAtEpoch,
54
- expiresAt
55
- };
56
- return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
57
- };
58
- isProductCacheStale = (cachedData) => {
59
- if (cachedData?.expiresAt && cachedData.expiresAt < luxon_1.DateTime.utc().toSeconds()) {
60
- return true;
61
- }
62
- return false;
63
- };
64
- }
65
- exports.ShopifyProductsCacheDbService = ShopifyProductsCacheDbService;
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.ShopifyProductsCacheDbService = void 0;
7
+ const clients_1 = require("../../clients");
8
+ const libs_1 = require("../../libs");
9
+ const luxon_1 = require("luxon");
10
+ const helpers_1 = require("../../helpers");
11
+ const crypto_1 = __importDefault(require("crypto"));
12
+ const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
13
+ class ShopifyProductsCacheDbService {
14
+ TABLE_NAME;
15
+ KEY_NAME;
16
+ dynamoDbCacheTtlInSeconds;
17
+ constructor(tableName, keyName, dynamoDbCacheTtlInSeconds) {
18
+ this.TABLE_NAME = tableName;
19
+ this.KEY_NAME = keyName;
20
+ this.dynamoDbCacheTtlInSeconds = dynamoDbCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
21
+ }
22
+ getProductFromDynamoDBCache = async (pixelId, productId) => {
23
+ try {
24
+ const cachedProduct = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`);
25
+ if (cachedProduct && !this.isProductCacheStale(cachedProduct)) {
26
+ const product = (0, libs_1.decompressJSON)(cachedProduct.productCompressed);
27
+ return product;
28
+ }
29
+ return undefined;
30
+ }
31
+ catch (error) {
32
+ helpers_1.Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
33
+ return undefined;
34
+ }
35
+ };
36
+ putProductInDynamoDBCache = async (pixelId, productId, product, ttlInSeconds) => {
37
+ const ttl = ttlInSeconds || this.dynamoDbCacheTtlInSeconds;
38
+ const expiresAt = luxon_1.DateTime.utc().plus({ seconds: ttl }).toSeconds();
39
+ const cachedAt = (0, libs_1.getCurrentTimestamp)();
40
+ const cachedAtEpoch = luxon_1.DateTime.utc().toSeconds();
41
+ const fullSha256 = crypto_1.default.createHash('sha256').update(JSON.stringify(product)).digest('hex');
42
+ const noInventoryProduct = { ...product, totalInventory: undefined, variants: product?.variants?.map(variant => ({ ...variant, inventoryQuantity: undefined, inventoryItem: undefined })) };
43
+ const noInventorySha256 = crypto_1.default.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
44
+ const productCompressed = (0, libs_1.compressJSON)(product);
45
+ const shopifyProductCache = {
46
+ pixelId_productId: `${pixelId}_${productId}`,
47
+ pixelId,
48
+ productId,
49
+ productCompressed,
50
+ fullSha256,
51
+ noInventorySha256,
52
+ cachedAt,
53
+ cachedAtEpoch,
54
+ expiresAt
55
+ };
56
+ return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
57
+ };
58
+ isProductCacheStale = (cachedData) => {
59
+ if (cachedData?.expiresAt && cachedData.expiresAt < luxon_1.DateTime.utc().toSeconds()) {
60
+ return true;
61
+ }
62
+ return false;
63
+ };
64
+ }
65
+ exports.ShopifyProductsCacheDbService = ShopifyProductsCacheDbService;
66
66
  //# sourceMappingURL=shopify-products-cache-db-service.js.map
@@ -1,20 +1,20 @@
1
- import { AdClickInfo, TrackingEvent, TrackingEventRecord } from '@adtrackify/at-tracking-event-types';
2
- export interface LatestSessionResponseData {
3
- pixelId?: string;
4
- identityId?: string;
5
- sessionId?: string;
6
- click?: AdClickInfo;
7
- }
8
- export declare class TrackingEventsDbService {
9
- TABLE_NAME: string;
10
- KEY_NAME: string;
11
- constructor(tableName: string);
12
- private processResult;
13
- private processResults;
14
- getLatestSessionByIpAddressUserAgent: (indexName: string, ipAddressUserAgent: string, hostname?: string) => Promise<LatestSessionResponseData>;
15
- getTrackingEventsByPixelIdEventName: (indexName: string, pixelId: string, eventName: string, limit?: number, afterCollectedAt?: string) => Promise<TrackingEventRecord[]>;
16
- getTrackingEventCountByPixelId: (indexName: string, pixelId: string, offsetInMinutes?: number) => Promise<number>;
17
- getTrackingEvent: (eventId: string) => Promise<TrackingEventRecord | null>;
18
- buildTrackingEventRecord: (trackingEvent: TrackingEvent, ttlInDays?: number) => TrackingEventRecord;
19
- putTrackingEvent: (trackingEvent: TrackingEvent, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null | undefined>;
20
- }
1
+ import { AdClickInfo, TrackingEvent, TrackingEventRecord } from '@adtrackify/at-tracking-event-types';
2
+ export interface LatestSessionResponseData {
3
+ pixelId?: string;
4
+ identityId?: string;
5
+ sessionId?: string;
6
+ click?: AdClickInfo;
7
+ }
8
+ export declare class TrackingEventsDbService {
9
+ TABLE_NAME: string;
10
+ KEY_NAME: string;
11
+ constructor(tableName: string);
12
+ private processResult;
13
+ private processResults;
14
+ getLatestSessionByIpAddressUserAgent: (indexName: string, ipAddressUserAgent: string, hostname?: string) => Promise<LatestSessionResponseData>;
15
+ getTrackingEventsByPixelIdEventName: (indexName: string, pixelId: string, eventName: string, limit?: number, afterCollectedAt?: string) => Promise<TrackingEventRecord[]>;
16
+ getTrackingEventCountByPixelId: (indexName: string, pixelId: string, offsetInMinutes?: number) => Promise<number>;
17
+ getTrackingEvent: (eventId: string) => Promise<TrackingEventRecord | null>;
18
+ buildTrackingEventRecord: (trackingEvent: TrackingEvent, ttlInDays?: number) => TrackingEventRecord;
19
+ putTrackingEvent: (trackingEvent: TrackingEvent, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null | undefined>;
20
+ }
@@ -1,163 +1,163 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrackingEventsDbService = void 0;
4
- const clients_1 = require("../../clients");
5
- const helpers_1 = require("../../helpers");
6
- const luxon_1 = require("luxon");
7
- const libs_1 = require("../../libs");
8
- class TrackingEventsDbService {
9
- TABLE_NAME;
10
- KEY_NAME = 'eventId';
11
- constructor(tableName) {
12
- this.TABLE_NAME = tableName;
13
- }
14
- processResult = (trackingEventRecord) => {
15
- if (trackingEventRecord?.trackingEventCompressed) {
16
- const trackingEventDecompressed = (0, libs_1.decompressJSON)(trackingEventRecord.trackingEventCompressed);
17
- if (trackingEventDecompressed) {
18
- trackingEventRecord.trackingEvent = trackingEventDecompressed;
19
- delete trackingEventRecord?.trackingEventCompressed;
20
- }
21
- }
22
- return trackingEventRecord;
23
- };
24
- processResults = (trackingEventRecords) => {
25
- return trackingEventRecords.map((trackingEventRecord) => this.processResult(trackingEventRecord));
26
- };
27
- getLatestSessionByIpAddressUserAgent = async (indexName, ipAddressUserAgent, hostname) => {
28
- try {
29
- const params = {
30
- TableName: this.TABLE_NAME,
31
- IndexName: indexName,
32
- KeyConditionExpression: 'ipAddressUserAgent = :ipAddressUserAgent',
33
- ExpressionAttributeValues: {
34
- ':ipAddressUserAgent': ipAddressUserAgent,
35
- },
36
- ScanIndexForward: false
37
- };
38
- const results = await clients_1.DynamoDbClient.query(params);
39
- let trackingEventRecord;
40
- if (results?.Items && results.Items.length > 0) {
41
- trackingEventRecord = results.Items.find((item) => {
42
- const _trackingEvent = item.trackingEvent;
43
- const _hostname = item?.hostname;
44
- if (hostname && _hostname === hostname && _trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
45
- return true;
46
- }
47
- else if (_trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
48
- return true;
49
- }
50
- else {
51
- return false;
52
- }
53
- });
54
- }
55
- if (trackingEventRecord) {
56
- trackingEventRecord = this.processResult(trackingEventRecord);
57
- const trackingEvent = trackingEventRecord.trackingEvent;
58
- return {
59
- pixelId: trackingEvent?.pixelId,
60
- identityId: trackingEvent.context?.identity?.identityId,
61
- sessionId: trackingEvent.context?.properties?.sessionId,
62
- click: trackingEvent.context?.properties?.click
63
- };
64
- }
65
- else {
66
- return {};
67
- }
68
- }
69
- catch (e) {
70
- helpers_1.Logger.error('Failed to getLastTrackingEventByIpAddressUserAgent', { e });
71
- return {};
72
- }
73
- };
74
- getTrackingEventsByPixelIdEventName = async (indexName, pixelId, eventName, limit, afterCollectedAt) => {
75
- const query = {
76
- TableName: this.TABLE_NAME,
77
- IndexName: indexName,
78
- KeyConditionExpression: 'pixelIdEventName = :pixelIdEventName',
79
- ExpressionAttributeValues: {
80
- ':pixelIdEventName': `${pixelId}_${eventName}`,
81
- },
82
- ScanIndexForward: false,
83
- };
84
- if (limit) {
85
- query.Limit = limit;
86
- }
87
- if (afterCollectedAt) {
88
- query.KeyConditionExpression += ' and collectedAt > :collectedAt';
89
- query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
90
- }
91
- const result = await clients_1.DynamoDbClient.query(query);
92
- const trackingEventRecords = (result?.Items ?? []);
93
- return this.processResults(trackingEventRecords);
94
- };
95
- getTrackingEventCountByPixelId = async (indexName, pixelId, offsetInMinutes = 30) => {
96
- try {
97
- const pastDateTime = luxon_1.DateTime.utc().minus({ minutes: offsetInMinutes }).toISO();
98
- const params = {
99
- TableName: this.TABLE_NAME,
100
- IndexName: indexName,
101
- KeyConditionExpression: 'pixelId = :pixelId and collectedAt > :collectedAt',
102
- ExpressionAttributeValues: {
103
- ':pixelId': pixelId,
104
- ':collectedAt': pastDateTime
105
- }
106
- };
107
- const results = await clients_1.DynamoDbClient.query(params);
108
- return results?.Items?.length ?? 0;
109
- }
110
- catch (e) {
111
- helpers_1.Logger.error('Failed to getTrackingEventCountByPixelId', { e });
112
- return 0;
113
- }
114
- };
115
- getTrackingEvent = async (eventId) => {
116
- try {
117
- let trackingEventRecord = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
118
- trackingEventRecord = this.processResult(trackingEventRecord);
119
- return trackingEventRecord;
120
- }
121
- catch (e) {
122
- helpers_1.Logger.error('Failed to getTrackingEvent', { e });
123
- return null;
124
- }
125
- };
126
- buildTrackingEventRecord = (trackingEvent, ttlInDays) => {
127
- const trackingEventCopy = JSON.parse(JSON.stringify(trackingEvent));
128
- delete trackingEventCopy?.context?.properties?.enrichment?.ipLookupResponse;
129
- const pageURL = trackingEventCopy?.context?.properties?.page?.url;
130
- const parsedPageURL = new URL(pageURL);
131
- const hostname = parsedPageURL?.hostname;
132
- const trackingEventsTableTTLDays = ttlInDays || 15;
133
- const expiredAt = luxon_1.DateTime.utc().plus({ days: trackingEventsTableTTLDays }).toSeconds();
134
- const trackingEventRecord = {
135
- eventId: trackingEventCopy.id,
136
- eventName: trackingEventCopy.name,
137
- pixelId: trackingEventCopy?.pixelId,
138
- pixelIdEventName: `${trackingEventCopy.pixelId}_${trackingEventCopy.name}`,
139
- ipAddressUserAgent: `${trackingEventCopy.context?.properties?.ipAddress}_${trackingEventCopy.context?.properties?.userAgent}`,
140
- hostname,
141
- identityId: trackingEventCopy?.context?.identity?.identityId,
142
- sessionId: trackingEventCopy?.context?.properties?.sessionId,
143
- collectedAt: trackingEventCopy.collectedAt,
144
- expiredAt,
145
- };
146
- const trackingEventCompressed = (0, libs_1.compressJSON)(trackingEventCopy);
147
- if (trackingEventCompressed) {
148
- trackingEventRecord.trackingEventCompressed = trackingEventCompressed;
149
- }
150
- else {
151
- trackingEventRecord.trackingEvent = trackingEventCopy;
152
- }
153
- return trackingEventRecord;
154
- };
155
- putTrackingEvent = async (trackingEvent, ttlInDays) => {
156
- if (!trackingEvent.context?.properties?.ipAddress || !trackingEvent.context?.properties?.userAgent)
157
- return;
158
- const trackingEventRecord = this.buildTrackingEventRecord(trackingEvent, ttlInDays);
159
- return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, trackingEventRecord);
160
- };
161
- }
162
- exports.TrackingEventsDbService = TrackingEventsDbService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackingEventsDbService = void 0;
4
+ const clients_1 = require("../../clients");
5
+ const helpers_1 = require("../../helpers");
6
+ const luxon_1 = require("luxon");
7
+ const libs_1 = require("../../libs");
8
+ class TrackingEventsDbService {
9
+ TABLE_NAME;
10
+ KEY_NAME = 'eventId';
11
+ constructor(tableName) {
12
+ this.TABLE_NAME = tableName;
13
+ }
14
+ processResult = (trackingEventRecord) => {
15
+ if (trackingEventRecord?.trackingEventCompressed) {
16
+ const trackingEventDecompressed = (0, libs_1.decompressJSON)(trackingEventRecord.trackingEventCompressed);
17
+ if (trackingEventDecompressed) {
18
+ trackingEventRecord.trackingEvent = trackingEventDecompressed;
19
+ delete trackingEventRecord?.trackingEventCompressed;
20
+ }
21
+ }
22
+ return trackingEventRecord;
23
+ };
24
+ processResults = (trackingEventRecords) => {
25
+ return trackingEventRecords.map((trackingEventRecord) => this.processResult(trackingEventRecord));
26
+ };
27
+ getLatestSessionByIpAddressUserAgent = async (indexName, ipAddressUserAgent, hostname) => {
28
+ try {
29
+ const params = {
30
+ TableName: this.TABLE_NAME,
31
+ IndexName: indexName,
32
+ KeyConditionExpression: 'ipAddressUserAgent = :ipAddressUserAgent',
33
+ ExpressionAttributeValues: {
34
+ ':ipAddressUserAgent': ipAddressUserAgent,
35
+ },
36
+ ScanIndexForward: false
37
+ };
38
+ const results = await clients_1.DynamoDbClient.query(params);
39
+ let trackingEventRecord;
40
+ if (results?.Items && results.Items.length > 0) {
41
+ trackingEventRecord = results.Items.find((item) => {
42
+ const _trackingEvent = item.trackingEvent;
43
+ const _hostname = item?.hostname;
44
+ if (hostname && _hostname === hostname && _trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
45
+ return true;
46
+ }
47
+ else if (_trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
48
+ return true;
49
+ }
50
+ else {
51
+ return false;
52
+ }
53
+ });
54
+ }
55
+ if (trackingEventRecord) {
56
+ trackingEventRecord = this.processResult(trackingEventRecord);
57
+ const trackingEvent = trackingEventRecord.trackingEvent;
58
+ return {
59
+ pixelId: trackingEvent?.pixelId,
60
+ identityId: trackingEvent.context?.identity?.identityId,
61
+ sessionId: trackingEvent.context?.properties?.sessionId,
62
+ click: trackingEvent.context?.properties?.click
63
+ };
64
+ }
65
+ else {
66
+ return {};
67
+ }
68
+ }
69
+ catch (e) {
70
+ helpers_1.Logger.error('Failed to getLastTrackingEventByIpAddressUserAgent', { e });
71
+ return {};
72
+ }
73
+ };
74
+ getTrackingEventsByPixelIdEventName = async (indexName, pixelId, eventName, limit, afterCollectedAt) => {
75
+ const query = {
76
+ TableName: this.TABLE_NAME,
77
+ IndexName: indexName,
78
+ KeyConditionExpression: 'pixelIdEventName = :pixelIdEventName',
79
+ ExpressionAttributeValues: {
80
+ ':pixelIdEventName': `${pixelId}_${eventName}`,
81
+ },
82
+ ScanIndexForward: false,
83
+ };
84
+ if (limit) {
85
+ query.Limit = limit;
86
+ }
87
+ if (afterCollectedAt) {
88
+ query.KeyConditionExpression += ' and collectedAt > :collectedAt';
89
+ query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
90
+ }
91
+ const result = await clients_1.DynamoDbClient.query(query);
92
+ const trackingEventRecords = (result?.Items ?? []);
93
+ return this.processResults(trackingEventRecords);
94
+ };
95
+ getTrackingEventCountByPixelId = async (indexName, pixelId, offsetInMinutes = 30) => {
96
+ try {
97
+ const pastDateTime = luxon_1.DateTime.utc().minus({ minutes: offsetInMinutes }).toISO();
98
+ const params = {
99
+ TableName: this.TABLE_NAME,
100
+ IndexName: indexName,
101
+ KeyConditionExpression: 'pixelId = :pixelId and collectedAt > :collectedAt',
102
+ ExpressionAttributeValues: {
103
+ ':pixelId': pixelId,
104
+ ':collectedAt': pastDateTime
105
+ }
106
+ };
107
+ const results = await clients_1.DynamoDbClient.query(params);
108
+ return results?.Items?.length ?? 0;
109
+ }
110
+ catch (e) {
111
+ helpers_1.Logger.error('Failed to getTrackingEventCountByPixelId', { e });
112
+ return 0;
113
+ }
114
+ };
115
+ getTrackingEvent = async (eventId) => {
116
+ try {
117
+ let trackingEventRecord = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
118
+ trackingEventRecord = this.processResult(trackingEventRecord);
119
+ return trackingEventRecord;
120
+ }
121
+ catch (e) {
122
+ helpers_1.Logger.error('Failed to getTrackingEvent', { e });
123
+ return null;
124
+ }
125
+ };
126
+ buildTrackingEventRecord = (trackingEvent, ttlInDays) => {
127
+ const trackingEventCopy = JSON.parse(JSON.stringify(trackingEvent));
128
+ delete trackingEventCopy?.context?.properties?.enrichment?.ipLookupResponse;
129
+ const pageURL = trackingEventCopy?.context?.properties?.page?.url;
130
+ const parsedPageURL = new URL(pageURL);
131
+ const hostname = parsedPageURL?.hostname;
132
+ const trackingEventsTableTTLDays = ttlInDays || 15;
133
+ const expiredAt = luxon_1.DateTime.utc().plus({ days: trackingEventsTableTTLDays }).toSeconds();
134
+ const trackingEventRecord = {
135
+ eventId: trackingEventCopy.id,
136
+ eventName: trackingEventCopy.name,
137
+ pixelId: trackingEventCopy?.pixelId,
138
+ pixelIdEventName: `${trackingEventCopy.pixelId}_${trackingEventCopy.name}`,
139
+ ipAddressUserAgent: `${trackingEventCopy.context?.properties?.ipAddress}_${trackingEventCopy.context?.properties?.userAgent}`,
140
+ hostname,
141
+ identityId: trackingEventCopy?.context?.identity?.identityId,
142
+ sessionId: trackingEventCopy?.context?.properties?.sessionId,
143
+ collectedAt: trackingEventCopy.collectedAt,
144
+ expiredAt,
145
+ };
146
+ const trackingEventCompressed = (0, libs_1.compressJSON)(trackingEventCopy);
147
+ if (trackingEventCompressed) {
148
+ trackingEventRecord.trackingEventCompressed = trackingEventCompressed;
149
+ }
150
+ else {
151
+ trackingEventRecord.trackingEvent = trackingEventCopy;
152
+ }
153
+ return trackingEventRecord;
154
+ };
155
+ putTrackingEvent = async (trackingEvent, ttlInDays) => {
156
+ if (!trackingEvent.context?.properties?.ipAddress || !trackingEvent.context?.properties?.userAgent)
157
+ return;
158
+ const trackingEventRecord = this.buildTrackingEventRecord(trackingEvent, ttlInDays);
159
+ return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, trackingEventRecord);
160
+ };
161
+ }
162
+ exports.TrackingEventsDbService = TrackingEventsDbService;
163
163
  //# sourceMappingURL=tracking-events-db-service.js.map
@@ -1,9 +1,9 @@
1
- import { EventBridgeClient } from '../clients/generic/eventbridge-client.js';
2
- import { Message, TemplatedMessage } from 'postmark';
3
- export declare class EventBridgeIntegrationService {
4
- eventBridgeClient: EventBridgeClient;
5
- EVENT_BUS_NAME: string;
6
- constructor(eventBusName: string);
7
- sendPostmarkEmailEvent: (eventSource: string, postmarkMessage: Message, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
8
- sendPostmarkTemplatedEmailEvent: (eventSource: string, postmarkMessage: TemplatedMessage, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
9
- }
1
+ import { EventBridgeClient } from '../clients/generic/eventbridge-client.js';
2
+ import { Message, TemplatedMessage } from 'postmark';
3
+ export declare class EventBridgeIntegrationService {
4
+ eventBridgeClient: EventBridgeClient;
5
+ EVENT_BUS_NAME: string;
6
+ constructor(eventBusName: string);
7
+ sendPostmarkEmailEvent: (eventSource: string, postmarkMessage: Message, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
8
+ sendPostmarkTemplatedEmailEvent: (eventSource: string, postmarkMessage: TemplatedMessage, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
9
+ }
@@ -1,29 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventBridgeIntegrationService = void 0;
4
- const eventbridge_client_js_1 = require("../clients/generic/eventbridge-client.js");
5
- const event_detail_types_js_1 = require("../types/internal-events/event-detail-types.js");
6
- class EventBridgeIntegrationService {
7
- eventBridgeClient;
8
- EVENT_BUS_NAME;
9
- constructor(eventBusName) {
10
- this.eventBridgeClient = new eventbridge_client_js_1.EventBridgeClient(eventBusName);
11
- this.EVENT_BUS_NAME = eventBusName;
12
- }
13
- sendPostmarkEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
14
- return await this.eventBridgeClient.buildAndSendEvent(eventSource, event_detail_types_js_1.ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
15
- postmarkMessage,
16
- postmarkRequestType: event_detail_types_js_1.PostmarkRequestType.SINGLE_EMAIL,
17
- postmarkServerToken
18
- });
19
- };
20
- sendPostmarkTemplatedEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
21
- return await this.eventBridgeClient.buildAndSendEvent(eventSource, event_detail_types_js_1.ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
22
- postmarkMessage,
23
- postmarkRequestType: event_detail_types_js_1.PostmarkRequestType.TEMPLATE_EMAIL,
24
- postmarkServerToken
25
- });
26
- };
27
- }
28
- exports.EventBridgeIntegrationService = EventBridgeIntegrationService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventBridgeIntegrationService = void 0;
4
+ const eventbridge_client_js_1 = require("../clients/generic/eventbridge-client.js");
5
+ const event_detail_types_js_1 = require("../types/internal-events/event-detail-types.js");
6
+ class EventBridgeIntegrationService {
7
+ eventBridgeClient;
8
+ EVENT_BUS_NAME;
9
+ constructor(eventBusName) {
10
+ this.eventBridgeClient = new eventbridge_client_js_1.EventBridgeClient(eventBusName);
11
+ this.EVENT_BUS_NAME = eventBusName;
12
+ }
13
+ sendPostmarkEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
14
+ return await this.eventBridgeClient.buildAndSendEvent(eventSource, event_detail_types_js_1.ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
15
+ postmarkMessage,
16
+ postmarkRequestType: event_detail_types_js_1.PostmarkRequestType.SINGLE_EMAIL,
17
+ postmarkServerToken
18
+ });
19
+ };
20
+ sendPostmarkTemplatedEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
21
+ return await this.eventBridgeClient.buildAndSendEvent(eventSource, event_detail_types_js_1.ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
22
+ postmarkMessage,
23
+ postmarkRequestType: event_detail_types_js_1.PostmarkRequestType.TEMPLATE_EMAIL,
24
+ postmarkServerToken
25
+ });
26
+ };
27
+ }
28
+ exports.EventBridgeIntegrationService = EventBridgeIntegrationService;
29
29
  //# sourceMappingURL=eventbridge-integration-service.js.map
@@ -1,7 +1,7 @@
1
- export declare class GenericCacheService {
2
- private cacheLambdaClient;
3
- constructor(cacheLambdaFunctionArn: string);
4
- getCachedData: <T>(cacheKey: string) => Promise<T | undefined>;
5
- putCachedData: <T>(cacheKey: string, data: T, ttlInSeconds?: number) => Promise<void>;
6
- deleteCachedData: (cacheKey: string) => Promise<void>;
7
- }
1
+ export declare class GenericCacheService {
2
+ private cacheLambdaClient;
3
+ constructor(cacheLambdaFunctionArn: string);
4
+ getCachedData: <T>(cacheKey: string) => Promise<T | undefined>;
5
+ putCachedData: <T>(cacheKey: string, data: T, ttlInSeconds?: number) => Promise<void>;
6
+ deleteCachedData: (cacheKey: string) => Promise<void>;
7
+ }