@adtrackify/at-service-common 3.4.9 → 3.4.11

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 (401) hide show
  1. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +200 -200
  3. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +662 -662
  5. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js.map +1 -1
  6. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  7. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  8. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  9. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  10. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  11. package/dist/cjs/__tests__/libs/dates.spec.js +132 -132
  12. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  13. package/dist/cjs/__tests__/libs/domain.spec.js +107 -173
  14. package/dist/cjs/__tests__/libs/domain.spec.js.map +1 -1
  15. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  16. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  17. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  18. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  19. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  20. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  21. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  22. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  23. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  24. package/dist/cjs/clients/generic/dynamodb-client.js +170 -170
  25. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  26. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  27. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  28. package/dist/cjs/clients/generic/http-client.js +61 -61
  29. package/dist/cjs/clients/generic/index.d.ts +10 -10
  30. package/dist/cjs/clients/generic/index.js +26 -26
  31. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  32. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  33. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  34. package/dist/cjs/clients/generic/location-client.js +31 -31
  35. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  36. package/dist/cjs/clients/generic/redis-client.js +128 -128
  37. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  38. package/dist/cjs/clients/generic/s3-client.js +198 -198
  39. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  40. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  41. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  42. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  43. package/dist/cjs/clients/index.d.ts +3 -3
  44. package/dist/cjs/clients/index.js +19 -19
  45. package/dist/cjs/clients/internal-api/accounts-client.d.ts +83 -83
  46. package/dist/cjs/clients/internal-api/accounts-client.js +107 -107
  47. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
  48. package/dist/cjs/clients/internal-api/cache-lambda-client.js +79 -79
  49. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  50. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  51. package/dist/cjs/clients/internal-api/destinations-client.d.ts +27 -27
  52. package/dist/cjs/clients/internal-api/destinations-client.js +51 -51
  53. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  54. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  55. package/dist/cjs/clients/internal-api/identity-client.d.ts +32 -32
  56. package/dist/cjs/clients/internal-api/identity-client.js +99 -99
  57. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  58. package/dist/cjs/clients/internal-api/index.js +25 -25
  59. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  60. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +68 -68
  61. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +23 -23
  62. package/dist/cjs/clients/internal-api/subscriptions-client.js +58 -58
  63. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  64. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  65. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  66. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  67. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  68. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  69. package/dist/cjs/clients/third-party/index.d.ts +2 -2
  70. package/dist/cjs/clients/third-party/index.js +18 -18
  71. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  72. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  73. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  74. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  75. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  76. package/dist/cjs/clients/third-party/shopify-client.js +144 -144
  77. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  78. package/dist/cjs/helpers/account-users-helper.js +22 -22
  79. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  80. package/dist/cjs/helpers/identity-cache-helper.js +157 -157
  81. package/dist/cjs/helpers/index.d.ts +6 -6
  82. package/dist/cjs/helpers/index.js +22 -22
  83. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  84. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  85. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  86. package/dist/cjs/helpers/logging-helper.js +84 -84
  87. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  88. package/dist/cjs/helpers/response-helper.js +42 -42
  89. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  90. package/dist/cjs/helpers/shopify-helper.js +28 -28
  91. package/dist/cjs/index.d.ts +5 -5
  92. package/dist/cjs/index.js +21 -21
  93. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  94. package/dist/cjs/libs/click-id-parser.js +49 -49
  95. package/dist/cjs/libs/compression.d.ts +2 -2
  96. package/dist/cjs/libs/compression.js +33 -33
  97. package/dist/cjs/libs/cookie.d.ts +11 -11
  98. package/dist/cjs/libs/cookie.js +65 -65
  99. package/dist/cjs/libs/crypto.d.ts +2 -2
  100. package/dist/cjs/libs/crypto.js +16 -16
  101. package/dist/cjs/libs/csv.d.ts +2 -2
  102. package/dist/cjs/libs/csv.js +35 -35
  103. package/dist/cjs/libs/currency.d.ts +1 -1
  104. package/dist/cjs/libs/currency.js +24 -24
  105. package/dist/cjs/libs/dates.d.ts +12 -12
  106. package/dist/cjs/libs/dates.js +96 -96
  107. package/dist/cjs/libs/domain.d.ts +2 -2
  108. package/dist/cjs/libs/domain.js +38 -36
  109. package/dist/cjs/libs/domain.js.map +1 -1
  110. package/dist/cjs/libs/http-error.d.ts +21 -21
  111. package/dist/cjs/libs/http-error.js +59 -59
  112. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  113. package/dist/cjs/libs/http-status-codes.js +62 -62
  114. package/dist/cjs/libs/index.d.ts +16 -16
  115. package/dist/cjs/libs/index.js +32 -32
  116. package/dist/cjs/libs/numbers.d.ts +1 -1
  117. package/dist/cjs/libs/numbers.js +15 -15
  118. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  119. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  120. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  121. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  122. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  123. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  124. package/dist/cjs/libs/strings.d.ts +3 -3
  125. package/dist/cjs/libs/strings.js +46 -46
  126. package/dist/cjs/libs/traits.d.ts +2 -2
  127. package/dist/cjs/libs/traits.js +19 -19
  128. package/dist/cjs/libs/url.d.ts +1 -1
  129. package/dist/cjs/libs/url.js +13 -13
  130. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  131. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  132. package/dist/cjs/services/cache/index.d.ts +1 -1
  133. package/dist/cjs/services/cache/index.js +17 -17
  134. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  135. package/dist/cjs/services/cache/product-cache-service.js +68 -68
  136. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  137. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +50 -50
  138. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  139. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  140. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  141. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  142. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  143. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  144. package/dist/cjs/services/db/index.d.ts +9 -9
  145. package/dist/cjs/services/db/index.js +25 -25
  146. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  147. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  148. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  149. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  150. package/dist/cjs/services/db/purchasable-contacts-db-service.js.map +1 -1
  151. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +11 -11
  152. package/dist/cjs/services/db/purchased-contacts-db-service.js +67 -67
  153. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  154. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  155. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  156. package/dist/cjs/services/db/shopify-products-cache-db-service.js +65 -65
  157. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  158. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  159. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  160. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  161. package/dist/cjs/services/events/index.d.ts +3 -3
  162. package/dist/cjs/services/events/index.js +19 -19
  163. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  164. package/dist/cjs/services/events/log-event-service.js +56 -56
  165. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  166. package/dist/cjs/services/events/metric-event-service.js +49 -49
  167. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  168. package/dist/cjs/services/events/tracking-event-sqs-service.js +29 -29
  169. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  170. package/dist/cjs/services/generic-cache-service.js +33 -33
  171. package/dist/cjs/services/index.d.ts +8 -8
  172. package/dist/cjs/services/index.js +24 -24
  173. package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
  174. package/dist/cjs/services/ipdata-lookup-service.js +77 -77
  175. package/dist/cjs/services/shopify/index.d.ts +3 -3
  176. package/dist/cjs/services/shopify/index.js +19 -19
  177. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  178. package/dist/cjs/services/shopify/products/index.js +17 -17
  179. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  180. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +103 -103
  181. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  182. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +137 -137
  183. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  184. package/dist/cjs/services/shopify/types/index.js +17 -17
  185. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  186. package/dist/cjs/services/shopify/types/product.js +9 -9
  187. package/dist/cjs/types/api-response.d.ts +6 -6
  188. package/dist/cjs/types/api-response.js +2 -2
  189. package/dist/cjs/types/index.d.ts +2 -2
  190. package/dist/cjs/types/index.js +18 -18
  191. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  192. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  193. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  194. package/dist/cjs/types/internal-events/index.js +17 -17
  195. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  196. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  197. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  198. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  199. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  200. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  201. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  202. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +198 -198
  203. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  204. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +660 -660
  205. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js.map +1 -1
  206. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  207. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  208. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  209. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  210. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  211. package/dist/esm/__tests__/libs/dates.spec.js +130 -130
  212. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  213. package/dist/esm/__tests__/libs/domain.spec.js +105 -171
  214. package/dist/esm/__tests__/libs/domain.spec.js.map +1 -1
  215. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  216. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  217. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  218. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  219. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  220. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  221. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  222. package/dist/esm/clients/generic/cognito-client.js +204 -204
  223. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  224. package/dist/esm/clients/generic/dynamodb-client.js +166 -166
  225. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  226. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  227. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  228. package/dist/esm/clients/generic/http-client.js +53 -53
  229. package/dist/esm/clients/generic/index.d.ts +10 -10
  230. package/dist/esm/clients/generic/index.js +10 -10
  231. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  232. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  233. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  234. package/dist/esm/clients/generic/location-client.js +27 -27
  235. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  236. package/dist/esm/clients/generic/redis-client.js +121 -121
  237. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  238. package/dist/esm/clients/generic/s3-client.js +191 -191
  239. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  240. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  241. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  242. package/dist/esm/clients/generic/sqs-client.js +32 -32
  243. package/dist/esm/clients/index.d.ts +3 -3
  244. package/dist/esm/clients/index.js +3 -3
  245. package/dist/esm/clients/internal-api/accounts-client.d.ts +83 -83
  246. package/dist/esm/clients/internal-api/accounts-client.js +103 -103
  247. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  248. package/dist/esm/clients/internal-api/cache-lambda-client.js +75 -75
  249. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  250. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  251. package/dist/esm/clients/internal-api/destinations-client.d.ts +27 -27
  252. package/dist/esm/clients/internal-api/destinations-client.js +47 -47
  253. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  254. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  255. package/dist/esm/clients/internal-api/identity-client.d.ts +32 -32
  256. package/dist/esm/clients/internal-api/identity-client.js +95 -95
  257. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  258. package/dist/esm/clients/internal-api/index.js +9 -9
  259. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  260. package/dist/esm/clients/internal-api/shopify-app-install-client.js +64 -64
  261. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +23 -23
  262. package/dist/esm/clients/internal-api/subscriptions-client.js +54 -54
  263. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  264. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  265. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  266. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  267. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  268. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  269. package/dist/esm/clients/third-party/index.d.ts +2 -2
  270. package/dist/esm/clients/third-party/index.js +2 -2
  271. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  272. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  273. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  274. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  275. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  276. package/dist/esm/clients/third-party/shopify-client.js +140 -140
  277. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  278. package/dist/esm/helpers/account-users-helper.js +18 -18
  279. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  280. package/dist/esm/helpers/identity-cache-helper.js +152 -152
  281. package/dist/esm/helpers/index.d.ts +6 -6
  282. package/dist/esm/helpers/index.js +6 -6
  283. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  284. package/dist/esm/helpers/input-validation-helper.js +18 -18
  285. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  286. package/dist/esm/helpers/logging-helper.js +56 -56
  287. package/dist/esm/helpers/response-helper.d.ts +15 -15
  288. package/dist/esm/helpers/response-helper.js +36 -36
  289. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  290. package/dist/esm/helpers/shopify-helper.js +23 -23
  291. package/dist/esm/index.d.ts +5 -5
  292. package/dist/esm/index.js +5 -5
  293. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  294. package/dist/esm/libs/click-id-parser.js +45 -45
  295. package/dist/esm/libs/compression.d.ts +2 -2
  296. package/dist/esm/libs/compression.js +25 -25
  297. package/dist/esm/libs/cookie.d.ts +11 -11
  298. package/dist/esm/libs/cookie.js +59 -59
  299. package/dist/esm/libs/crypto.d.ts +2 -2
  300. package/dist/esm/libs/crypto.js +8 -8
  301. package/dist/esm/libs/csv.d.ts +2 -2
  302. package/dist/esm/libs/csv.js +30 -30
  303. package/dist/esm/libs/currency.d.ts +1 -1
  304. package/dist/esm/libs/currency.js +17 -17
  305. package/dist/esm/libs/dates.d.ts +12 -12
  306. package/dist/esm/libs/dates.js +83 -83
  307. package/dist/esm/libs/domain.d.ts +2 -2
  308. package/dist/esm/libs/domain.js +33 -31
  309. package/dist/esm/libs/domain.js.map +1 -1
  310. package/dist/esm/libs/http-error.d.ts +21 -21
  311. package/dist/esm/libs/http-error.js +55 -55
  312. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  313. package/dist/esm/libs/http-status-codes.js +59 -59
  314. package/dist/esm/libs/index.d.ts +16 -16
  315. package/dist/esm/libs/index.js +16 -16
  316. package/dist/esm/libs/numbers.d.ts +1 -1
  317. package/dist/esm/libs/numbers.js +11 -11
  318. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  319. package/dist/esm/libs/referrer-parser/index.js +2 -2
  320. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  321. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  322. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  323. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  324. package/dist/esm/libs/strings.d.ts +3 -3
  325. package/dist/esm/libs/strings.js +40 -40
  326. package/dist/esm/libs/traits.d.ts +2 -2
  327. package/dist/esm/libs/traits.js +12 -12
  328. package/dist/esm/libs/url.d.ts +1 -1
  329. package/dist/esm/libs/url.js +9 -9
  330. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  331. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  332. package/dist/esm/services/cache/index.d.ts +1 -1
  333. package/dist/esm/services/cache/index.js +1 -1
  334. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  335. package/dist/esm/services/cache/product-cache-service.js +60 -60
  336. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  337. package/dist/esm/services/currency-exchange-rate-lookup-service.js +46 -46
  338. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  339. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  340. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  341. package/dist/esm/services/db/destinations-db-service.js +53 -53
  342. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  343. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  344. package/dist/esm/services/db/index.d.ts +9 -9
  345. package/dist/esm/services/db/index.js +9 -9
  346. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  347. package/dist/esm/services/db/log-events-db-service.js +168 -168
  348. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  349. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  350. package/dist/esm/services/db/purchasable-contacts-db-service.js.map +1 -1
  351. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +11 -11
  352. package/dist/esm/services/db/purchased-contacts-db-service.js +63 -63
  353. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  354. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  355. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  356. package/dist/esm/services/db/shopify-products-cache-db-service.js +58 -58
  357. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  358. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  359. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  360. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  361. package/dist/esm/services/events/index.d.ts +3 -3
  362. package/dist/esm/services/events/index.js +3 -3
  363. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  364. package/dist/esm/services/events/log-event-service.js +52 -52
  365. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  366. package/dist/esm/services/events/metric-event-service.js +45 -45
  367. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  368. package/dist/esm/services/events/tracking-event-sqs-service.js +25 -25
  369. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  370. package/dist/esm/services/generic-cache-service.js +29 -29
  371. package/dist/esm/services/index.d.ts +8 -8
  372. package/dist/esm/services/index.js +8 -8
  373. package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
  374. package/dist/esm/services/ipdata-lookup-service.js +73 -73
  375. package/dist/esm/services/shopify/index.d.ts +3 -3
  376. package/dist/esm/services/shopify/index.js +3 -3
  377. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  378. package/dist/esm/services/shopify/products/index.js +1 -1
  379. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  380. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +99 -99
  381. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  382. package/dist/esm/services/shopify/shopify-graphql-transformer.js +134 -134
  383. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  384. package/dist/esm/services/shopify/types/index.js +1 -1
  385. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  386. package/dist/esm/services/shopify/types/product.js +6 -6
  387. package/dist/esm/types/api-response.d.ts +6 -6
  388. package/dist/esm/types/api-response.js +1 -1
  389. package/dist/esm/types/index.d.ts +2 -2
  390. package/dist/esm/types/index.js +2 -2
  391. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  392. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  393. package/dist/esm/types/internal-events/index.d.ts +1 -1
  394. package/dist/esm/types/internal-events/index.js +1 -1
  395. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  396. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  397. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  398. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  399. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  400. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  401. package/package.json +4 -3
