@adtrackify/at-service-common 3.16.5 → 3.16.6

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 (413) hide show
  1. package/dist/cjs/__tests__/clients/sqs-client.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/clients/sqs-client.spec.js +121 -121
  3. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
  5. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  7. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +588 -588
  9. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  10. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  11. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  12. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  13. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  14. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  15. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  16. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  17. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  18. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  19. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  20. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
  21. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  22. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  23. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  24. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  25. package/dist/cjs/clients/generic/dynamodb-client.d.ts +18 -18
  26. package/dist/cjs/clients/generic/dynamodb-client.js +171 -171
  27. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  28. package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
  29. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  30. package/dist/cjs/clients/generic/http-client.js +61 -61
  31. package/dist/cjs/clients/generic/index.d.ts +10 -10
  32. package/dist/cjs/clients/generic/index.js +26 -26
  33. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  34. package/dist/cjs/clients/generic/lambda-invoke-client.js +39 -39
  35. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  36. package/dist/cjs/clients/generic/location-client.js +31 -31
  37. package/dist/cjs/clients/generic/redis-client.d.ts +33 -33
  38. package/dist/cjs/clients/generic/redis-client.js +191 -191
  39. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  40. package/dist/cjs/clients/generic/s3-client.js +216 -216
  41. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  42. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  43. package/dist/cjs/clients/generic/sqs-client.d.ts +33 -33
  44. package/dist/cjs/clients/generic/sqs-client.js +111 -111
  45. package/dist/cjs/clients/index.d.ts +3 -3
  46. package/dist/cjs/clients/index.js +19 -19
  47. package/dist/cjs/clients/internal-api/accounts-client.d.ts +91 -91
  48. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  49. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +26 -26
  50. package/dist/cjs/clients/internal-api/cache-lambda-client.js +89 -89
  51. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  52. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  53. package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
  54. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  55. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  56. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  57. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  58. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  59. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  60. package/dist/cjs/clients/internal-api/index.js +25 -25
  61. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  62. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  63. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  64. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  65. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  66. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  67. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  68. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  69. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  70. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  71. package/dist/cjs/clients/third-party/index.d.ts +4 -4
  72. package/dist/cjs/clients/third-party/index.js +20 -20
  73. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  74. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  75. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  76. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.js +30 -30
  77. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  78. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  79. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  80. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +161 -161
  81. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  82. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  83. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  84. package/dist/cjs/helpers/account-users-helper.js +22 -22
  85. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  86. package/dist/cjs/helpers/identity-cache-helper.js +156 -156
  87. package/dist/cjs/helpers/index.d.ts +7 -7
  88. package/dist/cjs/helpers/index.js +23 -23
  89. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  90. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  91. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  92. package/dist/cjs/helpers/logging-helper.js +84 -84
  93. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  94. package/dist/cjs/helpers/response-helper.js +43 -43
  95. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  96. package/dist/cjs/helpers/shopify-helper.js +26 -26
  97. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  98. package/dist/cjs/helpers/sqs-utils.js +14 -14
  99. package/dist/cjs/index.d.ts +5 -5
  100. package/dist/cjs/index.js +21 -21
  101. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  102. package/dist/cjs/libs/click-id-parser.js +49 -49
  103. package/dist/cjs/libs/compression.d.ts +2 -2
  104. package/dist/cjs/libs/compression.js +33 -33
  105. package/dist/cjs/libs/cookie.d.ts +17 -17
  106. package/dist/cjs/libs/cookie.js +76 -76
  107. package/dist/cjs/libs/crypto.d.ts +4 -4
  108. package/dist/cjs/libs/crypto.js +25 -25
  109. package/dist/cjs/libs/csv.d.ts +2 -2
  110. package/dist/cjs/libs/csv.js +35 -35
  111. package/dist/cjs/libs/currency.d.ts +1 -1
  112. package/dist/cjs/libs/currency.js +29 -29
  113. package/dist/cjs/libs/dates.d.ts +12 -12
  114. package/dist/cjs/libs/dates.js +96 -96
  115. package/dist/cjs/libs/domain.d.ts +2 -2
  116. package/dist/cjs/libs/domain.js +38 -38
  117. package/dist/cjs/libs/emails.d.ts +6 -6
  118. package/dist/cjs/libs/emails.js +122 -122
  119. package/dist/cjs/libs/http-error.d.ts +21 -21
  120. package/dist/cjs/libs/http-error.js +63 -63
  121. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  122. package/dist/cjs/libs/http-status-codes.js +62 -62
  123. package/dist/cjs/libs/index.d.ts +17 -17
  124. package/dist/cjs/libs/index.js +33 -33
  125. package/dist/cjs/libs/numbers.d.ts +1 -1
  126. package/dist/cjs/libs/numbers.js +15 -15
  127. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  128. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  129. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  130. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  131. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  132. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  133. package/dist/cjs/libs/strings.d.ts +3 -3
  134. package/dist/cjs/libs/strings.js +46 -46
  135. package/dist/cjs/libs/traits.d.ts +6 -6
  136. package/dist/cjs/libs/traits.js +65 -65
  137. package/dist/cjs/libs/url.d.ts +1 -1
  138. package/dist/cjs/libs/url.js +13 -13
  139. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  140. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  141. package/dist/cjs/services/cache/index.d.ts +1 -1
  142. package/dist/cjs/services/cache/index.js +17 -17
  143. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  144. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  145. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  146. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
  147. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  148. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  149. package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
  150. package/dist/cjs/services/db/destinations-db-service.js +76 -76
  151. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  152. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  153. package/dist/cjs/services/db/index.d.ts +10 -10
  154. package/dist/cjs/services/db/index.js +26 -26
  155. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  156. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  157. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
  158. package/dist/cjs/services/db/pixels-db-service.js +35 -35
  159. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  160. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  161. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  162. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  163. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  164. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  165. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  166. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  167. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  168. package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
  169. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  170. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  171. package/dist/cjs/services/events/index.d.ts +3 -3
  172. package/dist/cjs/services/events/index.js +19 -19
  173. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  174. package/dist/cjs/services/events/log-event-service.js +56 -56
  175. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  176. package/dist/cjs/services/events/metric-event-service.js +49 -49
  177. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  178. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  179. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  180. package/dist/cjs/services/generic-cache-service.js +33 -33
  181. package/dist/cjs/services/index.d.ts +8 -8
  182. package/dist/cjs/services/index.js +24 -24
  183. package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -20
  184. package/dist/cjs/services/ipdata-lookup-service.js +112 -112
  185. package/dist/cjs/services/shopify/index.d.ts +2 -2
  186. package/dist/cjs/services/shopify/index.js +18 -18
  187. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  188. package/dist/cjs/services/shopify/products/index.js +17 -17
  189. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  190. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +112 -112
  191. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  192. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  193. package/dist/cjs/types/api-response.d.ts +6 -6
  194. package/dist/cjs/types/api-response.js +2 -2
  195. package/dist/cjs/types/index.d.ts +1 -1
  196. package/dist/cjs/types/index.js +17 -17
  197. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  198. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  199. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  200. package/dist/cjs/types/internal-events/index.js +17 -17
  201. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  202. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  203. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  204. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  205. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  206. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  207. package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
  208. package/dist/esm/__tests__/clients/sqs-client.spec.js +119 -119
  209. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  210. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  211. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  212. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  213. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  214. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  215. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  216. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  217. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  218. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  219. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  220. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  221. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  222. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  223. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  224. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  225. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  226. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  227. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  228. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  229. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  230. package/dist/esm/clients/generic/cognito-client.js +204 -204
  231. package/dist/esm/clients/generic/dynamodb-client.d.ts +18 -18
  232. package/dist/esm/clients/generic/dynamodb-client.js +167 -167
  233. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  234. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  235. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  236. package/dist/esm/clients/generic/http-client.js +53 -53
  237. package/dist/esm/clients/generic/index.d.ts +10 -10
  238. package/dist/esm/clients/generic/index.js +10 -10
  239. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  240. package/dist/esm/clients/generic/lambda-invoke-client.js +35 -35
  241. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  242. package/dist/esm/clients/generic/location-client.js +27 -27
  243. package/dist/esm/clients/generic/redis-client.d.ts +33 -33
  244. package/dist/esm/clients/generic/redis-client.js +184 -184
  245. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  246. package/dist/esm/clients/generic/s3-client.js +209 -209
  247. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  248. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  249. package/dist/esm/clients/generic/sqs-client.d.ts +33 -33
  250. package/dist/esm/clients/generic/sqs-client.js +107 -107
  251. package/dist/esm/clients/index.d.ts +3 -3
  252. package/dist/esm/clients/index.js +3 -3
  253. package/dist/esm/clients/internal-api/accounts-client.d.ts +91 -91
  254. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  255. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +26 -26
  256. package/dist/esm/clients/internal-api/cache-lambda-client.js +85 -85
  257. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  258. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  259. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  260. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  261. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  262. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  263. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  264. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  265. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  266. package/dist/esm/clients/internal-api/index.js +9 -9
  267. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  268. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  269. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  270. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  271. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  272. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  273. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  274. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  275. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  276. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  277. package/dist/esm/clients/third-party/index.d.ts +4 -4
  278. package/dist/esm/clients/third-party/index.js +4 -4
  279. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  280. package/dist/esm/clients/third-party/loops-client.js +26 -26
  281. package/dist/esm/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  282. package/dist/esm/clients/third-party/shopify/graphql-order-queries.js +27 -27
  283. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  284. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  285. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  286. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +157 -157
  287. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  288. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  289. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  290. package/dist/esm/helpers/account-users-helper.js +18 -18
  291. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  292. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  293. package/dist/esm/helpers/index.d.ts +7 -7
  294. package/dist/esm/helpers/index.js +7 -7
  295. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  296. package/dist/esm/helpers/input-validation-helper.js +18 -18
  297. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  298. package/dist/esm/helpers/logging-helper.js +56 -56
  299. package/dist/esm/helpers/response-helper.d.ts +18 -18
  300. package/dist/esm/helpers/response-helper.js +37 -37
  301. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  302. package/dist/esm/helpers/shopify-helper.js +21 -21
  303. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  304. package/dist/esm/helpers/sqs-utils.js +9 -9
  305. package/dist/esm/index.d.ts +5 -5
  306. package/dist/esm/index.js +5 -5
  307. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  308. package/dist/esm/libs/click-id-parser.js +45 -45
  309. package/dist/esm/libs/compression.d.ts +2 -2
  310. package/dist/esm/libs/compression.js +25 -25
  311. package/dist/esm/libs/cookie.d.ts +17 -17
  312. package/dist/esm/libs/cookie.js +70 -70
  313. package/dist/esm/libs/crypto.d.ts +4 -4
  314. package/dist/esm/libs/crypto.js +15 -15
  315. package/dist/esm/libs/csv.d.ts +2 -2
  316. package/dist/esm/libs/csv.js +30 -30
  317. package/dist/esm/libs/currency.d.ts +1 -1
  318. package/dist/esm/libs/currency.js +22 -22
  319. package/dist/esm/libs/dates.d.ts +12 -12
  320. package/dist/esm/libs/dates.js +83 -83
  321. package/dist/esm/libs/domain.d.ts +2 -2
  322. package/dist/esm/libs/domain.js +33 -33
  323. package/dist/esm/libs/emails.d.ts +6 -6
  324. package/dist/esm/libs/emails.js +115 -115
  325. package/dist/esm/libs/http-error.d.ts +21 -21
  326. package/dist/esm/libs/http-error.js +59 -59
  327. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  328. package/dist/esm/libs/http-status-codes.js +59 -59
  329. package/dist/esm/libs/index.d.ts +17 -17
  330. package/dist/esm/libs/index.js +17 -17
  331. package/dist/esm/libs/numbers.d.ts +1 -1
  332. package/dist/esm/libs/numbers.js +11 -11
  333. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  334. package/dist/esm/libs/referrer-parser/index.js +2 -2
  335. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  336. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  337. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  338. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  339. package/dist/esm/libs/strings.d.ts +3 -3
  340. package/dist/esm/libs/strings.js +40 -40
  341. package/dist/esm/libs/traits.d.ts +6 -6
  342. package/dist/esm/libs/traits.js +54 -54
  343. package/dist/esm/libs/url.d.ts +1 -1
  344. package/dist/esm/libs/url.js +9 -9
  345. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  346. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  347. package/dist/esm/services/cache/index.d.ts +1 -1
  348. package/dist/esm/services/cache/index.js +1 -1
  349. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  350. package/dist/esm/services/cache/product-cache-service.js +68 -68
  351. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  352. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  353. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  354. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  355. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  356. package/dist/esm/services/db/destinations-db-service.js +72 -72
  357. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  358. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  359. package/dist/esm/services/db/index.d.ts +10 -10
  360. package/dist/esm/services/db/index.js +10 -10
  361. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  362. package/dist/esm/services/db/log-events-db-service.js +177 -177
  363. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  364. package/dist/esm/services/db/pixels-db-service.js +31 -31
  365. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  366. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  367. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  368. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  369. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  370. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  371. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  372. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  373. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  374. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  375. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  376. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  377. package/dist/esm/services/events/index.d.ts +3 -3
  378. package/dist/esm/services/events/index.js +3 -3
  379. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  380. package/dist/esm/services/events/log-event-service.js +52 -52
  381. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  382. package/dist/esm/services/events/metric-event-service.js +45 -45
  383. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  384. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  385. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  386. package/dist/esm/services/generic-cache-service.js +29 -29
  387. package/dist/esm/services/index.d.ts +8 -8
  388. package/dist/esm/services/index.js +8 -8
  389. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
  390. package/dist/esm/services/ipdata-lookup-service.js +108 -108
  391. package/dist/esm/services/shopify/index.d.ts +2 -2
  392. package/dist/esm/services/shopify/index.js +2 -2
  393. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  394. package/dist/esm/services/shopify/products/index.js +1 -1
  395. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  396. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +108 -108
  397. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  398. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  399. package/dist/esm/types/api-response.d.ts +6 -6
  400. package/dist/esm/types/api-response.js +1 -1
  401. package/dist/esm/types/index.d.ts +1 -1
  402. package/dist/esm/types/index.js +1 -1
  403. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  404. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  405. package/dist/esm/types/internal-events/index.d.ts +1 -1
  406. package/dist/esm/types/internal-events/index.js +1 -1
  407. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  408. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  409. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  410. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  411. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  412. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  413. package/package.json +135 -135
