@adtrackify/at-service-common 3.2.33 → 3.3.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 (381) 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 +527 -527
  5. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  7. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  9. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  10. package/dist/cjs/__tests__/libs/dates.spec.js +132 -132
  11. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  12. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  13. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  14. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  15. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  16. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  17. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  18. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  19. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  20. package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
  21. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  22. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  23. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  24. package/dist/cjs/clients/generic/http-client.js +61 -61
  25. package/dist/cjs/clients/generic/index.d.ts +10 -10
  26. package/dist/cjs/clients/generic/index.js +26 -26
  27. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  28. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  29. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  30. package/dist/cjs/clients/generic/location-client.js +31 -31
  31. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  32. package/dist/cjs/clients/generic/redis-client.js +128 -128
  33. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  34. package/dist/cjs/clients/generic/s3-client.js +198 -198
  35. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  36. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  37. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  38. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  39. package/dist/cjs/clients/index.d.ts +3 -3
  40. package/dist/cjs/clients/index.js +19 -19
  41. package/dist/cjs/clients/internal-api/accounts-client.d.ts +83 -83
  42. package/dist/cjs/clients/internal-api/accounts-client.js +107 -107
  43. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
  44. package/dist/cjs/clients/internal-api/cache-lambda-client.js +79 -79
  45. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  46. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  47. package/dist/cjs/clients/internal-api/destinations-client.d.ts +27 -27
  48. package/dist/cjs/clients/internal-api/destinations-client.js +51 -51
  49. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  50. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  51. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  52. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  53. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  54. package/dist/cjs/clients/internal-api/index.js +25 -25
  55. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  56. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +68 -68
  57. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +23 -23
  58. package/dist/cjs/clients/internal-api/subscriptions-client.js +58 -58
  59. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  60. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  61. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -30
  62. package/dist/cjs/clients/third-party/emailable-client.js +19 -19
  63. package/dist/cjs/clients/third-party/emailable-client.js.map +1 -1
  64. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  65. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  66. package/dist/cjs/clients/third-party/index.d.ts +2 -2
  67. package/dist/cjs/clients/third-party/index.js +18 -18
  68. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  69. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  70. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  71. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  72. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  73. package/dist/cjs/clients/third-party/shopify-client.js +144 -144
  74. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  75. package/dist/cjs/helpers/account-users-helper.js +22 -22
  76. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  77. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  78. package/dist/cjs/helpers/index.d.ts +6 -6
  79. package/dist/cjs/helpers/index.js +22 -22
  80. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  81. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  82. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  83. package/dist/cjs/helpers/logging-helper.js +84 -84
  84. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  85. package/dist/cjs/helpers/response-helper.js +42 -42
  86. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  87. package/dist/cjs/helpers/shopify-helper.js +28 -28
  88. package/dist/cjs/index.d.ts +5 -5
  89. package/dist/cjs/index.js +21 -21
  90. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  91. package/dist/cjs/libs/click-id-parser.js +49 -49
  92. package/dist/cjs/libs/compression.d.ts +2 -2
  93. package/dist/cjs/libs/compression.js +33 -33
  94. package/dist/cjs/libs/crypto.d.ts +2 -2
  95. package/dist/cjs/libs/crypto.js +16 -16
  96. package/dist/cjs/libs/csv.d.ts +2 -2
  97. package/dist/cjs/libs/csv.js +35 -35
  98. package/dist/cjs/libs/currency.d.ts +1 -1
  99. package/dist/cjs/libs/currency.js +24 -24
  100. package/dist/cjs/libs/dates.d.ts +12 -12
  101. package/dist/cjs/libs/dates.js +96 -96
  102. package/dist/cjs/libs/http-error.d.ts +21 -21
  103. package/dist/cjs/libs/http-error.js +59 -59
  104. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  105. package/dist/cjs/libs/http-status-codes.js +62 -62
  106. package/dist/cjs/libs/index.d.ts +13 -13
  107. package/dist/cjs/libs/index.js +29 -29
  108. package/dist/cjs/libs/numbers.d.ts +1 -1
  109. package/dist/cjs/libs/numbers.js +15 -15
  110. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  111. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  112. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  113. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  114. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  115. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  116. package/dist/cjs/libs/traits.d.ts +2 -2
  117. package/dist/cjs/libs/traits.js +19 -19
  118. package/dist/cjs/libs/url.d.ts +1 -1
  119. package/dist/cjs/libs/url.js +13 -13
  120. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  121. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  122. package/dist/cjs/services/cache/index.d.ts +1 -1
  123. package/dist/cjs/services/cache/index.js +17 -17
  124. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  125. package/dist/cjs/services/cache/product-cache-service.js +68 -68
  126. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  127. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +50 -50
  128. package/dist/cjs/services/currency-exchange-rate-lookup-service.js.map +1 -1
  129. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  130. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  131. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  132. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  133. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  134. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  135. package/dist/cjs/services/db/index.d.ts +9 -9
  136. package/dist/cjs/services/db/index.js +25 -25
  137. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  138. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  139. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +8 -8
  140. package/dist/cjs/services/db/purchasable-contacts-db-service.js +25 -25
  141. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  142. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  143. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  144. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  145. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  146. package/dist/cjs/services/db/shopify-products-cache-db-service.js +65 -65
  147. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  148. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  149. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  150. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  151. package/dist/cjs/services/events/index.d.ts +3 -3
  152. package/dist/cjs/services/events/index.js +19 -19
  153. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  154. package/dist/cjs/services/events/log-event-service.js +56 -56
  155. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  156. package/dist/cjs/services/events/metric-event-service.js +49 -49
  157. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  158. package/dist/cjs/services/events/tracking-event-sqs-service.js +29 -29
  159. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  160. package/dist/cjs/services/generic-cache-service.js +33 -33
  161. package/dist/cjs/services/index.d.ts +8 -8
  162. package/dist/cjs/services/index.js +24 -24
  163. package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
  164. package/dist/cjs/services/ipdata-lookup-service.js +77 -77
  165. package/dist/cjs/services/shopify/index.d.ts +3 -3
  166. package/dist/cjs/services/shopify/index.js +19 -19
  167. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  168. package/dist/cjs/services/shopify/products/index.js +17 -17
  169. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  170. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +103 -103
  171. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  172. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +137 -137
  173. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  174. package/dist/cjs/services/shopify/types/index.js +17 -17
  175. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  176. package/dist/cjs/services/shopify/types/product.js +9 -9
  177. package/dist/cjs/types/api-response.d.ts +6 -6
  178. package/dist/cjs/types/api-response.js +2 -2
  179. package/dist/cjs/types/index.d.ts +2 -2
  180. package/dist/cjs/types/index.js +18 -18
  181. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  182. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  183. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  184. package/dist/cjs/types/internal-events/index.js +17 -17
  185. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  186. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  187. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  188. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  189. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  190. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  191. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  192. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +198 -198
  193. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  194. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  195. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  196. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  197. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  198. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  199. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  200. package/dist/esm/__tests__/libs/dates.spec.js +130 -130
  201. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  202. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  203. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  204. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  205. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  206. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  207. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  208. package/dist/esm/clients/generic/cognito-client.js +204 -204
  209. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  210. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  211. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  212. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  213. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  214. package/dist/esm/clients/generic/http-client.js +53 -53
  215. package/dist/esm/clients/generic/index.d.ts +10 -10
  216. package/dist/esm/clients/generic/index.js +10 -10
  217. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  218. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  219. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  220. package/dist/esm/clients/generic/location-client.js +27 -27
  221. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  222. package/dist/esm/clients/generic/redis-client.js +121 -121
  223. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  224. package/dist/esm/clients/generic/s3-client.js +191 -191
  225. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  226. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  227. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  228. package/dist/esm/clients/generic/sqs-client.js +32 -32
  229. package/dist/esm/clients/index.d.ts +3 -3
  230. package/dist/esm/clients/index.js +3 -3
  231. package/dist/esm/clients/internal-api/accounts-client.d.ts +83 -83
  232. package/dist/esm/clients/internal-api/accounts-client.js +103 -103
  233. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  234. package/dist/esm/clients/internal-api/cache-lambda-client.js +75 -75
  235. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  236. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  237. package/dist/esm/clients/internal-api/destinations-client.d.ts +27 -27
  238. package/dist/esm/clients/internal-api/destinations-client.js +47 -47
  239. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  240. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  241. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  242. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  243. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  244. package/dist/esm/clients/internal-api/index.js +9 -9
  245. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  246. package/dist/esm/clients/internal-api/shopify-app-install-client.js +64 -64
  247. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +23 -23
  248. package/dist/esm/clients/internal-api/subscriptions-client.js +54 -54
  249. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  250. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  251. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -30
  252. package/dist/esm/clients/third-party/emailable-client.js +15 -15
  253. package/dist/esm/clients/third-party/emailable-client.js.map +1 -1
  254. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  255. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  256. package/dist/esm/clients/third-party/index.d.ts +2 -2
  257. package/dist/esm/clients/third-party/index.js +2 -2
  258. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  259. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  260. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  261. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  262. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  263. package/dist/esm/clients/third-party/shopify-client.js +140 -140
  264. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  265. package/dist/esm/helpers/account-users-helper.js +18 -18
  266. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  267. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  268. package/dist/esm/helpers/index.d.ts +6 -6
  269. package/dist/esm/helpers/index.js +6 -6
  270. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  271. package/dist/esm/helpers/input-validation-helper.js +18 -18
  272. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  273. package/dist/esm/helpers/logging-helper.js +56 -56
  274. package/dist/esm/helpers/response-helper.d.ts +15 -15
  275. package/dist/esm/helpers/response-helper.js +36 -36
  276. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  277. package/dist/esm/helpers/shopify-helper.js +23 -23
  278. package/dist/esm/index.d.ts +5 -5
  279. package/dist/esm/index.js +5 -5
  280. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  281. package/dist/esm/libs/click-id-parser.js +45 -45
  282. package/dist/esm/libs/compression.d.ts +2 -2
  283. package/dist/esm/libs/compression.js +25 -25
  284. package/dist/esm/libs/crypto.d.ts +2 -2
  285. package/dist/esm/libs/crypto.js +8 -8
  286. package/dist/esm/libs/csv.d.ts +2 -2
  287. package/dist/esm/libs/csv.js +30 -30
  288. package/dist/esm/libs/currency.d.ts +1 -1
  289. package/dist/esm/libs/currency.js +17 -17
  290. package/dist/esm/libs/dates.d.ts +12 -12
  291. package/dist/esm/libs/dates.js +83 -83
  292. package/dist/esm/libs/http-error.d.ts +21 -21
  293. package/dist/esm/libs/http-error.js +55 -55
  294. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  295. package/dist/esm/libs/http-status-codes.js +59 -59
  296. package/dist/esm/libs/index.d.ts +13 -13
  297. package/dist/esm/libs/index.js +13 -13
  298. package/dist/esm/libs/numbers.d.ts +1 -1
  299. package/dist/esm/libs/numbers.js +11 -11
  300. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  301. package/dist/esm/libs/referrer-parser/index.js +2 -2
  302. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  303. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  304. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  305. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  306. package/dist/esm/libs/traits.d.ts +2 -2
  307. package/dist/esm/libs/traits.js +12 -12
  308. package/dist/esm/libs/url.d.ts +1 -1
  309. package/dist/esm/libs/url.js +9 -9
  310. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  311. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  312. package/dist/esm/services/cache/index.d.ts +1 -1
  313. package/dist/esm/services/cache/index.js +1 -1
  314. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  315. package/dist/esm/services/cache/product-cache-service.js +60 -60
  316. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  317. package/dist/esm/services/currency-exchange-rate-lookup-service.js +46 -46
  318. package/dist/esm/services/currency-exchange-rate-lookup-service.js.map +1 -1
  319. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  320. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  321. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  322. package/dist/esm/services/db/destinations-db-service.js +53 -53
  323. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  324. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  325. package/dist/esm/services/db/index.d.ts +9 -9
  326. package/dist/esm/services/db/index.js +9 -9
  327. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  328. package/dist/esm/services/db/log-events-db-service.js +168 -168
  329. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +8 -8
  330. package/dist/esm/services/db/purchasable-contacts-db-service.js +21 -21
  331. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  332. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  333. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  334. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  335. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  336. package/dist/esm/services/db/shopify-products-cache-db-service.js +58 -58
  337. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  338. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  339. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  340. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  341. package/dist/esm/services/events/index.d.ts +3 -3
  342. package/dist/esm/services/events/index.js +3 -3
  343. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  344. package/dist/esm/services/events/log-event-service.js +52 -52
  345. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  346. package/dist/esm/services/events/metric-event-service.js +45 -45
  347. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  348. package/dist/esm/services/events/tracking-event-sqs-service.js +25 -25
  349. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  350. package/dist/esm/services/generic-cache-service.js +29 -29
  351. package/dist/esm/services/index.d.ts +8 -8
  352. package/dist/esm/services/index.js +8 -8
  353. package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
  354. package/dist/esm/services/ipdata-lookup-service.js +73 -73
  355. package/dist/esm/services/shopify/index.d.ts +3 -3
  356. package/dist/esm/services/shopify/index.js +3 -3
  357. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  358. package/dist/esm/services/shopify/products/index.js +1 -1
  359. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  360. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +99 -99
  361. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  362. package/dist/esm/services/shopify/shopify-graphql-transformer.js +134 -134
  363. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  364. package/dist/esm/services/shopify/types/index.js +1 -1
  365. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  366. package/dist/esm/services/shopify/types/product.js +6 -6
  367. package/dist/esm/types/api-response.d.ts +6 -6
  368. package/dist/esm/types/api-response.js +1 -1
  369. package/dist/esm/types/index.d.ts +2 -2
  370. package/dist/esm/types/index.js +2 -2
  371. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  372. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  373. package/dist/esm/types/internal-events/index.d.ts +1 -1
  374. package/dist/esm/types/internal-events/index.js +1 -1
  375. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  376. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  377. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  378. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  379. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  380. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  381. package/package.json +3 -3