@@ -1,48 +1,48 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ShopifyAppInstallsDbService = void 0;
4
- const clients_1 = require("../../clients");
5
- const helpers_1 = require("../../helpers");
6
- class ShopifyAppInstallsDbService {
7
- TABLE_NAME;
8
- constructor(tableName) {
9
- this.TABLE_NAME = tableName;
10
- }
11
- getShopifyAppInstallByShop = async (indexName, shop) => {
12
- try {
13
- const values = {
14
- ':shop': shop
15
- };
16
- const query = {
17
- TableName: this.TABLE_NAME,
18
- IndexName: indexName,
19
- KeyConditionExpression: 'shop = :shop',
20
- ExpressionAttributeValues: values
21
- };
22
- const shopifyAppInstalls = await clients_1.DynamoDbClient.queryAll(query);
23
- if (shopifyAppInstalls && shopifyAppInstalls.length > 0) {
24
- return shopifyAppInstalls[0];
25
- }
26
- return null;
27
- }
28
- catch (error) {
29
- helpers_1.Logger.error('failed to shopifyAppInstall by shop', { error, indexName, shop });
30
- return null;
31
- }
32
- };
33
- getShopifyAppInstallByPixelId = async (indexName, pixelId) => {
34
- try {
35
- const shopifyAppInstalls = await clients_1.DynamoDbClient.safeQueryByGSI(this.TABLE_NAME, indexName, 'pixelId', pixelId);
36
- if (shopifyAppInstalls && shopifyAppInstalls?.length > 0) {
37
- return shopifyAppInstalls[0];
38
- }
39
- return null;
40
- }
41
- catch (error) {
42
- helpers_1.Logger.error('failed to fetch shopifyAppInstall by pixelId', { error, indexName, pixelId });
43
- return null;
44
- }
45
- };
46
- }
47
- exports.ShopifyAppInstallsDbService = ShopifyAppInstallsDbService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShopifyAppInstallsDbService = void 0;
4
+ const clients_1 = require("../../clients");
5
+ const helpers_1 = require("../../helpers");
6
+ class ShopifyAppInstallsDbService {
7
+ TABLE_NAME;
8
+ constructor(tableName) {
9
+ this.TABLE_NAME = tableName;
10
+ }
11
+ getShopifyAppInstallByShop = async (indexName, shop) => {
12
+ try {
13
+ const values = {
14
+ ':shop': shop
15
+ };
16
+ const query = {
17
+ TableName: this.TABLE_NAME,
18
+ IndexName: indexName,
19
+ KeyConditionExpression: 'shop = :shop',
20
+ ExpressionAttributeValues: values
21
+ };
22
+ const shopifyAppInstalls = await clients_1.DynamoDbClient.queryAll(query);
23
+ if (shopifyAppInstalls && shopifyAppInstalls.length > 0) {
24
+ return shopifyAppInstalls[0];
25
+ }
26
+ return null;
27
+ }
28
+ catch (error) {
29
+ helpers_1.Logger.error('failed to shopifyAppInstall by shop', { error, indexName, shop });
30
+ return null;
31
+ }
32
+ };
33
+ getShopifyAppInstallByPixelId = async (indexName, pixelId) => {
34
+ try {
35
+ const shopifyAppInstalls = await clients_1.DynamoDbClient.safeQueryByGSI(this.TABLE_NAME, indexName, 'pixelId', pixelId);
36
+ if (shopifyAppInstalls && shopifyAppInstalls?.length > 0) {
37
+ return shopifyAppInstalls[0];
38
+ }
39
+ return null;
40
+ }
41
+ catch (error) {
42
+ helpers_1.Logger.error('failed to fetch shopifyAppInstall by pixelId', { error, indexName, pixelId });
43
+ return null;
44
+ }
45
+ };
46
+ }
47
+ exports.ShopifyAppInstallsDbService = ShopifyAppInstallsDbService;
48
48
  //# sourceMappingURL=shopify-app-installs-db-service.js.map
@@ -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
+ }