@adtrackify/at-service-common 3.7.1 → 3.8.1

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 (417) 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 +220 -220
  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 +674 -674
  5. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +588 -588
  7. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  9. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  10. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  11. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  12. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  13. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  14. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  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 +33 -33
  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 +51 -51
  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 +216 -216
  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 +27 -27
  42. package/dist/cjs/clients/generic/sqs-client.js +71 -71
  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 +85 -85
  46. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  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 +87 -87
  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 +34 -34
  52. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  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 +31 -31
  56. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  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 +37 -37
  60. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  61. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  62. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  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 +3 -3
  70. package/dist/cjs/clients/third-party/index.js +19 -19
  71. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  72. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  73. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  74. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  75. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  76. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +115 -115
  77. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  78. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  79. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  80. package/dist/cjs/helpers/account-users-helper.js +22 -22
  81. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  82. package/dist/cjs/helpers/identity-cache-helper.js +156 -156
  83. package/dist/cjs/helpers/index.d.ts +7 -7
  84. package/dist/cjs/helpers/index.js +23 -23
  85. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  86. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  87. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  88. package/dist/cjs/helpers/logging-helper.js +84 -84
  89. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  90. package/dist/cjs/helpers/response-helper.js +43 -43
  91. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  92. package/dist/cjs/helpers/shopify-helper.js +26 -26
  93. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  94. package/dist/cjs/helpers/sqs-utils.js +14 -14
  95. package/dist/cjs/index.d.ts +5 -5
  96. package/dist/cjs/index.js +21 -21
  97. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  98. package/dist/cjs/libs/click-id-parser.js +49 -49
  99. package/dist/cjs/libs/compression.d.ts +2 -2
  100. package/dist/cjs/libs/compression.js +33 -33
  101. package/dist/cjs/libs/cookie.d.ts +17 -17
  102. package/dist/cjs/libs/cookie.js +76 -76
  103. package/dist/cjs/libs/crypto.d.ts +3 -3
  104. package/dist/cjs/libs/crypto.js +20 -20
  105. package/dist/cjs/libs/csv.d.ts +2 -2
  106. package/dist/cjs/libs/csv.js +35 -35
  107. package/dist/cjs/libs/currency.d.ts +1 -1
  108. package/dist/cjs/libs/currency.js +29 -29
  109. package/dist/cjs/libs/dates.d.ts +12 -12
  110. package/dist/cjs/libs/dates.js +96 -96
  111. package/dist/cjs/libs/domain.d.ts +2 -2
  112. package/dist/cjs/libs/domain.js +38 -38
  113. package/dist/cjs/libs/emails.d.ts +6 -6
  114. package/dist/cjs/libs/emails.js +122 -122
  115. package/dist/cjs/libs/http-error.d.ts +21 -21
  116. package/dist/cjs/libs/http-error.js +63 -63
  117. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  118. package/dist/cjs/libs/http-status-codes.js +62 -62
  119. package/dist/cjs/libs/index.d.ts +17 -17
  120. package/dist/cjs/libs/index.js +33 -33
  121. package/dist/cjs/libs/numbers.d.ts +1 -1
  122. package/dist/cjs/libs/numbers.js +15 -15
  123. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  124. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  125. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  126. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  127. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  128. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  129. package/dist/cjs/libs/strings.d.ts +3 -3
  130. package/dist/cjs/libs/strings.js +46 -46
  131. package/dist/cjs/libs/traits.d.ts +6 -6
  132. package/dist/cjs/libs/traits.js +65 -65
  133. package/dist/cjs/libs/url.d.ts +1 -1
  134. package/dist/cjs/libs/url.js +13 -13
  135. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  136. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  137. package/dist/cjs/services/cache/index.d.ts +1 -1
  138. package/dist/cjs/services/cache/index.js +17 -17
  139. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  140. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  141. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  142. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
  143. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  144. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  145. package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
  146. package/dist/cjs/services/db/destinations-db-service.js +76 -76
  147. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  148. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  149. package/dist/cjs/services/db/index.d.ts +10 -9
  150. package/dist/cjs/services/db/index.js +26 -25
  151. package/dist/cjs/services/db/index.js.map +1 -1
  152. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  153. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  154. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -0
  155. package/dist/cjs/services/db/pixels-db-service.js +36 -0
  156. package/dist/cjs/services/db/pixels-db-service.js.map +1 -0
  157. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  158. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  159. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  160. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  161. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  162. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  163. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  164. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  165. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  166. package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
  167. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  168. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  169. package/dist/cjs/services/events/index.d.ts +3 -3
  170. package/dist/cjs/services/events/index.js +19 -19
  171. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  172. package/dist/cjs/services/events/log-event-service.js +56 -56
  173. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  174. package/dist/cjs/services/events/metric-event-service.js +49 -49
  175. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  176. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  177. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  178. package/dist/cjs/services/generic-cache-service.js +33 -33
  179. package/dist/cjs/services/index.d.ts +8 -8
  180. package/dist/cjs/services/index.js +24 -24
  181. package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
  182. package/dist/cjs/services/ipdata-lookup-service.js +77 -77
  183. package/dist/cjs/services/shopify/index.d.ts +3 -3
  184. package/dist/cjs/services/shopify/index.js +19 -19
  185. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  186. package/dist/cjs/services/shopify/products/index.js +17 -17
  187. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  188. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +114 -114
  189. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  190. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  191. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  192. package/dist/cjs/services/shopify/types/index.js +17 -17
  193. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  194. package/dist/cjs/services/shopify/types/product.js +9 -9
  195. package/dist/cjs/types/api-response.d.ts +6 -6
  196. package/dist/cjs/types/api-response.js +2 -2
  197. package/dist/cjs/types/index.d.ts +1 -1
  198. package/dist/cjs/types/index.js +17 -17
  199. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  200. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  201. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  202. package/dist/cjs/types/internal-events/index.js +17 -17
  203. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  204. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  205. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  206. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  207. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  208. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  209. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  210. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  211. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  212. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  213. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  214. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  215. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  216. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  217. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  218. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  219. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  220. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  221. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  222. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  223. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  224. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  225. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  226. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  227. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  228. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  229. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  230. package/dist/esm/clients/generic/cognito-client.js +204 -204
  231. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  232. package/dist/esm/clients/generic/dynamodb-client.js +166 -166
  233. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  234. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  235. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  236. package/dist/esm/clients/generic/http-client.js +53 -53
  237. package/dist/esm/clients/generic/index.d.ts +10 -10
  238. package/dist/esm/clients/generic/index.js +10 -10
  239. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  240. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  241. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  242. package/dist/esm/clients/generic/location-client.js +27 -27
  243. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  244. package/dist/esm/clients/generic/redis-client.js +121 -121
  245. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  246. package/dist/esm/clients/generic/s3-client.js +209 -209
  247. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  248. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  249. package/dist/esm/clients/generic/sqs-client.d.ts +27 -27
  250. package/dist/esm/clients/generic/sqs-client.js +67 -67
  251. package/dist/esm/clients/index.d.ts +3 -3
  252. package/dist/esm/clients/index.js +3 -3
  253. package/dist/esm/clients/internal-api/accounts-client.d.ts +85 -85
  254. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  255. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  256. package/dist/esm/clients/internal-api/cache-lambda-client.js +83 -83
  257. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  258. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  259. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  260. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  261. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  262. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  263. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  264. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  265. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  266. package/dist/esm/clients/internal-api/index.js +9 -9
  267. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  268. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  269. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  270. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  271. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  272. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  273. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  274. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  275. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  276. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  277. package/dist/esm/clients/third-party/index.d.ts +3 -3
  278. package/dist/esm/clients/third-party/index.js +3 -3
  279. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  280. package/dist/esm/clients/third-party/loops-client.js +26 -26
  281. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  282. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  283. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  284. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +111 -111
  285. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  286. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  287. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  288. package/dist/esm/helpers/account-users-helper.js +18 -18
  289. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  290. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  291. package/dist/esm/helpers/index.d.ts +7 -7
  292. package/dist/esm/helpers/index.js +7 -7
  293. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  294. package/dist/esm/helpers/input-validation-helper.js +18 -18
  295. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  296. package/dist/esm/helpers/logging-helper.js +56 -56
  297. package/dist/esm/helpers/response-helper.d.ts +18 -18
  298. package/dist/esm/helpers/response-helper.js +37 -37
  299. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  300. package/dist/esm/helpers/shopify-helper.js +21 -21
  301. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  302. package/dist/esm/helpers/sqs-utils.js +9 -9
  303. package/dist/esm/index.d.ts +5 -5
  304. package/dist/esm/index.js +5 -5
  305. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  306. package/dist/esm/libs/click-id-parser.js +45 -45
  307. package/dist/esm/libs/compression.d.ts +2 -2
  308. package/dist/esm/libs/compression.js +25 -25
  309. package/dist/esm/libs/cookie.d.ts +17 -17
  310. package/dist/esm/libs/cookie.js +70 -70
  311. package/dist/esm/libs/crypto.d.ts +3 -3
  312. package/dist/esm/libs/crypto.js +11 -11
  313. package/dist/esm/libs/csv.d.ts +2 -2
  314. package/dist/esm/libs/csv.js +30 -30
  315. package/dist/esm/libs/currency.d.ts +1 -1
  316. package/dist/esm/libs/currency.js +22 -22
  317. package/dist/esm/libs/dates.d.ts +12 -12
  318. package/dist/esm/libs/dates.js +83 -83
  319. package/dist/esm/libs/domain.d.ts +2 -2
  320. package/dist/esm/libs/domain.js +33 -33
  321. package/dist/esm/libs/emails.d.ts +6 -6
  322. package/dist/esm/libs/emails.js +115 -115
  323. package/dist/esm/libs/http-error.d.ts +21 -21
  324. package/dist/esm/libs/http-error.js +59 -59
  325. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  326. package/dist/esm/libs/http-status-codes.js +59 -59
  327. package/dist/esm/libs/index.d.ts +17 -17
  328. package/dist/esm/libs/index.js +17 -17
  329. package/dist/esm/libs/numbers.d.ts +1 -1
  330. package/dist/esm/libs/numbers.js +11 -11
  331. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  332. package/dist/esm/libs/referrer-parser/index.js +2 -2
  333. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  334. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  335. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  336. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  337. package/dist/esm/libs/strings.d.ts +3 -3
  338. package/dist/esm/libs/strings.js +40 -40
  339. package/dist/esm/libs/traits.d.ts +6 -6
  340. package/dist/esm/libs/traits.js +54 -54
  341. package/dist/esm/libs/url.d.ts +1 -1
  342. package/dist/esm/libs/url.js +9 -9
  343. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  344. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  345. package/dist/esm/services/cache/index.d.ts +1 -1
  346. package/dist/esm/services/cache/index.js +1 -1
  347. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  348. package/dist/esm/services/cache/product-cache-service.js +68 -68
  349. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  350. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  351. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  352. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  353. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  354. package/dist/esm/services/db/destinations-db-service.js +72 -72
  355. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  356. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  357. package/dist/esm/services/db/index.d.ts +10 -9
  358. package/dist/esm/services/db/index.js +10 -9
  359. package/dist/esm/services/db/index.js.map +1 -1
  360. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  361. package/dist/esm/services/db/log-events-db-service.js +177 -177
  362. package/dist/esm/services/db/pixels-db-service.d.ts +8 -0
  363. package/dist/esm/services/db/pixels-db-service.js +32 -0
  364. package/dist/esm/services/db/pixels-db-service.js.map +1 -0
  365. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  366. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  367. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  368. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  369. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  370. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  371. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  372. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  373. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  374. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  375. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  376. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  377. package/dist/esm/services/events/index.d.ts +3 -3
  378. package/dist/esm/services/events/index.js +3 -3
  379. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  380. package/dist/esm/services/events/log-event-service.js +52 -52
  381. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  382. package/dist/esm/services/events/metric-event-service.js +45 -45
  383. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  384. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  385. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  386. package/dist/esm/services/generic-cache-service.js +29 -29
  387. package/dist/esm/services/index.d.ts +8 -8
  388. package/dist/esm/services/index.js +8 -8
  389. package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
  390. package/dist/esm/services/ipdata-lookup-service.js +73 -73
  391. package/dist/esm/services/shopify/index.d.ts +3 -3
  392. package/dist/esm/services/shopify/index.js +3 -3
  393. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  394. package/dist/esm/services/shopify/products/index.js +1 -1
  395. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  396. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +110 -110
  397. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  398. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  399. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  400. package/dist/esm/services/shopify/types/index.js +1 -1
  401. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  402. package/dist/esm/services/shopify/types/product.js +6 -6
  403. package/dist/esm/types/api-response.d.ts +6 -6
  404. package/dist/esm/types/api-response.js +1 -1
  405. package/dist/esm/types/index.d.ts +1 -1
  406. package/dist/esm/types/index.js +1 -1
  407. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  408. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  409. package/dist/esm/types/internal-events/index.d.ts +1 -1
  410. package/dist/esm/types/internal-events/index.js +1 -1
  411. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  412. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  413. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  414. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  415. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  416. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  417. package/package.json +134 -134