@@ -1,20 +1,20 @@
1
- /// <reference types="node" />
2
- import url from 'url';
3
- export interface ReferrerDictionary {
4
- [domain: string]: {
5
- name: string;
6
- medium: string;
7
- params?: string[];
8
- };
9
- }
10
- export declare class Referrer {
11
- known: boolean;
12
- referrer: string | null;
13
- medium: string;
14
- search_parameter: string | null;
15
- search_term: string | string[] | null | undefined;
16
- referrers: any;
17
- uri?: url.UrlWithStringQuery;
18
- constructor(referrer_url?: string, current_url?: string);
19
- _lookup_referrer: (ref_host: string | null | undefined, ref_path: string | null, include_path: boolean) => any;
20
- }
1
+ /// <reference types="node" />
2
+ import url from 'url';
3
+ export interface ReferrerDictionary {
4
+ [domain: string]: {
5
+ name: string;
6
+ medium: string;
7
+ params?: string[];
8
+ };
9
+ }
10
+ export declare class Referrer {
11
+ known: boolean;
12
+ referrer: string | null;
13
+ medium: string;
14
+ search_parameter: string | null;
15
+ search_term: string | string[] | null | undefined;
16
+ referrers: any;
17
+ uri?: url.UrlWithStringQuery;
18
+ constructor(referrer_url?: string, current_url?: string);
19
+ _lookup_referrer: (ref_host: string | null | undefined, ref_path: string | null, include_path: boolean) => any;
20
+ }
@@ -1,122 +1,122 @@
1
- import url from 'url';
2
- import querystring from 'querystring';
3
- import { REFERRER_DATA } from './referrer-data.js';
4
- const REFERERS = loadReferrers(REFERRER_DATA);
5
- function loadReferrers(source) {
6
- const referrers_dict = {};
7
- for (const medium in source) {
8
- const conf_list = source[medium];
9
- for (const referrer_name in conf_list) {
10
- const config = conf_list[referrer_name];
11
- let params = null;
12
- if (config.parameters) {
13
- params = config.parameters.map(function (p) { return p.toLowerCase(); });
14
- }
15
- config.domains.forEach(function (domain) {
16
- referrers_dict[domain] = {
17
- 'name': referrer_name,
18
- 'medium': medium
19
- };
20
- if (params) {
21
- referrers_dict[domain]['params'] = params;
22
- }
23
- });
24
- }
25
- }
26
- return referrers_dict;
27
- }
28
- export class Referrer {
29
- known;
30
- referrer;
31
- medium;
32
- search_parameter;
33
- search_term;
34
- referrers;
35
- uri;
36
- constructor(referrer_url, current_url) {
37
- this.known = false;
38
- this.referrer = null;
39
- this.medium = 'unknown';
40
- this.search_parameter = null;
41
- this.search_term = null;
42
- if (!referrer_url) {
43
- this.medium = 'none';
44
- this.referrer = 'direct';
45
- return;
46
- }
47
- const ref_uri = url.parse(referrer_url);
48
- const ref_host = ref_uri.hostname;
49
- this.known = Boolean(~['http:', 'https:'].indexOf(ref_uri.protocol));
50
- this.uri = ref_uri;
51
- if (!this.known)
52
- return;
53
- if (current_url) {
54
- const curr_uri = url.parse(current_url);
55
- const curr_host = curr_uri.hostname;
56
- if (curr_host == ref_host) {
57
- this.medium = 'internal';
58
- this.referrer = 'internal';
59
- return;
60
- }
61
- }
62
- let referrer = this._lookup_referrer(ref_host, ref_uri.pathname, true);
63
- if (!referrer) {
64
- referrer = this._lookup_referrer(ref_host, ref_uri.pathname, false);
65
- if (!referrer) {
66
- this.medium = 'referral';
67
- this.referrer = ref_host;
68
- return;
69
- }
70
- }
71
- this.referrer = referrer['name'];
72
- this.medium = referrer['medium'];
73
- if (referrer['medium'] == 'search') {
74
- if (!referrer['params'])
75
- return;
76
- const pqs = querystring.parse(ref_uri?.query || '');
77
- for (const param in pqs) {
78
- const val = pqs[param];
79
- if (referrer['params'].indexOf(param.toLowerCase()) !== -1) {
80
- this.search_parameter = param;
81
- this.search_term = val;
82
- }
83
- }
84
- }
85
- }
86
- _lookup_referrer = (ref_host, ref_path, include_path) => {
87
- let referrer = null;
88
- if (include_path) {
89
- const hostpath = (ref_host ?? '') + (ref_path ?? '');
90
- referrer = REFERERS[hostpath];
91
- }
92
- else {
93
- referrer = REFERERS[ref_host ?? ''];
94
- }
95
- if (!referrer) {
96
- if (include_path) {
97
- const path_parts = ref_path?.split('/');
98
- if (path_parts && path_parts.length > 1) {
99
- try {
100
- referrer = REFERERS[ref_host + '/' + path_parts[1]];
101
- }
102
- catch (e) { }
103
- }
104
- }
105
- }
106
- if (!referrer) {
107
- try {
108
- const idx = (ref_host ?? '').indexOf('.');
109
- if (idx === -1)
110
- return null;
111
- const slicedHost = ref_host?.slice(idx + 1);
112
- return this._lookup_referrer(slicedHost, ref_path, include_path);
113
- }
114
- catch (e) {
115
- return null;
116
- }
117
- }
118
- else
119
- return referrer;
120
- };
121
- }
1
+ import url from 'url';
2
+ import querystring from 'querystring';
3
+ import { REFERRER_DATA } from './referrer-data.js';
4
+ const REFERERS = loadReferrers(REFERRER_DATA);
5
+ function loadReferrers(source) {
6
+ const referrers_dict = {};
7
+ for (const medium in source) {
8
+ const conf_list = source[medium];
9
+ for (const referrer_name in conf_list) {
10
+ const config = conf_list[referrer_name];
11
+ let params = null;
12
+ if (config.parameters) {
13
+ params = config.parameters.map(function (p) { return p.toLowerCase(); });
14
+ }
15
+ config.domains.forEach(function (domain) {
16
+ referrers_dict[domain] = {
17
+ 'name': referrer_name,
18
+ 'medium': medium
19
+ };
20
+ if (params) {
21
+ referrers_dict[domain]['params'] = params;
22
+ }
23
+ });
24
+ }
25
+ }
26
+ return referrers_dict;
27
+ }
28
+ export class Referrer {
29
+ known;
30
+ referrer;
31
+ medium;
32
+ search_parameter;
33
+ search_term;
34
+ referrers;
35
+ uri;
36
+ constructor(referrer_url, current_url) {
37
+ this.known = false;
38
+ this.referrer = null;
39
+ this.medium = 'unknown';
40
+ this.search_parameter = null;
41
+ this.search_term = null;
42
+ if (!referrer_url) {
43
+ this.medium = 'none';
44
+ this.referrer = 'direct';
45
+ return;
46
+ }
47
+ const ref_uri = url.parse(referrer_url);
48
+ const ref_host = ref_uri.hostname;
49
+ this.known = Boolean(~['http:', 'https:'].indexOf(ref_uri.protocol));
50
+ this.uri = ref_uri;
51
+ if (!this.known)
52
+ return;
53
+ if (current_url) {
54
+ const curr_uri = url.parse(current_url);
55
+ const curr_host = curr_uri.hostname;
56
+ if (curr_host == ref_host) {
57
+ this.medium = 'internal';
58
+ this.referrer = 'internal';
59
+ return;
60
+ }
61
+ }
62
+ let referrer = this._lookup_referrer(ref_host, ref_uri.pathname, true);
63
+ if (!referrer) {
64
+ referrer = this._lookup_referrer(ref_host, ref_uri.pathname, false);
65
+ if (!referrer) {
66
+ this.medium = 'referral';
67
+ this.referrer = ref_host;
68
+ return;
69
+ }
70
+ }
71
+ this.referrer = referrer['name'];
72
+ this.medium = referrer['medium'];
73
+ if (referrer['medium'] == 'search') {
74
+ if (!referrer['params'])
75
+ return;
76
+ const pqs = querystring.parse(ref_uri?.query || '');
77
+ for (const param in pqs) {
78
+ const val = pqs[param];
79
+ if (referrer['params'].indexOf(param.toLowerCase()) !== -1) {
80
+ this.search_parameter = param;
81
+ this.search_term = val;
82
+ }
83
+ }
84
+ }
85
+ }
86
+ _lookup_referrer = (ref_host, ref_path, include_path) => {
87
+ let referrer = null;
88
+ if (include_path) {
89
+ const hostpath = (ref_host ?? '') + (ref_path ?? '');
90
+ referrer = REFERERS[hostpath];
91
+ }
92
+ else {
93
+ referrer = REFERERS[ref_host ?? ''];
94
+ }
95
+ if (!referrer) {
96
+ if (include_path) {
97
+ const path_parts = ref_path?.split('/');
98
+ if (path_parts && path_parts.length > 1) {
99
+ try {
100
+ referrer = REFERERS[ref_host + '/' + path_parts[1]];
101
+ }
102
+ catch (e) { }
103
+ }
104
+ }
105
+ }
106
+ if (!referrer) {
107
+ try {
108
+ const idx = (ref_host ?? '').indexOf('.');
109
+ if (idx === -1)
110
+ return null;
111
+ const slicedHost = ref_host?.slice(idx + 1);
112
+ return this._lookup_referrer(slicedHost, ref_path, include_path);
113
+ }
114
+ catch (e) {
115
+ return null;
116
+ }
117
+ }
118
+ else
119
+ return referrer;
120
+ };
121
+ }
122
122
  //# sourceMappingURL=referrer-parser-util.js.map
