@adtrackify/at-service-common 3.3.1 → 3.3.2

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 +32 -25
  52. package/dist/cjs/clients/internal-api/identity-client.js +98 -92
  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 +28 -19
  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 +157 -150
  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 +14 -13
  109. package/dist/cjs/libs/index.js +30 -29
  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/strings.d.ts +3 -0
  120. package/dist/cjs/libs/strings.js +38 -0
  121. package/dist/cjs/libs/strings.js.map +1 -0
  122. package/dist/cjs/libs/traits.d.ts +2 -2
  123. package/dist/cjs/libs/traits.js +19 -19
  124. package/dist/cjs/libs/url.d.ts +1 -1
  125. package/dist/cjs/libs/url.js +13 -13
  126. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  127. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  128. package/dist/cjs/services/cache/index.d.ts +1 -1
  129. package/dist/cjs/services/cache/index.js +17 -17
  130. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  131. package/dist/cjs/services/cache/product-cache-service.js +68 -68
  132. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  133. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +50 -50
  134. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  135. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  136. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  137. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  138. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  139. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  140. package/dist/cjs/services/db/index.d.ts +9 -9
  141. package/dist/cjs/services/db/index.js +25 -25
  142. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  143. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  144. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +8 -8
  145. package/dist/cjs/services/db/purchasable-contacts-db-service.js +25 -25
  146. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  147. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  148. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  149. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  150. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  151. package/dist/cjs/services/db/shopify-products-cache-db-service.js +65 -65
  152. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  153. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  154. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  155. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  156. package/dist/cjs/services/events/index.d.ts +3 -3
  157. package/dist/cjs/services/events/index.js +19 -19
  158. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  159. package/dist/cjs/services/events/log-event-service.js +56 -56
  160. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  161. package/dist/cjs/services/events/metric-event-service.js +49 -49
  162. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  163. package/dist/cjs/services/events/tracking-event-sqs-service.js +29 -29
  164. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  165. package/dist/cjs/services/generic-cache-service.js +33 -33
  166. package/dist/cjs/services/index.d.ts +8 -8
  167. package/dist/cjs/services/index.js +24 -24
  168. package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
  169. package/dist/cjs/services/ipdata-lookup-service.js +77 -77
  170. package/dist/cjs/services/shopify/index.d.ts +3 -3
  171. package/dist/cjs/services/shopify/index.js +19 -19
  172. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  173. package/dist/cjs/services/shopify/products/index.js +17 -17
  174. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  175. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +103 -103
  176. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  177. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +137 -137
  178. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  179. package/dist/cjs/services/shopify/types/index.js +17 -17
  180. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  181. package/dist/cjs/services/shopify/types/product.js +9 -9
  182. package/dist/cjs/types/api-response.d.ts +6 -6
  183. package/dist/cjs/types/api-response.js +2 -2
  184. package/dist/cjs/types/index.d.ts +2 -2
  185. package/dist/cjs/types/index.js +18 -18
  186. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  187. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  188. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  189. package/dist/cjs/types/internal-events/index.js +17 -17
  190. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  191. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  192. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  193. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  194. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  195. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  196. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  197. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +198 -198
  198. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  199. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  200. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  201. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  202. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  203. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  204. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  205. package/dist/esm/__tests__/libs/dates.spec.js +130 -130
  206. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  207. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  208. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  209. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  210. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  211. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  212. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  213. package/dist/esm/clients/generic/cognito-client.js +204 -204
  214. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  215. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  216. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  217. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  218. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  219. package/dist/esm/clients/generic/http-client.js +53 -53
  220. package/dist/esm/clients/generic/index.d.ts +10 -10
  221. package/dist/esm/clients/generic/index.js +10 -10
  222. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  223. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  224. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  225. package/dist/esm/clients/generic/location-client.js +27 -27
  226. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  227. package/dist/esm/clients/generic/redis-client.js +121 -121
  228. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  229. package/dist/esm/clients/generic/s3-client.js +191 -191
  230. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  231. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  232. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  233. package/dist/esm/clients/generic/sqs-client.js +32 -32
  234. package/dist/esm/clients/index.d.ts +3 -3
  235. package/dist/esm/clients/index.js +3 -3
  236. package/dist/esm/clients/internal-api/accounts-client.d.ts +83 -83
  237. package/dist/esm/clients/internal-api/accounts-client.js +103 -103
  238. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  239. package/dist/esm/clients/internal-api/cache-lambda-client.js +75 -75
  240. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  241. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  242. package/dist/esm/clients/internal-api/destinations-client.d.ts +27 -27
  243. package/dist/esm/clients/internal-api/destinations-client.js +47 -47
  244. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  245. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  246. package/dist/esm/clients/internal-api/identity-client.d.ts +32 -25
  247. package/dist/esm/clients/internal-api/identity-client.js +94 -88
  248. package/dist/esm/clients/internal-api/identity-client.js.map +1 -1
  249. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  250. package/dist/esm/clients/internal-api/index.js +9 -9
  251. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  252. package/dist/esm/clients/internal-api/shopify-app-install-client.js +64 -64
  253. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +23 -23
  254. package/dist/esm/clients/internal-api/subscriptions-client.js +54 -54
  255. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  256. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  257. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  258. package/dist/esm/clients/third-party/emailable-client.js +24 -15
  259. package/dist/esm/clients/third-party/emailable-client.js.map +1 -1
  260. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  261. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  262. package/dist/esm/clients/third-party/index.d.ts +2 -2
  263. package/dist/esm/clients/third-party/index.js +2 -2
  264. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  265. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  266. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  267. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  268. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  269. package/dist/esm/clients/third-party/shopify-client.js +140 -140
  270. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  271. package/dist/esm/helpers/account-users-helper.js +18 -18
  272. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  273. package/dist/esm/helpers/identity-cache-helper.js +152 -145
  274. package/dist/esm/helpers/identity-cache-helper.js.map +1 -1
  275. package/dist/esm/helpers/index.d.ts +6 -6
  276. package/dist/esm/helpers/index.js +6 -6
  277. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  278. package/dist/esm/helpers/input-validation-helper.js +18 -18
  279. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  280. package/dist/esm/helpers/logging-helper.js +56 -56
  281. package/dist/esm/helpers/response-helper.d.ts +15 -15
  282. package/dist/esm/helpers/response-helper.js +36 -36
  283. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  284. package/dist/esm/helpers/shopify-helper.js +23 -23
  285. package/dist/esm/index.d.ts +5 -5
  286. package/dist/esm/index.js +5 -5
  287. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  288. package/dist/esm/libs/click-id-parser.js +45 -45
  289. package/dist/esm/libs/compression.d.ts +2 -2
  290. package/dist/esm/libs/compression.js +25 -25
  291. package/dist/esm/libs/crypto.d.ts +2 -2
  292. package/dist/esm/libs/crypto.js +8 -8
  293. package/dist/esm/libs/csv.d.ts +2 -2
  294. package/dist/esm/libs/csv.js +30 -30
  295. package/dist/esm/libs/currency.d.ts +1 -1
  296. package/dist/esm/libs/currency.js +17 -17
  297. package/dist/esm/libs/dates.d.ts +12 -12
  298. package/dist/esm/libs/dates.js +83 -83
  299. package/dist/esm/libs/http-error.d.ts +21 -21
  300. package/dist/esm/libs/http-error.js +55 -55
  301. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  302. package/dist/esm/libs/http-status-codes.js +59 -59
  303. package/dist/esm/libs/index.d.ts +14 -13
  304. package/dist/esm/libs/index.js +14 -13
  305. package/dist/esm/libs/index.js.map +1 -1
  306. package/dist/esm/libs/numbers.d.ts +1 -1
  307. package/dist/esm/libs/numbers.js +11 -11
  308. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  309. package/dist/esm/libs/referrer-parser/index.js +2 -2
  310. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  311. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  312. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  313. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  314. package/dist/esm/libs/strings.d.ts +3 -0
  315. package/dist/esm/libs/strings.js +32 -0
  316. package/dist/esm/libs/strings.js.map +1 -0
  317. package/dist/esm/libs/traits.d.ts +2 -2
  318. package/dist/esm/libs/traits.js +12 -12
  319. package/dist/esm/libs/url.d.ts +1 -1
  320. package/dist/esm/libs/url.js +9 -9
  321. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  322. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  323. package/dist/esm/services/cache/index.d.ts +1 -1
  324. package/dist/esm/services/cache/index.js +1 -1
  325. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  326. package/dist/esm/services/cache/product-cache-service.js +60 -60
  327. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  328. package/dist/esm/services/currency-exchange-rate-lookup-service.js +46 -46
  329. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  330. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  331. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  332. package/dist/esm/services/db/destinations-db-service.js +53 -53
  333. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  334. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  335. package/dist/esm/services/db/index.d.ts +9 -9
  336. package/dist/esm/services/db/index.js +9 -9
  337. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  338. package/dist/esm/services/db/log-events-db-service.js +168 -168
  339. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +8 -8
  340. package/dist/esm/services/db/purchasable-contacts-db-service.js +21 -21
  341. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  342. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  343. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  344. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  345. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  346. package/dist/esm/services/db/shopify-products-cache-db-service.js +58 -58
  347. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  348. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  349. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  350. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  351. package/dist/esm/services/events/index.d.ts +3 -3
  352. package/dist/esm/services/events/index.js +3 -3
  353. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  354. package/dist/esm/services/events/log-event-service.js +52 -52
  355. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  356. package/dist/esm/services/events/metric-event-service.js +45 -45
  357. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  358. package/dist/esm/services/events/tracking-event-sqs-service.js +25 -25
  359. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  360. package/dist/esm/services/generic-cache-service.js +29 -29
  361. package/dist/esm/services/index.d.ts +8 -8
  362. package/dist/esm/services/index.js +8 -8
  363. package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
  364. package/dist/esm/services/ipdata-lookup-service.js +73 -73
  365. package/dist/esm/services/shopify/index.d.ts +3 -3
  366. package/dist/esm/services/shopify/index.js +3 -3
  367. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  368. package/dist/esm/services/shopify/products/index.js +1 -1
  369. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  370. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +99 -99
  371. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  372. package/dist/esm/services/shopify/shopify-graphql-transformer.js +134 -134
  373. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  374. package/dist/esm/services/shopify/types/index.js +1 -1
  375. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  376. package/dist/esm/services/shopify/types/product.js +6 -6
  377. package/dist/esm/types/api-response.d.ts +6 -6
  378. package/dist/esm/types/api-response.js +1 -1
  379. package/dist/esm/types/index.d.ts +2 -2
  380. package/dist/esm/types/index.js +2 -2
  381. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  382. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  383. package/dist/esm/types/internal-events/index.d.ts +1 -1
  384. package/dist/esm/types/internal-events/index.js +1 -1
  385. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  386. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  387. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  388. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  389. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  390. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  391. 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