@@ -1,140 +1,140 @@
1
- import { PURCHASED_CONTACT_STATUS, } from '@adtrackify/at-tracking-event-types';
2
- import { DynamoDbClient } from '../../clients';
3
- import { HttpError, getCurrentTimestamp } from '../../libs';
4
- import { Logger } from '../../helpers';
5
- import { ulid } from 'ulid';
6
- export class PurchasedContactsDbService {
7
- TABLE_NAME;
8
- TABLE_KEY;
9
- IDENTITY_ID_PIXEL_ID_INDEX_NAME;
10
- IP_ADDRESS_PIXEL_ID_INDEX_NAME;
11
- EMAIL_PIXEL_ID_INDEX_NAME;
12
- constructor(tableName, purchasedContactsKey, STAGE) {
13
- this.TABLE_NAME = tableName;
14
- this.TABLE_KEY = purchasedContactsKey;
15
- this.IDENTITY_ID_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-identity-id-pixel-id`;
16
- this.IP_ADDRESS_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-ip-address-pixel-id`;
17
- this.EMAIL_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-email-pixel-id`;
18
- }
19
- buildPurchasedContact = (accountId, primaryContact, contacts, deliverableContacts) => {
20
- const currentTimestamp = getCurrentTimestamp();
21
- const purchasedContact = {
22
- ...primaryContact,
23
- primaryIdentityId: primaryContact.identityId,
24
- matchedIdentityId: primaryContact.matchedIdentityId,
25
- isIdentityMerged: primaryContact.isIdentityMerged,
26
- id: ulid(),
27
- contacts,
28
- deliverableContacts: deliverableContacts,
29
- contactId: primaryContact.id,
30
- accountId,
31
- emailStatus: primaryContact?.emailVerification?.state,
32
- purchasedStatus: PURCHASED_CONTACT_STATUS.ACTIVE,
33
- purchasedAt: currentTimestamp,
34
- createdAt: currentTimestamp,
35
- updatedAt: currentTimestamp,
36
- };
37
- return purchasedContact;
38
- };
39
- getPurchasedContact = async (id) => {
40
- const purchasedContact = await DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
41
- if (!purchasedContact) {
42
- throw HttpError.notFound();
43
- }
44
- return purchasedContact;
45
- };
46
- getPurchasedContactByIdentityIdPixelId = async (identityId, pixelId) => {
47
- try {
48
- const values = {
49
- ':identityId': identityId,
50
- ':pixelId': pixelId,
51
- };
52
- const query = {
53
- TableName: this.TABLE_NAME,
54
- IndexName: this.IDENTITY_ID_PIXEL_ID_INDEX_NAME,
55
- KeyConditionExpression: 'identityId = :identityId and pixelId = :pixelId',
56
- ExpressionAttributeValues: values,
57
- };
58
- const purchasedContacts = await DynamoDbClient.queryAll(query);
59
- if (purchasedContacts && purchasedContacts.length > 0) {
60
- return purchasedContacts;
61
- }
62
- return [];
63
- }
64
- catch (error) {
65
- Logger.error('failed to getPurchasedContactByIdentityIdPixelId', { error, identityId, pixelId });
66
- return [];
67
- }
68
- };
69
- getPurchasedContactByEmailPixelId = async (email, pixelId) => {
70
- try {
71
- const values = {
72
- ':email': email,
73
- ':pixelId': pixelId,
74
- };
75
- const query = {
76
- TableName: this.TABLE_NAME,
77
- IndexName: this.EMAIL_PIXEL_ID_INDEX_NAME,
78
- KeyConditionExpression: 'email = :email and pixelId = :pixelId',
79
- ExpressionAttributeValues: values,
80
- };
81
- const purchasedContacts = await DynamoDbClient.queryAll(query);
82
- if (purchasedContacts && purchasedContacts.length > 0) {
83
- return purchasedContacts;
84
- }
85
- return [];
86
- }
87
- catch (error) {
88
- Logger.error('failed to getPurchasedContactByEmailPixelId', { error, email, pixelId });
89
- return [];
90
- }
91
- };
92
- getPurchasedContactByIpAddressPixelId = async (ipAddress, pixelId) => {
93
- try {
94
- const values = {
95
- ':ipAddress': ipAddress,
96
- ':pixelId': pixelId,
97
- };
98
- const query = {
99
- TableName: this.TABLE_NAME,
100
- IndexName: this.IP_ADDRESS_PIXEL_ID_INDEX_NAME,
101
- KeyConditionExpression: 'ipAddress = :ipAddress and pixelId = :pixelId',
102
- ExpressionAttributeValues: values,
103
- };
104
- const purchasedContacts = await DynamoDbClient.queryAll(query);
105
- if (purchasedContacts && purchasedContacts.length > 0) {
106
- return purchasedContacts;
107
- }
108
- return [];
109
- }
110
- catch (error) {
111
- Logger.error('failed to getPurchasedContactByIpAddressPixelId', { error, ipAddress, pixelId });
112
- return [];
113
- }
114
- };
115
- batchGetPurchasedContacts = async (ids) => {
116
- if (ids.length === 0) {
117
- return [];
118
- }
119
- const keys = ids.map((id) => ({ [this.TABLE_KEY]: id }));
120
- const purchasedContacts = await DynamoDbClient.safeBatchGet(this.TABLE_NAME, keys);
121
- return purchasedContacts;
122
- };
123
- putPurchasedContact = async (purchasedContact) => {
124
- await DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
125
- return purchasedContact;
126
- };
127
- updatePurchasedContact = async (id, data) => {
128
- const purchasedContact = await this.getPurchasedContact(id);
129
- Object.assign(purchasedContact, data);
130
- const currentTimestamp = getCurrentTimestamp();
131
- purchasedContact.updatedAt = currentTimestamp;
132
- const res = await DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
133
- if (!res) {
134
- Logger.error('purchased contact update failed', { purchasedContact });
135
- throw HttpError.internal();
136
- }
137
- return purchasedContact;
138
- };
139
- }
1
+ import { PURCHASED_CONTACT_STATUS, } from '@adtrackify/at-tracking-event-types';
2
+ import { DynamoDbClient } from '../../clients';
3
+ import { HttpError, getCurrentTimestamp } from '../../libs';
4
+ import { Logger } from '../../helpers';
5
+ import { ulid } from 'ulid';
6
+ export class PurchasedContactsDbService {
7
+ TABLE_NAME;
8
+ TABLE_KEY;
9
+ IDENTITY_ID_PIXEL_ID_INDEX_NAME;
10
+ IP_ADDRESS_PIXEL_ID_INDEX_NAME;
11
+ EMAIL_PIXEL_ID_INDEX_NAME;
12
+ constructor(tableName, purchasedContactsKey, STAGE) {
13
+ this.TABLE_NAME = tableName;
14
+ this.TABLE_KEY = purchasedContactsKey;
15
+ this.IDENTITY_ID_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-identity-id-pixel-id`;
16
+ this.IP_ADDRESS_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-ip-address-pixel-id`;
17
+ this.EMAIL_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-email-pixel-id`;
18
+ }
19
+ buildPurchasedContact = (accountId, primaryContact, contacts, deliverableContacts) => {
20
+ const currentTimestamp = getCurrentTimestamp();
21
+ const purchasedContact = {
22
+ ...primaryContact,
23
+ primaryIdentityId: primaryContact.identityId,
24
+ matchedIdentityId: primaryContact.matchedIdentityId,
25
+ isIdentityMerged: primaryContact.isIdentityMerged,
26
+ id: ulid(),
27
+ contacts,
28
+ deliverableContacts: deliverableContacts,
29
+ contactId: primaryContact.id,
30
+ accountId,
31
+ emailStatus: primaryContact?.emailVerification?.state,
32
+ purchasedStatus: PURCHASED_CONTACT_STATUS.ACTIVE,
33
+ purchasedAt: currentTimestamp,
34
+ createdAt: currentTimestamp,
35
+ updatedAt: currentTimestamp,
36
+ };
37
+ return purchasedContact;
38
+ };
39
+ getPurchasedContact = async (id) => {
40
+ const purchasedContact = await DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
41
+ if (!purchasedContact) {
42
+ throw HttpError.notFound();
43
+ }
44
+ return purchasedContact;
45
+ };
46
+ getPurchasedContactByIdentityIdPixelId = async (identityId, pixelId) => {
47
+ try {
48
+ const values = {
49
+ ':identityId': identityId,
50
+ ':pixelId': pixelId,
51
+ };
52
+ const query = {
53
+ TableName: this.TABLE_NAME,
54
+ IndexName: this.IDENTITY_ID_PIXEL_ID_INDEX_NAME,
55
+ KeyConditionExpression: 'identityId = :identityId and pixelId = :pixelId',
56
+ ExpressionAttributeValues: values,
57
+ };
58
+ const purchasedContacts = await DynamoDbClient.queryAll(query);
59
+ if (purchasedContacts && purchasedContacts.length > 0) {
60
+ return purchasedContacts;
61
+ }
62
+ return [];
63
+ }
64
+ catch (error) {
65
+ Logger.error('failed to getPurchasedContactByIdentityIdPixelId', { error, identityId, pixelId });
66
+ return [];
67
+ }
68
+ };
69
+ getPurchasedContactByEmailPixelId = async (email, pixelId) => {
70
+ try {
71
+ const values = {
72
+ ':email': email,
73
+ ':pixelId': pixelId,
74
+ };
75
+ const query = {
76
+ TableName: this.TABLE_NAME,
77
+ IndexName: this.EMAIL_PIXEL_ID_INDEX_NAME,
78
+ KeyConditionExpression: 'email = :email and pixelId = :pixelId',
79
+ ExpressionAttributeValues: values,
80
+ };
81
+ const purchasedContacts = await DynamoDbClient.queryAll(query);
82
+ if (purchasedContacts && purchasedContacts.length > 0) {
83
+ return purchasedContacts;
84
+ }
85
+ return [];
86
+ }
87
+ catch (error) {
88
+ Logger.error('failed to getPurchasedContactByEmailPixelId', { error, email, pixelId });
89
+ return [];
90
+ }
91
+ };
92
+ getPurchasedContactByIpAddressPixelId = async (ipAddress, pixelId) => {
93
+ try {
94
+ const values = {
95
+ ':ipAddress': ipAddress,
96
+ ':pixelId': pixelId,
97
+ };
98
+ const query = {
99
+ TableName: this.TABLE_NAME,
100
+ IndexName: this.IP_ADDRESS_PIXEL_ID_INDEX_NAME,
101
+ KeyConditionExpression: 'ipAddress = :ipAddress and pixelId = :pixelId',
102
+ ExpressionAttributeValues: values,
103
+ };
104
+ const purchasedContacts = await DynamoDbClient.queryAll(query);
105
+ if (purchasedContacts && purchasedContacts.length > 0) {
106
+ return purchasedContacts;
107
+ }
108
+ return [];
109
+ }
110
+ catch (error) {
111
+ Logger.error('failed to getPurchasedContactByIpAddressPixelId', { error, ipAddress, pixelId });
112
+ return [];
113
+ }
114
+ };
115
+ batchGetPurchasedContacts = async (ids) => {
116
+ if (ids.length === 0) {
117
+ return [];
118
+ }
119
+ const keys = ids.map((id) => ({ [this.TABLE_KEY]: id }));
120
+ const purchasedContacts = await DynamoDbClient.safeBatchGet(this.TABLE_NAME, keys);
121
+ return purchasedContacts;
122
+ };
123
+ putPurchasedContact = async (purchasedContact) => {
124
+ await DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
125
+ return purchasedContact;
126
+ };
127
+ updatePurchasedContact = async (id, data) => {
128
+ const purchasedContact = await this.getPurchasedContact(id);
129
+ Object.assign(purchasedContact, data);
130
+ const currentTimestamp = getCurrentTimestamp();
131
+ purchasedContact.updatedAt = currentTimestamp;
132
+ const res = await DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
133
+ if (!res) {
134
+ Logger.error('purchased contact update failed', { purchasedContact });
135
+ throw HttpError.internal();
136
+ }
137
+ return purchasedContact;
138
+ };
139
+ }
140
140
  //# sourceMappingURL=purchased-contacts-db-service.js.map