@@ -1,2 +1,2 @@
1
- import { CountryCode } from 'libphonenumber-js';
2
- export declare const safeParsePhone: (input: string, countryCode?: CountryCode) => string | undefined;
1
+ import { CountryCode } from 'libphonenumber-js';
2
+ export declare const safeParsePhone: (input: string, countryCode?: CountryCode) => string | undefined;
@@ -1,13 +1,13 @@
1
- import parsePhoneNumber from 'libphonenumber-js';
2
- import { Logger } from '../helpers';
3
- export const safeParsePhone = (input, countryCode) => {
4
- try {
5
- const phoneNumber = parsePhoneNumber(input, countryCode);
6
- return phoneNumber?.number?.toString();
7
- }
8
- catch (error) {
9
- Logger.error('Failed to parse phone', { error, input, countryCode });
10
- return undefined;
11
- }
12
- };
1
+ import parsePhoneNumber from 'libphonenumber-js';
2
+ import { Logger } from '../helpers';
3
+ export const safeParsePhone = (input, countryCode) => {
4
+ try {
5
+ const phoneNumber = parsePhoneNumber(input, countryCode);
6
+ return phoneNumber?.number?.toString();
7
+ }
8
+ catch (error) {
9
+ Logger.error('Failed to parse phone', { error, input, countryCode });
10
+ return undefined;
11
+ }
12
+ };
13
13
  //# sourceMappingURL=traits.js.map