@@ -0,0 +1,3 @@
1
+ export declare const capitalizeEachWord: (value: string) => string;
2
+ export declare const capitalizeFirstLetter: (value: string) => string;
3
+ export declare const containsUpperCase: (input: string) => boolean;
@@ -0,0 +1,32 @@
1
+ import { Logger } from '../helpers';
2
+ export const capitalizeEachWord = (value) => {
3
+ try {
4
+ return value
5
+ .split(' ')
6
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
7
+ .join(' ');
8
+ }
9
+ catch (error) {
10
+ Logger.error('error capitalizing each word', { error, value });
11
+ return value;
12
+ }
13
+ };
14
+ export const capitalizeFirstLetter = (value) => {
15
+ try {
16
+ return value.charAt(0).toUpperCase() + value.slice(1);
17
+ }
18
+ catch (error) {
19
+ Logger.error('error capitalizing first letter', { error, value });
20
+ return value;
21
+ }
22
+ };
23
+ export const containsUpperCase = (input) => {
24
+ try {
25
+ return /[A-Z]/.test(input);
26
+ }
27
+ catch (error) {
28
+ Logger.error('error checking if string contains upper case', { error, input });
29
+ return false;
30
+ }
31
+ };
32
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../src/libs/strings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;IAClD,IAAI;QACF,OAAO,KAAK;aACT,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvE,IAAI,CAAC,GAAG,CAAC,CAAC;KACd;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,EAAE;IACrD,IAAI;QACF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACvD;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAW,EAAE;IAC1D,IAAI;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC"}
@@ -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
+ }