@@ -1,21 +1,21 @@
1
- import { type InternalProduct } from '@adtrackify/at-tracking-event-types';
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 { type InternalProduct } from '@adtrackify/at-tracking-event-types';
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,77 +1,77 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ProductCacheService = exports.getProductCacheKey = void 0;
7
- const luxon_1 = require("luxon");
8
- const generic_cache_service_js_1 = require("../generic-cache-service.js");
9
- const index_js_1 = require("../../libs/index.js");
10
- const crypto_1 = __importDefault(require("crypto"));
11
- const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
12
- const getProductCacheKey = (pixelId, productId) => {
13
- return `internal:product:${pixelId}_${productId}`;
14
- };
15
- exports.getProductCacheKey = getProductCacheKey;
16
- class ProductCacheService {
17
- genericCacheService;
18
- redisCacheTtlInSeconds;
19
- constructor(cacheLambdaFunctionArn, redisCacheTtlInSeconds) {
20
- this.genericCacheService = new generic_cache_service_js_1.GenericCacheService(cacheLambdaFunctionArn);
21
- this.redisCacheTtlInSeconds = redisCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
22
- }
23
- getCacheKey = (pixelId, productId) => {
24
- return (0, exports.getProductCacheKey)(pixelId, productId);
25
- };
26
- getProductFromCache = async (pixelId, productId) => {
27
- const cachedData = await this.getProductCache(pixelId, productId);
28
- if (cachedData && !this.isProductCacheStale(cachedData)) {
29
- const product = (0, index_js_1.decompressJSON)(cachedData.productCompressed);
30
- return product;
31
- }
32
- return undefined;
33
- };
34
- getProductCache = async (pixelId, productId) => {
35
- const cacheKey = this.getCacheKey(pixelId, productId);
36
- const cachedData = await this.genericCacheService.getCachedData(cacheKey);
37
- return cachedData;
38
- };
39
- putProductInCache = async (pixelId, productId, product, ttlInSeconds) => {
40
- const cacheKey = this.getCacheKey(pixelId, productId);
41
- const ttl = ttlInSeconds || this.redisCacheTtlInSeconds;
42
- const expiresAt = luxon_1.DateTime.utc().plus({ seconds: ttl }).toSeconds();
43
- const cachedAtEpoch = luxon_1.DateTime.utc().toSeconds();
44
- const fullSha256 = crypto_1.default.createHash('sha256').update(JSON.stringify(product)).digest('hex');
45
- const noInventoryProduct = {
46
- ...product,
47
- totalInventory: undefined,
48
- variants: product?.variants?.map((variant) => ({
49
- ...variant,
50
- inventoryQuantity: undefined,
51
- inventoryItem: undefined,
52
- })),
53
- };
54
- const noInventorySha256 = crypto_1.default.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
55
- const productCompressed = (0, index_js_1.compressJSON)(product);
56
- const productCache = {
57
- productCompressed,
58
- fullSha256,
59
- noInventorySha256,
60
- cachedAtEpoch,
61
- expiresAt,
62
- };
63
- await this.genericCacheService.putCachedData(cacheKey, productCache, ttl);
64
- };
65
- deleteProductFromCache = async (pixelId, productId) => {
66
- const cacheKey = this.getCacheKey(pixelId, productId);
67
- await this.genericCacheService.deleteCachedData(cacheKey);
68
- };
69
- isProductCacheStale = (cachedData) => {
70
- if (cachedData?.expiresAt && cachedData.expiresAt < luxon_1.DateTime.utc().toSeconds()) {
71
- return true;
72
- }
73
- return false;
74
- };
75
- }
76
- exports.ProductCacheService = ProductCacheService;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ProductCacheService = exports.getProductCacheKey = void 0;
7
+ const luxon_1 = require("luxon");
8
+ const generic_cache_service_js_1 = require("../generic-cache-service.js");
9
+ const index_js_1 = require("../../libs/index.js");
10
+ const crypto_1 = __importDefault(require("crypto"));
11
+ const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
12
+ const getProductCacheKey = (pixelId, productId) => {
13
+ return `internal:product:${pixelId}_${productId}`;
14
+ };
15
+ exports.getProductCacheKey = getProductCacheKey;
16
+ class ProductCacheService {
17
+ genericCacheService;
18
+ redisCacheTtlInSeconds;
19
+ constructor(cacheLambdaFunctionArn, redisCacheTtlInSeconds) {
20
+ this.genericCacheService = new generic_cache_service_js_1.GenericCacheService(cacheLambdaFunctionArn);
21
+ this.redisCacheTtlInSeconds = redisCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
22
+ }
23
+ getCacheKey = (pixelId, productId) => {
24
+ return (0, exports.getProductCacheKey)(pixelId, productId);
25
+ };
26
+ getProductFromCache = async (pixelId, productId) => {
27
+ const cachedData = await this.getProductCache(pixelId, productId);
28
+ if (cachedData && !this.isProductCacheStale(cachedData)) {
29
+ const product = (0, index_js_1.decompressJSON)(cachedData.productCompressed);
30
+ return product;
31
+ }
32
+ return undefined;
33
+ };
34
+ getProductCache = async (pixelId, productId) => {
35
+ const cacheKey = this.getCacheKey(pixelId, productId);
36
+ const cachedData = await this.genericCacheService.getCachedData(cacheKey);
37
+ return cachedData;
38
+ };
39
+ putProductInCache = async (pixelId, productId, product, ttlInSeconds) => {
40
+ const cacheKey = this.getCacheKey(pixelId, productId);
41
+ const ttl = ttlInSeconds || this.redisCacheTtlInSeconds;
42
+ const expiresAt = luxon_1.DateTime.utc().plus({ seconds: ttl }).toSeconds();
43
+ const cachedAtEpoch = luxon_1.DateTime.utc().toSeconds();
44
+ const fullSha256 = crypto_1.default.createHash('sha256').update(JSON.stringify(product)).digest('hex');
45
+ const noInventoryProduct = {
46
+ ...product,
47
+ totalInventory: undefined,
48
+ variants: product?.variants?.map((variant) => ({
49
+ ...variant,
50
+ inventoryQuantity: undefined,
51
+ inventoryItem: undefined,
52
+ })),
53
+ };
54
+ const noInventorySha256 = crypto_1.default.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
55
+ const productCompressed = (0, index_js_1.compressJSON)(product);
56
+ const productCache = {
57
+ productCompressed,
58
+ fullSha256,
59
+ noInventorySha256,
60
+ cachedAtEpoch,
61
+ expiresAt,
62
+ };
63
+ await this.genericCacheService.putCachedData(cacheKey, productCache, ttl);
64
+ };
65
+ deleteProductFromCache = async (pixelId, productId) => {
66
+ const cacheKey = this.getCacheKey(pixelId, productId);
67
+ await this.genericCacheService.deleteCachedData(cacheKey);
68
+ };
69
+ isProductCacheStale = (cachedData) => {
70
+ if (cachedData?.expiresAt && cachedData.expiresAt < luxon_1.DateTime.utc().toSeconds()) {
71
+ return true;
72
+ }
73
+ return false;
74
+ };
75
+ }
76
+ exports.ProductCacheService = ProductCacheService;
77
77
  //# 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