@@ -1,7 +1,7 @@
1
- import { ShopifyAppInstall } from '@adtrackify/at-tracking-event-types';
2
- export declare class ShopifyAppInstallsDbService {
3
- TABLE_NAME: string;
4
- constructor(tableName: string);
5
- getShopifyAppInstallByShop: (indexName: string, shop: string) => Promise<ShopifyAppInstall | null>;
6
- getShopifyAppInstallByPixelId: (indexName: string, pixelId: string) => Promise<ShopifyAppInstall | null>;
7
- }
1
+ import { ShopifyAppInstall } from '@adtrackify/at-tracking-event-types';
2
+ export declare class ShopifyAppInstallsDbService {
3
+ TABLE_NAME: string;
4
+ constructor(tableName: string);
5
+ getShopifyAppInstallByShop: (indexName: string, shop: string) => Promise<ShopifyAppInstall | null>;
6
+ getShopifyAppInstallByPixelId: (indexName: string, pixelId: string) => Promise<ShopifyAppInstall | null>;
7
+ }
@@ -1,44 +1,44 @@
1
- import { DynamoDbClient } from '../../clients';
2
- import { Logger } from '../../helpers';
3
- export class ShopifyAppInstallsDbService {
4
- TABLE_NAME;
5
- constructor(tableName) {
6
- this.TABLE_NAME = tableName;
7
- }
8
- getShopifyAppInstallByShop = async (indexName, shop) => {
9
- try {
10
- const values = {
11
- ':shop': shop,
12
- };
13
- const query = {
14
- TableName: this.TABLE_NAME,
15
- IndexName: indexName,
16
- KeyConditionExpression: 'shop = :shop',
17
- ExpressionAttributeValues: values,
18
- };
19
- const shopifyAppInstalls = await DynamoDbClient.queryAll(query);
20
- if (shopifyAppInstalls && shopifyAppInstalls.length > 0) {
21
- return shopifyAppInstalls[0];
22
- }
23
- return null;
24
- }
25
- catch (error) {
26
- Logger.error('failed to shopifyAppInstall by shop', { error, indexName, shop });
27
- return null;
28
- }
29
- };
30
- getShopifyAppInstallByPixelId = async (indexName, pixelId) => {
31
- try {
32
- const shopifyAppInstalls = await DynamoDbClient.safeQueryByGSI(this.TABLE_NAME, indexName, 'pixelId', pixelId);
33
- if (shopifyAppInstalls && shopifyAppInstalls?.length > 0) {
34
- return shopifyAppInstalls[0];
35
- }
36
- return null;
37
- }
38
- catch (error) {
39
- Logger.error('failed to fetch shopifyAppInstall by pixelId', { error, indexName, pixelId });
40
- return null;
41
- }
42
- };
43
- }
1
+ import { DynamoDbClient } from '../../clients';
2
+ import { Logger } from '../../helpers';
3
+ export class ShopifyAppInstallsDbService {
4
+ TABLE_NAME;
5
+ constructor(tableName) {
6
+ this.TABLE_NAME = tableName;
7
+ }
8
+ getShopifyAppInstallByShop = async (indexName, shop) => {
9
+ try {
10
+ const values = {
11
+ ':shop': shop,
12
+ };
13
+ const query = {
14
+ TableName: this.TABLE_NAME,
15
+ IndexName: indexName,
16
+ KeyConditionExpression: 'shop = :shop',
17
+ ExpressionAttributeValues: values,
18
+ };
19
+ const shopifyAppInstalls = await DynamoDbClient.queryAll(query);
20
+ if (shopifyAppInstalls && shopifyAppInstalls.length > 0) {
21
+ return shopifyAppInstalls[0];
22
+ }
23
+ return null;
24
+ }
25
+ catch (error) {
26
+ Logger.error('failed to shopifyAppInstall by shop', { error, indexName, shop });
27
+ return null;
28
+ }
29
+ };
30
+ getShopifyAppInstallByPixelId = async (indexName, pixelId) => {
31
+ try {
32
+ const shopifyAppInstalls = await DynamoDbClient.safeQueryByGSI(this.TABLE_NAME, indexName, 'pixelId', pixelId);
33
+ if (shopifyAppInstalls && shopifyAppInstalls?.length > 0) {
34
+ return shopifyAppInstalls[0];
35
+ }
36
+ return null;
37
+ }
38
+ catch (error) {
39
+ Logger.error('failed to fetch shopifyAppInstall by pixelId', { error, indexName, pixelId });
40
+ return null;
41
+ }
42
+ };
43
+ }
44
44
  //# 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,67 +1,67 @@
