@adtrackify/at-service-common 3.3.2 → 3.3.3

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