+ }
@@ -1,67 +1,67 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CurrencyExchangeRateLookupService = void 0;
4
- const luxon_1 = require("luxon");
5
- const helpers_1 = require("../helpers");
6
- const currency_exchange_rates_db_service_1 = require("./db/currency-exchange-rates-db-service");
7
- const exchange_rate_api_client_1 = require("../clients/third-party/exchange-rate-api-client");
8
- class CurrencyExchangeRateLookupService {
9
- TABLE_NAME;
10
- TABLE_KEY;
11
- EXCHANGE_RATE_API_KEY;
12
- TTL_IN_DAYS;
13
- currencyExchangeRatesDbService;
14
- exchangeRateApiClient;
15
- constructor(tableName, tableKey, exchangeRateApiKey, ttlInDays) {
16
- this.TABLE_NAME = tableName;
17
- this.TABLE_KEY = tableKey;
18
- this.EXCHANGE_RATE_API_KEY = exchangeRateApiKey;
19
- this.TTL_IN_DAYS = ttlInDays || 7;
20
- this.currencyExchangeRatesDbService = new currency_exchange_rates_db_service_1.CurrencyExchangeRatesDbService(this.TABLE_NAME, this.TABLE_KEY);
21
- this.exchangeRateApiClient = new exchange_rate_api_client_1.ExchangeRateApiClient(this.EXCHANGE_RATE_API_KEY);
22
- }
23
- lookupCurrencyExchangeRate = async (currency) => {
24
- try {
25
- const record = await this.currencyExchangeRatesDbService.getCurrencyExchangeRate(currency);
26
- if (record && record?.expiresAt && record.expiresAt > luxon_1.DateTime.utc().toSeconds()) {
27
- helpers_1.Logger.debug('Currency exchange rate record found in db cache', {
28
- currency,
29
- record,
30
- expiresAt: record.expiresAt,
31
- currentEpoch: luxon_1.DateTime.utc().toSeconds(),
32
- });
33
- return record;
34
- }
35
- const response = await this.exchangeRateApiClient.getCurrencyExchangeRate(currency);
36
- if (response.status !== 200 || response?.data?.result !== 'success' || !response?.data) {
37
- helpers_1.Logger.error('Failed to get currency exchange rate from api', { response });
38
- return null;
39
- }
40
- const exchangeRateResponse = response.data;
41
- const currencyRates = exchangeRateResponse?.conversion_rates;
42
- const providerLastUpdatedAtEpoch = exchangeRateResponse?.time_last_update_unix;
43
- const providerNextUpdateAtEpoch = exchangeRateResponse?.time_next_update_unix;
44
- const currencyExchangeRateRecord = this.currencyExchangeRatesDbService.buildCurrencyExchangeRateRecord(currency, currencyRates, this.TTL_IN_DAYS, 'exchangerate-api', providerLastUpdatedAtEpoch, providerNextUpdateAtEpoch);
45
- await this.currencyExchangeRatesDbService.putCurrencyExchangeRate(currencyExchangeRateRecord);
46
- helpers_1.Logger.debug('Currency exchange rate record put in db cache', {
47
- currency,
48
- currencyExchangeRateRecord,
49
- expiresAt: currencyExchangeRateRecord.expiresAt,
50
- currentEpoch: luxon_1.DateTime.utc().toSeconds(),
51
- });
52
- return currencyExchangeRateRecord ?? null;
53
- }
54
- catch (error) {
55
- helpers_1.Logger.error('Failed to lookup currency exchange rate', {
56
- error,
57
- currency,
58
- tableName: this.TABLE_NAME,
59
- tableKey: this.TABLE_KEY,
60
- exchangeRateApiKey: this.EXCHANGE_RATE_API_KEY,
61
- });
62
- return null;
63
- }
64
- };
65
- }
66
- exports.CurrencyExchangeRateLookupService = CurrencyExchangeRateLookupService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CurrencyExchangeRateLookupService = void 0;
4
+ const luxon_1 = require("luxon");
5
+ const helpers_1 = require("../helpers");
6
+ const currency_exchange_rates_db_service_1 = require("./db/currency-exchange-rates-db-service");
7
+ const exchange_rate_api_client_1 = require("../clients/third-party/exchange-rate-api-client");
8
+ class CurrencyExchangeRateLookupService {
9
+ TABLE_NAME;
10
+ TABLE_KEY;
11
+ EXCHANGE_RATE_API_KEY;
12
+ TTL_IN_DAYS;
13
+ currencyExchangeRatesDbService;
14
+ exchangeRateApiClient;
15
+ constructor(tableName, tableKey, exchangeRateApiKey, ttlInDays) {
16
+ this.TABLE_NAME = tableName;
17
+ this.TABLE_KEY = tableKey;
18
+ this.EXCHANGE_RATE_API_KEY = exchangeRateApiKey;
19
+ this.TTL_IN_DAYS = ttlInDays || 7;
20
+ this.currencyExchangeRatesDbService = new currency_exchange_rates_db_service_1.CurrencyExchangeRatesDbService(this.TABLE_NAME, this.TABLE_KEY);
21
+ this.exchangeRateApiClient = new exchange_rate_api_client_1.ExchangeRateApiClient(this.EXCHANGE_RATE_API_KEY);
22
+ }
23
+ lookupCurrencyExchangeRate = async (currency) => {
24
+ try {
25
+ const record = await this.currencyExchangeRatesDbService.getCurrencyExchangeRate(currency);
26
+ if (record && record?.expiresAt && record.expiresAt > luxon_1.DateTime.utc().toSeconds()) {
27
+ helpers_1.Logger.debug('Currency exchange rate record found in db cache', {
28
+ currency,
29
+ record,
30
+ expiresAt: record.expiresAt,
31
+ currentEpoch: luxon_1.DateTime.utc().toSeconds(),
32
+ });
33
+ return record;
34
+ }
35
+ const response = await this.exchangeRateApiClient.getCurrencyExchangeRate(currency);
36
+ if (response.status !== 200 || response?.data?.result !== 'success' || !response?.data) {
37
+ helpers_1.Logger.error('Failed to get currency exchange rate from api', { response });
38
+ return null;
39
+ }
40
+ const exchangeRateResponse = response.data;
41
+ const currencyRates = exchangeRateResponse?.conversion_rates;
42
+ const providerLastUpdatedAtEpoch = exchangeRateResponse?.time_last_update_unix;
43
+ const providerNextUpdateAtEpoch = exchangeRateResponse?.time_next_update_unix;
44
+ const currencyExchangeRateRecord = this.currencyExchangeRatesDbService.buildCurrencyExchangeRateRecord(currency, currencyRates, this.TTL_IN_DAYS, 'exchangerate-api', providerLastUpdatedAtEpoch, providerNextUpdateAtEpoch);
45
+ await this.currencyExchangeRatesDbService.putCurrencyExchangeRate(currencyExchangeRateRecord);
46
+ helpers_1.Logger.debug('Currency exchange rate record put in db cache', {
47
+ currency,
48
+ currencyExchangeRateRecord,
49
+ expiresAt: currencyExchangeRateRecord.expiresAt,
50
+ currentEpoch: luxon_1.DateTime.utc().toSeconds(),
51
+ });
52
+ return currencyExchangeRateRecord ?? null;
53
+ }
54
+ catch (error) {
55
+ helpers_1.Logger.error('Failed to lookup currency exchange rate', {
56
+ error,
57
+ currency,
58
+ tableName: this.TABLE_NAME,
59
+ tableKey: this.TABLE_KEY,
60
+ exchangeRateApiKey: this.EXCHANGE_RATE_API_KEY,
61
+ });
62
+ return null;
63
+ }
64
+ };
65
+ }
66
+ exports.CurrencyExchangeRateLookupService = CurrencyExchangeRateLookupService;
67
67
  //# sourceMappingURL=currency-exchange-rate-lookup-service.js.map