1
- import { DynamoDbClient } from '../../clients';
2
- import { compressJSON, decompressJSON, getCurrentTimestamp } from '../../libs';
3
- import { DateTime } from 'luxon';
4
- import { Logger } from '../../helpers';
5
- import crypto from 'crypto';
6
- const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
7
- export class ShopifyProductsCacheDbService {
8
- TABLE_NAME;
9
- KEY_NAME;
10
- dynamoDbCacheTtlInSeconds;
11
- constructor(tableName, keyName, dynamoDbCacheTtlInSeconds) {
12
- this.TABLE_NAME = tableName;
13
- this.KEY_NAME = keyName;
14
- this.dynamoDbCacheTtlInSeconds = dynamoDbCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
15
- }
16
- getProductFromDynamoDBCache = async (pixelId, productId) => {
17
- try {
18
- const cachedProduct = (await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`));
19
- if (cachedProduct && !this.isProductCacheStale(cachedProduct)) {
20
- const product = decompressJSON(cachedProduct.productCompressed);
21
- return product;
22
- }
23
- return undefined;
24
- }
25
- catch (error) {
26
- Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
27
- return undefined;
28
- }
29
- };
30
- putProductInDynamoDBCache = async (pixelId, productId, product, ttlInSeconds) => {
31
- const ttl = ttlInSeconds || this.dynamoDbCacheTtlInSeconds;
32
- const expiresAt = DateTime.utc().plus({ seconds: ttl }).toSeconds();
33
- const cachedAt = getCurrentTimestamp();
34
- const cachedAtEpoch = DateTime.utc().toSeconds();
35
- const fullSha256 = crypto.createHash('sha256').update(JSON.stringify(product)).digest('hex');
36
- const noInventoryProduct = {
37
- ...product,
38
- totalInventory: undefined,
39
- variants: product?.variants?.map((variant) => ({
40
- ...variant,
41
- inventoryQuantity: undefined,
42
- inventoryItem: undefined,
43
- })),
44
- };
45
- const noInventorySha256 = crypto.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
46
- const productCompressed = compressJSON(product);
47
- const shopifyProductCache = {
48
- pixelId_productId: `${pixelId}_${productId}`,
49
- pixelId,
50
- productId,
51
- productCompressed,
52
- fullSha256,
53
- noInventorySha256,
54
- cachedAt,
55
- cachedAtEpoch,
56
- expiresAt,
57
- };
58
- return await DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
59
- };
60
- isProductCacheStale = (cachedData) => {
61
- if (cachedData?.expiresAt && cachedData.expiresAt < DateTime.utc().toSeconds()) {
62
- return true;
63
- }
64
- return false;
65
- };
66
- }
1
+ import { DynamoDbClient } from '../../clients';
2
+ import { compressJSON, decompressJSON, getCurrentTimestamp } from '../../libs';
3
+ import { DateTime } from 'luxon';
4
+ import { Logger } from '../../helpers';
5
+ import crypto from 'crypto';
6
+ const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
7
+ export class ShopifyProductsCacheDbService {
8
+ TABLE_NAME;
9
+ KEY_NAME;
10
+ dynamoDbCacheTtlInSeconds;
11
+ constructor(tableName, keyName, dynamoDbCacheTtlInSeconds) {
12
+ this.TABLE_NAME = tableName;
13
+ this.KEY_NAME = keyName;
14
+ this.dynamoDbCacheTtlInSeconds = dynamoDbCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
15
+ }
16
+ getProductFromDynamoDBCache = async (pixelId, productId) => {
17
+ try {
18
+ const cachedProduct = (await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`));
19
+ if (cachedProduct && !this.isProductCacheStale(cachedProduct)) {
20
+ const product = decompressJSON(cachedProduct.productCompressed);
21
+ return product;
22
+ }
23
+ return undefined;
24
+ }
25
+ catch (error) {
26
+ Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
27
+ return undefined;
28
+ }
29
+ };
30
+ putProductInDynamoDBCache = async (pixelId, productId, product, ttlInSeconds) => {
31
+ const ttl = ttlInSeconds || this.dynamoDbCacheTtlInSeconds;
32
+ const expiresAt = DateTime.utc().plus({ seconds: ttl }).toSeconds();
33
+ const cachedAt = getCurrentTimestamp();
34
+ const cachedAtEpoch = DateTime.utc().toSeconds();
35
+ const fullSha256 = crypto.createHash('sha256').update(JSON.stringify(product)).digest('hex');
36
+ const noInventoryProduct = {
37
+ ...product,
38
+ totalInventory: undefined,
39
+ variants: product?.variants?.map((variant) => ({
40
+ ...variant,
41
+ inventoryQuantity: undefined,
42
+ inventoryItem: undefined,
43
+ })),
44
+ };
45
+ const noInventorySha256 = crypto.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
46
+ const productCompressed = compressJSON(product);
47
+ const shopifyProductCache = {
48
+ pixelId_productId: `${pixelId}_${productId}`,
49
+ pixelId,
50
+ productId,
51
+ productCompressed,
52
+ fullSha256,
53
+ noInventorySha256,
54
+ cachedAt,
55
+ cachedAtEpoch,
56
+ expiresAt,
57
+ };
58
+ return await DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
59
+ };
60
+ isProductCacheStale = (cachedData) => {
61
+ if (cachedData?.expiresAt && cachedData.expiresAt < DateTime.utc().toSeconds()) {
62
+ return true;
63
+ }
64
+ return false;
65
+ };
66
+ }
67
67
  //# 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
+ }