@@ -1 +1 @@
1
- export declare const mapObjectToQueryString: (inputObj: any) => string;
1
+ export declare const mapObjectToQueryString: (inputObj: any) => string;
@@ -1,10 +1,10 @@
1
- export const mapObjectToQueryString = (inputObj) => {
2
- const qsp = Object.entries(inputObj).sort((a, b) => a[0] < b[0] ? -1 : 1);
3
- const urlParams = new URLSearchParams();
4
- qsp.map(p => {
5
- urlParams.append(p[0], p[1]);
6
- });
7
- const qs = urlParams.toString();
8
- return qs;
9
- };
1
+ export const mapObjectToQueryString = (inputObj) => {
2
+ const qsp = Object.entries(inputObj).sort((a, b) => a[0] < b[0] ? -1 : 1);
3
+ const urlParams = new URLSearchParams();
4
+ qsp.map(p => {
5
+ urlParams.append(p[0], p[1]);
6
+ });
7
+ const qs = urlParams.toString();
8
+ return qs;
9
+ };
10
10
  //# sourceMappingURL=url.js.map
@@ -1,5 +1,5 @@
1
- export interface GenericCachedObject {
2
- expiresAt?: number;
3
- cachedAt?: string;
4
- cachedAtEpoch?: number;
5
- }
1
+ export interface GenericCachedObject {
2
+ expiresAt?: number;
3
+ cachedAt?: string;
4
+ cachedAtEpoch?: number;
5
+ }
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=generic-cached-object.js.map
@@ -1 +1 @@
1
- export * from './product-cache-service.js';
1
+ export * from './product-cache-service.js';
@@ -1,2 +1,2 @@
1
- export * from './product-cache-service.js';
1
+ export * from './product-cache-service.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,21 +1,21 @@
1
- import { InternalProduct } from '../shopify/types/product';
2
- import { GenericCachedObject } from './generic-cached-object';
3
- export interface ProductCache extends GenericCachedObject {
4
- productCompressed: string;
5
- fullSha256?: string;
6
- noInventorySha256?: string;
7
- cachedAtEpoch?: number;
8
- expiresAt?: number;
9
- }
10
- export declare const getProductCacheKey: (pixelId: string, productId: string) => string;
11
- export declare class ProductCacheService {
12
- private genericCacheService;
13
- private redisCacheTtlInSeconds;
14
- constructor(cacheLambdaFunctionArn: string, redisCacheTtlInSeconds: number);
15
- getCacheKey: (pixelId: string, productId: string) => string;
16
- getProductFromCache: (pixelId: string, productId: string) => Promise<InternalProduct | undefined>;
17
- getProductCache: (pixelId: string, productId: string) => Promise<ProductCache | undefined>;
18
- putProductInCache: (pixelId: string, productId: string, product: InternalProduct, ttlInSeconds?: number) => Promise<void>;
19
- deleteProductFromCache: (pixelId: string, productId: string) => Promise<void>;
20
- private isProductCacheStale;
21
- }
1
+ import { InternalProduct } from '../shopify/types/product';
2
+ import { GenericCachedObject } from './generic-cached-object';
3
+ export interface ProductCache extends GenericCachedObject {
4
+ productCompressed: string;
5
+ fullSha256?: string;
6
+ noInventorySha256?: string;
7
+ cachedAtEpoch?: number;
8
+ expiresAt?: number;
9
+ }
10
+ export declare const getProductCacheKey: (pixelId: string, productId: string) => string;
11
+ export declare class ProductCacheService {
12
+ private genericCacheService;
13
+ private redisCacheTtlInSeconds;
14
+ constructor(cacheLambdaFunctionArn: string, redisCacheTtlInSeconds: number);
15
+ getCacheKey: (pixelId: string, productId: string) => string;
16
+ getProductFromCache: (pixelId: string, productId: string) => Promise<InternalProduct | undefined>;
17
+ getProductCache: (pixelId: string, productId: string) => Promise<ProductCache | undefined>;
18
+ putProductInCache: (pixelId: string, productId: string, product: InternalProduct, ttlInSeconds?: number) => Promise<void>;
19
+ deleteProductFromCache: (pixelId: string, productId: string) => Promise<void>;
20
+ private isProductCacheStale;
21
+ }
@@ -1,61 +1,61 @@
1
- import { DateTime } from 'luxon';
2
- import { GenericCacheService } from '../generic-cache-service';
3
- import { compressJSON, decompressJSON } from '../../libs';
4
- import crypto from 'crypto';
5
- const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
6
- export const getProductCacheKey = (pixelId, productId) => {
7
- return `internal:product:${pixelId}_${productId}`;
8
- };
9
- export class ProductCacheService {
10
- genericCacheService;
11
- redisCacheTtlInSeconds;
12
- constructor(cacheLambdaFunctionArn, redisCacheTtlInSeconds) {
13
- this.genericCacheService = new GenericCacheService(cacheLambdaFunctionArn);
14
- this.redisCacheTtlInSeconds = redisCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
15
- }
16
- getCacheKey = (pixelId, productId) => {
17
- return getProductCacheKey(pixelId, productId);
18
- };
19
- getProductFromCache = async (pixelId, productId) => {
20
- const cachedData = await this.getProductCache(pixelId, productId);
21
- if (cachedData && !this.isProductCacheStale(cachedData)) {
22
- const product = decompressJSON(cachedData.productCompressed);
23
- return product;
24
- }
25
- return undefined;
26
- };
27
- getProductCache = async (pixelId, productId) => {
28
- const cacheKey = this.getCacheKey(pixelId, productId);
29
- const cachedData = await this.genericCacheService.getCachedData(cacheKey);
30
- return cachedData;
31
- };
32
- putProductInCache = async (pixelId, productId, product, ttlInSeconds) => {
33
- const cacheKey = this.getCacheKey(pixelId, productId);
34
- const ttl = ttlInSeconds || this.redisCacheTtlInSeconds;
35
- const expiresAt = DateTime.utc().plus({ seconds: ttl }).toSeconds();
36
- const cachedAtEpoch = DateTime.utc().toSeconds();
37
- const fullSha256 = crypto.createHash('sha256').update(JSON.stringify(product)).digest('hex');
38
- const noInventoryProduct = { ...product, totalInventory: undefined, variants: product?.variants?.map(variant => ({ ...variant, inventoryQuantity: undefined, inventoryItem: undefined })) };
39
- const noInventorySha256 = crypto.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
40
- const productCompressed = compressJSON(product);
41
- const productCache = {
42
- productCompressed,
43
- fullSha256,
44
- noInventorySha256,
45
- cachedAtEpoch,
46
- expiresAt,
47
- };
48
- await this.genericCacheService.putCachedData(cacheKey, productCache, ttl);
49
- };
50
- deleteProductFromCache = async (pixelId, productId) => {
51
- const cacheKey = this.getCacheKey(pixelId, productId);
52
- await this.genericCacheService.deleteCachedData(cacheKey);
53
- };
54
- isProductCacheStale = (cachedData) => {
55
- if (cachedData?.expiresAt && cachedData.expiresAt < DateTime.utc().toSeconds()) {
56
- return true;
57
- }
58
- return false;
59
- };
60
- }
1
+ import { DateTime } from 'luxon';
2
+ import { GenericCacheService } from '../generic-cache-service';
3
+ import { compressJSON, decompressJSON } from '../../libs';
4
+ import crypto from 'crypto';
5
+ const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
6
+ export const getProductCacheKey = (pixelId, productId) => {
7
+ return `internal:product:${pixelId}_${productId}`;
8
+ };
9
+ export class ProductCacheService {
10
+ genericCacheService;
11
+ redisCacheTtlInSeconds;
12
+ constructor(cacheLambdaFunctionArn, redisCacheTtlInSeconds) {
13
+ this.genericCacheService = new GenericCacheService(cacheLambdaFunctionArn);
14
+ this.redisCacheTtlInSeconds = redisCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
15
+ }
16
+ getCacheKey = (pixelId, productId) => {
17
+ return getProductCacheKey(pixelId, productId);
18
+ };
19
+ getProductFromCache = async (pixelId, productId) => {
20
+ const cachedData = await this.getProductCache(pixelId, productId);
21
+ if (cachedData && !this.isProductCacheStale(cachedData)) {
22
+ const product = decompressJSON(cachedData.productCompressed);
23
+ return product;
24
+ }
25
+ return undefined;
26
+ };
27
+ getProductCache = async (pixelId, productId) => {
28
+ const cacheKey = this.getCacheKey(pixelId, productId);
29
+ const cachedData = await this.genericCacheService.getCachedData(cacheKey);
30
+ return cachedData;
31
+ };
32
+ putProductInCache = async (pixelId, productId, product, ttlInSeconds) => {
33
+ const cacheKey = this.getCacheKey(pixelId, productId);
34
+ const ttl = ttlInSeconds || this.redisCacheTtlInSeconds;
35
+ const expiresAt = DateTime.utc().plus({ seconds: ttl }).toSeconds();
36
+ const cachedAtEpoch = DateTime.utc().toSeconds();
37
+ const fullSha256 = crypto.createHash('sha256').update(JSON.stringify(product)).digest('hex');
38
+ const noInventoryProduct = { ...product, totalInventory: undefined, variants: product?.variants?.map(variant => ({ ...variant, inventoryQuantity: undefined, inventoryItem: undefined })) };
39
+ const noInventorySha256 = crypto.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
40
+ const productCompressed = compressJSON(product);
41
+ const productCache = {
42
+ productCompressed,
43
+ fullSha256,
44
+ noInventorySha256,
45
+ cachedAtEpoch,
46
+ expiresAt,
47
+ };
48
+ await this.genericCacheService.putCachedData(cacheKey, productCache, ttl);
49
+ };
50
+ deleteProductFromCache = async (pixelId, productId) => {
51
+ const cacheKey = this.getCacheKey(pixelId, productId);
52
+ await this.genericCacheService.deleteCachedData(cacheKey);
53
+ };
54
+ isProductCacheStale = (cachedData) => {
55
+ if (cachedData?.expiresAt && cachedData.expiresAt < DateTime.utc().toSeconds()) {
56
+ return true;
57
+ }
58
+ return false;
59
+ };
60
+ }
61
61
  //# sourceMappingURL=product-cache-service.js.map