@@ -1,21 +1,21 @@
1
- export type CurrencyRates = Record<string, number>;
2
- export interface CurrencyExchangeRateRecord {
3
- currency: string;
4
- rates: CurrencyRates;
5
- expiresAt: number;
6
- cachedAt: string;
7
- cachedAtEpoch: number;
8
- provider?: string;
9
- providerLastUpdatedAtEpoch?: number;
10
- providerNextUpdateAtEpoch?: number;
11
- createdAt: string;
12
- updatedAt: string;
13
- }
14
- export declare class CurrencyExchangeRatesDbService {
15
- TABLE_NAME: string;
16
- TABLE_KEY: string;
17
- constructor(tableName: string, tableKey: string);
18
- getCurrencyExchangeRate: (currencyCode: string) => Promise<CurrencyExchangeRateRecord | null>;
19
- buildCurrencyExchangeRateRecord: (currency: string, rates: CurrencyRates, ttlInDays: number, provider?: string, providerLastUpdatedAtEpoch?: number, providerNextUpdateAtEpoch?: number) => CurrencyExchangeRateRecord;
20
- putCurrencyExchangeRate: (record: CurrencyExchangeRateRecord) => Promise<CurrencyExchangeRateRecord>;
21
- }
1
+ export type CurrencyRates = Record<string, number>;
2
+ export interface CurrencyExchangeRateRecord {
3
+ currency: string;
4
+ rates: CurrencyRates;
5
+ expiresAt: number;
6
+ cachedAt: string;
7
+ cachedAtEpoch: number;
8
+ provider?: string;
9
+ providerLastUpdatedAtEpoch?: number;
10
+ providerNextUpdateAtEpoch?: number;
11
+ createdAt: string;
12
+ updatedAt: string;
13
+ }
14
+ export declare class CurrencyExchangeRatesDbService {
15
+ TABLE_NAME: string;
16
+ TABLE_KEY: string;
17
+ constructor(tableName: string, tableKey: string);
18
+ getCurrencyExchangeRate: (currencyCode: string) => Promise<CurrencyExchangeRateRecord | null>;
19
+ buildCurrencyExchangeRateRecord: (currency: string, rates: CurrencyRates, ttlInDays: number, provider?: string, providerLastUpdatedAtEpoch?: number, providerNextUpdateAtEpoch?: number) => CurrencyExchangeRateRecord;
20
+ putCurrencyExchangeRate: (record: CurrencyExchangeRateRecord) => Promise<CurrencyExchangeRateRecord>;
21
+ }
@@ -1,40 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CurrencyExchangeRatesDbService = void 0;
4
- const luxon_1 = require("luxon");
5
- const clients_1 = require("../../clients");
6
- const dates_1 = require("../../libs/dates");
7
- class CurrencyExchangeRatesDbService {
8
- TABLE_NAME;
9
- TABLE_KEY;
10
- constructor(tableName, tableKey) {
11
- this.TABLE_NAME = tableName;
12
- this.TABLE_KEY = tableKey;
13
- }
14
- getCurrencyExchangeRate = async (currencyCode) => {
15
- const record = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, currencyCode);
16
- return record ?? null;
17
- };
18
- buildCurrencyExchangeRateRecord = (currency, rates, ttlInDays, provider, providerLastUpdatedAtEpoch, providerNextUpdateAtEpoch) => {
19
- const expiresAt = luxon_1.DateTime.utc().plus({ days: ttlInDays }).toSeconds();
20
- const currentTimestamp = (0, dates_1.getCurrentTimestamp)();
21
- return {
22
- currency,
23
- rates,
24
- expiresAt,
25
- cachedAt: currentTimestamp,
26
- cachedAtEpoch: luxon_1.DateTime.utc().toSeconds(),
27
- createdAt: currentTimestamp,
28
- updatedAt: currentTimestamp,
29
- provider,
30
- providerLastUpdatedAtEpoch,
31
- providerNextUpdateAtEpoch,
32
- };
33
- };
34
- putCurrencyExchangeRate = async (record) => {
35
- await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, record);
36
- return record;
37
- };
38
- }
39
- exports.CurrencyExchangeRatesDbService = CurrencyExchangeRatesDbService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CurrencyExchangeRatesDbService = void 0;
4
+ const luxon_1 = require("luxon");
5
+ const clients_1 = require("../../clients");
6
+ const dates_1 = require("../../libs/dates");
7
+ class CurrencyExchangeRatesDbService {
8
+ TABLE_NAME;
9
+ TABLE_KEY;
10
+ constructor(tableName, tableKey) {
11
+ this.TABLE_NAME = tableName;
12
+ this.TABLE_KEY = tableKey;
13
+ }
14
+ getCurrencyExchangeRate = async (currencyCode) => {
15
+ const record = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, currencyCode);
16
+ return record ?? null;
17
+ };
18
+ buildCurrencyExchangeRateRecord = (currency, rates, ttlInDays, provider, providerLastUpdatedAtEpoch, providerNextUpdateAtEpoch) => {
19
+ const expiresAt = luxon_1.DateTime.utc().plus({ days: ttlInDays }).toSeconds();
20
+ const currentTimestamp = (0, dates_1.getCurrentTimestamp)();
21
+ return {
22
+ currency,
23
+ rates,
24
+ expiresAt,
25
+ cachedAt: currentTimestamp,
26
+ cachedAtEpoch: luxon_1.DateTime.utc().toSeconds(),
27
+ createdAt: currentTimestamp,
28
+ updatedAt: currentTimestamp,
29
+ provider,
30
+ providerLastUpdatedAtEpoch,
31
+ providerNextUpdateAtEpoch,
32
+ };
33
+ };
34
+ putCurrencyExchangeRate = async (record) => {
35
+ await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, record);
36
+ return record;
37
+ };
38
+ }
39
+ exports.CurrencyExchangeRatesDbService = CurrencyExchangeRatesDbService;
40
40
  //# sourceMappingURL=currency-exchange-rates-db-service.js.map
@@ -1,12 +1,12 @@
1
- import { Destination } from '@adtrackify/at-tracking-event-types';
2
- export declare class DestinationsDbService {
3
- TABLE_NAME: string;
4
- TABLE_KEY: string;
5
- constructor(tableName: string);
6
- getDestinationById: (id: string) => Promise<Destination | null>;
7
- getDestinationsByPixel: (indexName: string, pixelId: string) => Promise<Destination[]>;
8
- getDestinationsByAccountId: (indexName: string, accountId: string) => Promise<Destination[]>;
9
- getDestinationsByDestinationType: (indexName: string, destinationType: string) => Promise<Destination[]>;
10
- batchGetDestinationsById: (ids: string[]) => Promise<Destination[]>;
11
- getDestinationsByDestination: (indexName: string, destinationKey: string) => Promise<Destination[]>;
12
- }
1
+ import { Destination } from '@adtrackify/at-tracking-event-types';
2
+ export declare class DestinationsDbService {
3
+ TABLE_NAME: string;
4
+ TABLE_KEY: string;
5
+ constructor(tableName: string);
6
+ getDestinationById: (id: string) => Promise<Destination | null>;
7
+ getDestinationsByPixel: (indexName: string, pixelId: string) => Promise<Destination[]>;
8
+ getDestinationsByAccountId: (indexName: string, accountId: string) => Promise<Destination[]>;
9
+ getDestinationsByDestinationType: (indexName: string, destinationType: string) => Promise<Destination[]>;
10
+ batchGetDestinationsById: (ids: string[]) => Promise<Destination[]>;
11
+ getDestinationsByDestination: (indexName: string, destinationKey: string) => Promise<Destination[]>;
12
+ }