@@ -1,11 +1,11 @@
1
- import { CurrencyExchangeRateRecord } from './db/currency-exchange-rates-db-service';
2
- export declare class CurrencyExchangeRateLookupService {
3
- private TABLE_NAME;
4
- private TABLE_KEY;
5
- private EXCHANGE_RATE_API_KEY;
6
- private TTL_IN_DAYS;
7
- private currencyExchangeRatesDbService;
8
- private exchangeRateApiClient;
9
- constructor(tableName: string, tableKey: string, exchangeRateApiKey: string, ttlInDays?: number);
10
- lookupCurrencyExchangeRate: (currency: string) => Promise<CurrencyExchangeRateRecord | null>;
11
- }
1
+ import { CurrencyExchangeRateRecord } from './db/currency-exchange-rates-db-service';
2
+ export declare class CurrencyExchangeRateLookupService {
3
+ private TABLE_NAME;
4
+ private TABLE_KEY;
5
+ private EXCHANGE_RATE_API_KEY;
6
+ private TTL_IN_DAYS;
7
+ private currencyExchangeRatesDbService;
8
+ private exchangeRateApiClient;
9
+ constructor(tableName: string, tableKey: string, exchangeRateApiKey: string, ttlInDays?: number);
10
+ lookupCurrencyExchangeRate: (currency: string) => Promise<CurrencyExchangeRateRecord | null>;
11
+ }