@adtrackify/at-service-common 3.17.3 → 3.17.5

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 (455) 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__/db/shared-read-db-services.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/db/shared-read-db-services.spec.js +89 -89
  5. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
  7. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -0
  8. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js +75 -0
  9. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js.map +1 -0
  10. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  11. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  12. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  13. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +588 -588
  14. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  15. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  16. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  17. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  18. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  19. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  20. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  21. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  22. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  23. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  24. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  25. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
  26. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  27. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  28. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  29. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  30. package/dist/cjs/clients/generic/dynamodb-client.d.ts +18 -18
  31. package/dist/cjs/clients/generic/dynamodb-client.js +172 -172
  32. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  33. package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
  34. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  35. package/dist/cjs/clients/generic/http-client.js +61 -61
  36. package/dist/cjs/clients/generic/index.d.ts +10 -10
  37. package/dist/cjs/clients/generic/index.js +26 -26
  38. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  39. package/dist/cjs/clients/generic/lambda-invoke-client.js +39 -39
  40. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  41. package/dist/cjs/clients/generic/location-client.js +31 -31
  42. package/dist/cjs/clients/generic/redis-client.d.ts +33 -33
  43. package/dist/cjs/clients/generic/redis-client.js +191 -191
  44. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  45. package/dist/cjs/clients/generic/s3-client.js +216 -216
  46. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  47. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  48. package/dist/cjs/clients/generic/sqs-client.d.ts +33 -33
  49. package/dist/cjs/clients/generic/sqs-client.js +111 -111
  50. package/dist/cjs/clients/index.d.ts +3 -3
  51. package/dist/cjs/clients/index.js +19 -19
  52. package/dist/cjs/clients/internal-api/accounts-client.d.ts +91 -91
  53. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  54. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +26 -26
  55. package/dist/cjs/clients/internal-api/cache-lambda-client.js +89 -89
  56. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  57. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  58. package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
  59. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  60. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  61. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  62. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  63. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  64. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  65. package/dist/cjs/clients/internal-api/index.js +25 -25
  66. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  67. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  68. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  69. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  70. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  71. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  72. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  73. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  74. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  75. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  76. package/dist/cjs/clients/third-party/index.d.ts +4 -4
  77. package/dist/cjs/clients/third-party/index.js +20 -20
  78. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  79. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  80. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  81. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.js +30 -30
  82. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  83. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  84. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  85. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +161 -161
  86. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  87. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  88. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  89. package/dist/cjs/helpers/account-users-helper.js +22 -22
  90. package/dist/cjs/helpers/api-key-auth-helper.d.ts +9 -0
  91. package/dist/cjs/helpers/api-key-auth-helper.js +41 -0
  92. package/dist/cjs/helpers/api-key-auth-helper.js.map +1 -0
  93. package/dist/cjs/helpers/api-key-authorizer-helper.d.ts +36 -0
  94. package/dist/cjs/helpers/api-key-authorizer-helper.js +86 -0
  95. package/dist/cjs/helpers/api-key-authorizer-helper.js.map +1 -0
  96. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  97. package/dist/cjs/helpers/identity-cache-helper.js +156 -156
  98. package/dist/cjs/helpers/index.d.ts +9 -7
  99. package/dist/cjs/helpers/index.js +25 -23
  100. package/dist/cjs/helpers/index.js.map +1 -1
  101. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  102. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  103. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  104. package/dist/cjs/helpers/logging-helper.js +84 -84
  105. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  106. package/dist/cjs/helpers/response-helper.js +43 -43
  107. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  108. package/dist/cjs/helpers/shopify-helper.js +26 -26
  109. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  110. package/dist/cjs/helpers/sqs-utils.js +14 -14
  111. package/dist/cjs/index.d.ts +5 -5
  112. package/dist/cjs/index.js +21 -21
  113. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  114. package/dist/cjs/libs/click-id-parser.js +49 -49
  115. package/dist/cjs/libs/compression.d.ts +2 -2
  116. package/dist/cjs/libs/compression.js +33 -33
  117. package/dist/cjs/libs/cookie.d.ts +17 -17
  118. package/dist/cjs/libs/cookie.js +76 -76
  119. package/dist/cjs/libs/crypto.d.ts +4 -4
  120. package/dist/cjs/libs/crypto.js +25 -25
  121. package/dist/cjs/libs/csv.d.ts +2 -2
  122. package/dist/cjs/libs/csv.js +35 -35
  123. package/dist/cjs/libs/currency.d.ts +1 -1
  124. package/dist/cjs/libs/currency.js +29 -29
  125. package/dist/cjs/libs/dates.d.ts +12 -12
  126. package/dist/cjs/libs/dates.js +96 -96
  127. package/dist/cjs/libs/domain.d.ts +2 -2
  128. package/dist/cjs/libs/domain.js +38 -38
  129. package/dist/cjs/libs/emails.d.ts +6 -6
  130. package/dist/cjs/libs/emails.js +122 -122
  131. package/dist/cjs/libs/http-error.d.ts +21 -21
  132. package/dist/cjs/libs/http-error.js +63 -63
  133. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  134. package/dist/cjs/libs/http-status-codes.js +62 -62
  135. package/dist/cjs/libs/index.d.ts +17 -17
  136. package/dist/cjs/libs/index.js +33 -33
  137. package/dist/cjs/libs/numbers.d.ts +1 -1
  138. package/dist/cjs/libs/numbers.js +15 -15
  139. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  140. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  141. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  142. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  143. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  144. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  145. package/dist/cjs/libs/strings.d.ts +3 -3
  146. package/dist/cjs/libs/strings.js +46 -46
  147. package/dist/cjs/libs/traits.d.ts +6 -6
  148. package/dist/cjs/libs/traits.js +65 -65
  149. package/dist/cjs/libs/url.d.ts +1 -1
  150. package/dist/cjs/libs/url.js +13 -13
  151. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  152. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  153. package/dist/cjs/services/cache/index.d.ts +1 -1
  154. package/dist/cjs/services/cache/index.js +17 -17
  155. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  156. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  157. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  158. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
  159. package/dist/cjs/services/db/accounts-db-service.d.ts +9 -9
  160. package/dist/cjs/services/db/accounts-db-service.js +33 -33
  161. package/dist/cjs/services/db/api-keys-db-service.d.ts +10 -0
  162. package/dist/cjs/services/db/api-keys-db-service.js +36 -0
  163. package/dist/cjs/services/db/api-keys-db-service.js.map +1 -0
  164. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  165. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  166. package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
  167. package/dist/cjs/services/db/destinations-db-service.js +76 -76
  168. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  169. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  170. package/dist/cjs/services/db/index.d.ts +13 -12
  171. package/dist/cjs/services/db/index.js +29 -28
  172. package/dist/cjs/services/db/index.js.map +1 -1
  173. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  174. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  175. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
  176. package/dist/cjs/services/db/pixels-db-service.js +35 -35
  177. package/dist/cjs/services/db/pixels-db-service.js.map +1 -1
  178. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  179. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  180. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  181. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  182. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +8 -8
  183. package/dist/cjs/services/db/shopify-app-installs-db-service.js +51 -51
  184. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  185. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  186. package/dist/cjs/services/db/subscriptions-db-service.d.ts +10 -10
  187. package/dist/cjs/services/db/subscriptions-db-service.js +34 -34
  188. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  189. package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
  190. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  191. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  192. package/dist/cjs/services/events/index.d.ts +3 -3
  193. package/dist/cjs/services/events/index.js +19 -19
  194. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  195. package/dist/cjs/services/events/log-event-service.js +56 -56
  196. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  197. package/dist/cjs/services/events/metric-event-service.js +49 -49
  198. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  199. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  200. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  201. package/dist/cjs/services/generic-cache-service.js +33 -33
  202. package/dist/cjs/services/index.d.ts +8 -8
  203. package/dist/cjs/services/index.js +24 -24
  204. package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -20
  205. package/dist/cjs/services/ipdata-lookup-service.js +112 -112
  206. package/dist/cjs/services/shopify/index.d.ts +2 -2
  207. package/dist/cjs/services/shopify/index.js +18 -18
  208. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  209. package/dist/cjs/services/shopify/products/index.js +17 -17
  210. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  211. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +112 -112
  212. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  213. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  214. package/dist/cjs/types/api-response.d.ts +6 -6
  215. package/dist/cjs/types/api-response.js +2 -2
  216. package/dist/cjs/types/index.d.ts +1 -1
  217. package/dist/cjs/types/index.js +17 -17
  218. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  219. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  220. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  221. package/dist/cjs/types/internal-events/index.js +17 -17
  222. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  223. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  224. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  225. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  226. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  227. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  228. package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
  229. package/dist/esm/__tests__/clients/sqs-client.spec.js +119 -119
  230. package/dist/esm/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
  231. package/dist/esm/__tests__/db/shared-read-db-services.spec.js +87 -87
  232. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  233. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  234. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -0
  235. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js +73 -0
  236. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js.map +1 -0
  237. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  238. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  239. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  240. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  241. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  242. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  243. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  244. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  245. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  246. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  247. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  248. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  249. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  250. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  251. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  252. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  253. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  254. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  255. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  256. package/dist/esm/clients/generic/cognito-client.js +204 -204
  257. package/dist/esm/clients/generic/dynamodb-client.d.ts +18 -18
  258. package/dist/esm/clients/generic/dynamodb-client.js +168 -168
  259. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  260. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  261. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  262. package/dist/esm/clients/generic/http-client.js +53 -53
  263. package/dist/esm/clients/generic/index.d.ts +10 -10
  264. package/dist/esm/clients/generic/index.js +10 -10
  265. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  266. package/dist/esm/clients/generic/lambda-invoke-client.js +35 -35
  267. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  268. package/dist/esm/clients/generic/location-client.js +27 -27
  269. package/dist/esm/clients/generic/redis-client.d.ts +33 -33
  270. package/dist/esm/clients/generic/redis-client.js +184 -184
  271. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  272. package/dist/esm/clients/generic/s3-client.js +209 -209
  273. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  274. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  275. package/dist/esm/clients/generic/sqs-client.d.ts +33 -33
  276. package/dist/esm/clients/generic/sqs-client.js +107 -107
  277. package/dist/esm/clients/index.d.ts +3 -3
  278. package/dist/esm/clients/index.js +3 -3
  279. package/dist/esm/clients/internal-api/accounts-client.d.ts +91 -91
  280. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  281. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +26 -26
  282. package/dist/esm/clients/internal-api/cache-lambda-client.js +85 -85
  283. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  284. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  285. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  286. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  287. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  288. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  289. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  290. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  291. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  292. package/dist/esm/clients/internal-api/index.js +9 -9
  293. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  294. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  295. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  296. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  297. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  298. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  299. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  300. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  301. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  302. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  303. package/dist/esm/clients/third-party/index.d.ts +4 -4
  304. package/dist/esm/clients/third-party/index.js +4 -4
  305. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  306. package/dist/esm/clients/third-party/loops-client.js +26 -26
  307. package/dist/esm/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  308. package/dist/esm/clients/third-party/shopify/graphql-order-queries.js +27 -27
  309. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  310. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  311. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  312. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +157 -157
  313. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  314. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  315. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  316. package/dist/esm/helpers/account-users-helper.js +18 -18
  317. package/dist/esm/helpers/api-key-auth-helper.d.ts +9 -0
  318. package/dist/esm/helpers/api-key-auth-helper.js +36 -0
  319. package/dist/esm/helpers/api-key-auth-helper.js.map +1 -0
  320. package/dist/esm/helpers/api-key-authorizer-helper.d.ts +36 -0
  321. package/dist/esm/helpers/api-key-authorizer-helper.js +82 -0
  322. package/dist/esm/helpers/api-key-authorizer-helper.js.map +1 -0
  323. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  324. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  325. package/dist/esm/helpers/index.d.ts +9 -7
  326. package/dist/esm/helpers/index.js +9 -7
  327. package/dist/esm/helpers/index.js.map +1 -1
  328. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  329. package/dist/esm/helpers/input-validation-helper.js +18 -18
  330. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  331. package/dist/esm/helpers/logging-helper.js +56 -56
  332. package/dist/esm/helpers/response-helper.d.ts +18 -18
  333. package/dist/esm/helpers/response-helper.js +37 -37
  334. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  335. package/dist/esm/helpers/shopify-helper.js +21 -21
  336. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  337. package/dist/esm/helpers/sqs-utils.js +9 -9
  338. package/dist/esm/index.d.ts +5 -5
  339. package/dist/esm/index.js +5 -5
  340. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  341. package/dist/esm/libs/click-id-parser.js +45 -45
  342. package/dist/esm/libs/compression.d.ts +2 -2
  343. package/dist/esm/libs/compression.js +25 -25
  344. package/dist/esm/libs/cookie.d.ts +17 -17
  345. package/dist/esm/libs/cookie.js +70 -70
  346. package/dist/esm/libs/crypto.d.ts +4 -4
  347. package/dist/esm/libs/crypto.js +15 -15
  348. package/dist/esm/libs/csv.d.ts +2 -2
  349. package/dist/esm/libs/csv.js +30 -30
  350. package/dist/esm/libs/currency.d.ts +1 -1
  351. package/dist/esm/libs/currency.js +22 -22
  352. package/dist/esm/libs/dates.d.ts +12 -12
  353. package/dist/esm/libs/dates.js +83 -83
  354. package/dist/esm/libs/domain.d.ts +2 -2
  355. package/dist/esm/libs/domain.js +33 -33
  356. package/dist/esm/libs/emails.d.ts +6 -6
  357. package/dist/esm/libs/emails.js +115 -115
  358. package/dist/esm/libs/http-error.d.ts +21 -21
  359. package/dist/esm/libs/http-error.js +59 -59
  360. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  361. package/dist/esm/libs/http-status-codes.js +59 -59
  362. package/dist/esm/libs/index.d.ts +17 -17
  363. package/dist/esm/libs/index.js +17 -17
  364. package/dist/esm/libs/numbers.d.ts +1 -1
  365. package/dist/esm/libs/numbers.js +11 -11
  366. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  367. package/dist/esm/libs/referrer-parser/index.js +2 -2
  368. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  369. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  370. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  371. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  372. package/dist/esm/libs/strings.d.ts +3 -3
  373. package/dist/esm/libs/strings.js +40 -40
  374. package/dist/esm/libs/traits.d.ts +6 -6
  375. package/dist/esm/libs/traits.js +54 -54
  376. package/dist/esm/libs/url.d.ts +1 -1
  377. package/dist/esm/libs/url.js +9 -9
  378. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  379. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  380. package/dist/esm/services/cache/index.d.ts +1 -1
  381. package/dist/esm/services/cache/index.js +1 -1
  382. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  383. package/dist/esm/services/cache/product-cache-service.js +68 -68
  384. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  385. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  386. package/dist/esm/services/db/accounts-db-service.d.ts +9 -9
  387. package/dist/esm/services/db/accounts-db-service.js +29 -29
  388. package/dist/esm/services/db/api-keys-db-service.d.ts +10 -0
  389. package/dist/esm/services/db/api-keys-db-service.js +32 -0
  390. package/dist/esm/services/db/api-keys-db-service.js.map +1 -0
  391. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  392. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  393. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  394. package/dist/esm/services/db/destinations-db-service.js +72 -72
  395. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  396. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  397. package/dist/esm/services/db/index.d.ts +13 -12
  398. package/dist/esm/services/db/index.js +13 -12
  399. package/dist/esm/services/db/index.js.map +1 -1
  400. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  401. package/dist/esm/services/db/log-events-db-service.js +177 -177
  402. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  403. package/dist/esm/services/db/pixels-db-service.js +31 -31
  404. package/dist/esm/services/db/pixels-db-service.js.map +1 -1
  405. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  406. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  407. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  408. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  409. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +8 -8
  410. package/dist/esm/services/db/shopify-app-installs-db-service.js +47 -47
  411. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  412. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  413. package/dist/esm/services/db/subscriptions-db-service.d.ts +10 -10
  414. package/dist/esm/services/db/subscriptions-db-service.js +30 -30
  415. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  416. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  417. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  418. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  419. package/dist/esm/services/events/index.d.ts +3 -3
  420. package/dist/esm/services/events/index.js +3 -3
  421. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  422. package/dist/esm/services/events/log-event-service.js +52 -52
  423. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  424. package/dist/esm/services/events/metric-event-service.js +45 -45
  425. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  426. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  427. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  428. package/dist/esm/services/generic-cache-service.js +29 -29
  429. package/dist/esm/services/index.d.ts +8 -8
  430. package/dist/esm/services/index.js +8 -8
  431. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
  432. package/dist/esm/services/ipdata-lookup-service.js +108 -108
  433. package/dist/esm/services/shopify/index.d.ts +2 -2
  434. package/dist/esm/services/shopify/index.js +2 -2
  435. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  436. package/dist/esm/services/shopify/products/index.js +1 -1
  437. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  438. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +108 -108
  439. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  440. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  441. package/dist/esm/types/api-response.d.ts +6 -6
  442. package/dist/esm/types/api-response.js +1 -1
  443. package/dist/esm/types/index.d.ts +1 -1
  444. package/dist/esm/types/index.js +1 -1
  445. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  446. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  447. package/dist/esm/types/internal-events/index.d.ts +1 -1
  448. package/dist/esm/types/internal-events/index.js +1 -1
  449. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  450. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  451. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  452. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  453. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  454. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  455. package/package.json +2 -2
@@ -1,10 +1,10 @@
1
- export interface CacheLambdaInvokeResponse {
2
- statusCode: number;
3
- headers: any;
4
- body: string;
5
- }
6
- export declare class LambdaInvokeClient {
7
- private lambda;
8
- constructor();
9
- invokeFunction(functionName: string, payload: any, enableResponseLogging?: boolean): Promise<CacheLambdaInvokeResponse | null>;
10
- }
1
+ export interface CacheLambdaInvokeResponse {
2
+ statusCode: number;
3
+ headers: any;
4
+ body: string;
5
+ }
6
+ export declare class LambdaInvokeClient {
7
+ private lambda;
8
+ constructor();
9
+ invokeFunction(functionName: string, payload: any, enableResponseLogging?: boolean): Promise<CacheLambdaInvokeResponse | null>;
10
+ }
@@ -1,36 +1,36 @@
1
- import { LambdaClient, InvokeCommand } from '@aws-sdk/client-lambda';
2
- import { toUint8Array } from '@aws-sdk/util-utf8';
3
- import { Logger } from '../../helpers';
4
- export class LambdaInvokeClient {
5
- lambda;
6
- constructor() {
7
- this.lambda = new LambdaClient();
8
- }
9
- async invokeFunction(functionName, payload, enableResponseLogging = true) {
10
- const params = {
11
- FunctionName: functionName,
12
- InvocationType: 'RequestResponse',
13
- Payload: toUint8Array(JSON.stringify(payload)),
14
- };
15
- try {
16
- const response = await this.lambda.send(new InvokeCommand(params));
17
- if (enableResponseLogging) {
18
- Logger.debug('Lambda response:', { response });
19
- }
20
- if (response?.Payload) {
21
- const parsedPayload = response?.Payload.transformToString();
22
- const jsonPayload = JSON.parse(parsedPayload);
23
- if (enableResponseLogging) {
24
- Logger.debug('parsed payload', { parsedPayload });
25
- }
26
- return jsonPayload;
27
- }
28
- return null;
29
- }
30
- catch (error) {
31
- Logger.error('Error invoking lambda function:', { err: error, params });
32
- return null;
33
- }
34
- }
35
- }
1
+ import { LambdaClient, InvokeCommand } from '@aws-sdk/client-lambda';
2
+ import { toUint8Array } from '@aws-sdk/util-utf8';
3
+ import { Logger } from '../../helpers';
4
+ export class LambdaInvokeClient {
5
+ lambda;
6
+ constructor() {
7
+ this.lambda = new LambdaClient();
8
+ }
9
+ async invokeFunction(functionName, payload, enableResponseLogging = true) {
10
+ const params = {
11
+ FunctionName: functionName,
12
+ InvocationType: 'RequestResponse',
13
+ Payload: toUint8Array(JSON.stringify(payload)),
14
+ };
15
+ try {
16
+ const response = await this.lambda.send(new InvokeCommand(params));
17
+ if (enableResponseLogging) {
18
+ Logger.debug('Lambda response:', { response });
19
+ }
20
+ if (response?.Payload) {
21
+ const parsedPayload = response?.Payload.transformToString();
22
+ const jsonPayload = JSON.parse(parsedPayload);
23
+ if (enableResponseLogging) {
24
+ Logger.debug('parsed payload', { parsedPayload });
25
+ }
26
+ return jsonPayload;
27
+ }
28
+ return null;
29
+ }
30
+ catch (error) {
31
+ Logger.error('Error invoking lambda function:', { err: error, params });
32
+ return null;
33
+ }
34
+ }
35
+ }
36
36
  //# sourceMappingURL=lambda-invoke-client.js.map
@@ -1,8 +1,8 @@
1
- import { SearchPlaceIndexForPositionCommandOutput } from '@aws-sdk/client-location';
2
- export declare class LocationClient {
3
- private PLACE_INDEX_NAME;
4
- private PLACE_INDEX_API_KEY;
5
- private client;
6
- constructor(placeIndexName: string, placeIndexAPIKey: string);
7
- getPlaceFromLatLong: (latitude: number, longitude: number, maxResults?: number) => Promise<SearchPlaceIndexForPositionCommandOutput | null>;
8
- }
1
+ import { SearchPlaceIndexForPositionCommandOutput } from '@aws-sdk/client-location';
2
+ export declare class LocationClient {
3
+ private PLACE_INDEX_NAME;
4
+ private PLACE_INDEX_API_KEY;
5
+ private client;
6
+ constructor(placeIndexName: string, placeIndexAPIKey: string);
7
+ getPlaceFromLatLong: (latitude: number, longitude: number, maxResults?: number) => Promise<SearchPlaceIndexForPositionCommandOutput | null>;
8
+ }
@@ -1,28 +1,28 @@
1
- import { LocationClient as AWSLocationClient, SearchPlaceIndexForPositionCommand, } from '@aws-sdk/client-location';
2
- import { Logger } from '../../index.js';
3
- export class LocationClient {
4
- PLACE_INDEX_NAME;
5
- PLACE_INDEX_API_KEY;
6
- client;
7
- constructor(placeIndexName, placeIndexAPIKey) {
8
- this.client = new AWSLocationClient();
9
- this.PLACE_INDEX_NAME = placeIndexName;
10
- this.PLACE_INDEX_API_KEY = placeIndexAPIKey;
11
- }
12
- getPlaceFromLatLong = async (latitude, longitude, maxResults = 1) => {
13
- try {
14
- const command = new SearchPlaceIndexForPositionCommand({
15
- IndexName: this.PLACE_INDEX_NAME,
16
- Position: [longitude, latitude],
17
- MaxResults: maxResults,
18
- Key: this.PLACE_INDEX_API_KEY,
19
- });
20
- return await this.client.send(command);
21
- }
22
- catch (error) {
23
- Logger.error('Failed to get place from lat lng', { latitude, longitude, maxResults, error });
24
- return null;
25
- }
26
- };
27
- }
1
+ import { LocationClient as AWSLocationClient, SearchPlaceIndexForPositionCommand, } from '@aws-sdk/client-location';
2
+ import { Logger } from '../../index.js';
3
+ export class LocationClient {
4
+ PLACE_INDEX_NAME;
5
+ PLACE_INDEX_API_KEY;
6
+ client;
7
+ constructor(placeIndexName, placeIndexAPIKey) {
8
+ this.client = new AWSLocationClient();
9
+ this.PLACE_INDEX_NAME = placeIndexName;
10
+ this.PLACE_INDEX_API_KEY = placeIndexAPIKey;
11
+ }
12
+ getPlaceFromLatLong = async (latitude, longitude, maxResults = 1) => {
13
+ try {
14
+ const command = new SearchPlaceIndexForPositionCommand({
15
+ IndexName: this.PLACE_INDEX_NAME,
16
+ Position: [longitude, latitude],
17
+ MaxResults: maxResults,
18
+ Key: this.PLACE_INDEX_API_KEY,
19
+ });
20
+ return await this.client.send(command);
21
+ }
22
+ catch (error) {
23
+ Logger.error('Failed to get place from lat lng', { latitude, longitude, maxResults, error });
24
+ return null;
25
+ }
26
+ };
27
+ }
28
28
  //# sourceMappingURL=location-client.js.map
@@ -1,33 +1,33 @@
1
- import Redis, { ChainableCommander } from 'ioredis';
2
- export interface RedisClientConnectionOptions {
3
- commandTimeout?: number;
4
- keepAlive?: number;
5
- }
6
- export declare class RedisClient {
7
- private poolSize;
8
- private pool;
9
- private readonly commandTimeout;
10
- private readonly keepAlive;
11
- host: string;
12
- port: number;
13
- constructor(host: string, port?: number, poolSize?: number, options?: RedisClientConnectionOptions);
14
- private createClient;
15
- private getClient;
16
- connect(client: Redis): Promise<void>;
17
- disconnect(): Promise<void>;
18
- safeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
19
- unsafeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
20
- unsafeGet(key: string): Promise<string | null>;
21
- safeGet(key: string): Promise<string | null>;
22
- safeBatchGet(keys: string[]): Promise<(string | null)[] | null>;
23
- del(key: string): Promise<number>;
24
- safeHmget(key: string, ...fields: string[]): Promise<(string | null)[] | null>;
25
- safeLrange(key: string, start: number, stop: number): Promise<string[] | null>;
26
- safeLlen(key: string): Promise<number>;
27
- safeZcount(key: string, min: number | string, max: number | string): Promise<number>;
28
- safeZrevrangebyscore(key: string, max: number | string, min: number | string, offsetCount?: {
29
- offset: number;
30
- count: number;
31
- }): Promise<string[]>;
32
- createPipeline(): ChainableCommander;
33
- }
1
+ import Redis, { ChainableCommander } from 'ioredis';
2
+ export interface RedisClientConnectionOptions {
3
+ commandTimeout?: number;
4
+ keepAlive?: number;
5
+ }
6
+ export declare class RedisClient {
7
+ private poolSize;
8
+ private pool;
9
+ private readonly commandTimeout;
10
+ private readonly keepAlive;
11
+ host: string;
12
+ port: number;
13
+ constructor(host: string, port?: number, poolSize?: number, options?: RedisClientConnectionOptions);
14
+ private createClient;
15
+ private getClient;
16
+ connect(client: Redis): Promise<void>;
17
+ disconnect(): Promise<void>;
18
+ safeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
19
+ unsafeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
20
+ unsafeGet(key: string): Promise<string | null>;
21
+ safeGet(key: string): Promise<string | null>;
22
+ safeBatchGet(keys: string[]): Promise<(string | null)[] | null>;
23
+ del(key: string): Promise<number>;
24
+ safeHmget(key: string, ...fields: string[]): Promise<(string | null)[] | null>;
25
+ safeLrange(key: string, start: number, stop: number): Promise<string[] | null>;
26
+ safeLlen(key: string): Promise<number>;
27
+ safeZcount(key: string, min: number | string, max: number | string): Promise<number>;
28
+ safeZrevrangebyscore(key: string, max: number | string, min: number | string, offsetCount?: {
29
+ offset: number;
30
+ count: number;
31
+ }): Promise<string[]>;
32
+ createPipeline(): ChainableCommander;
33
+ }
@@ -1,185 +1,185 @@
1
- import Redis from 'ioredis';
2
- import { Logger } from '../../helpers';
3
- const DEFAULT_REDIS_COMMAND_TIMEOUT_MS = 3000;
4
- const DEFAULT_REDIS_KEEP_ALIVE_MS = 1000;
5
- export class RedisClient {
6
- poolSize;
7
- pool;
8
- commandTimeout;
9
- keepAlive;
10
- host;
11
- port;
12
- constructor(host, port = 6379, poolSize = 3, options = {}) {
13
- this.poolSize = poolSize;
14
- this.host = host;
15
- this.port = port;
16
- this.commandTimeout = options.commandTimeout ?? DEFAULT_REDIS_COMMAND_TIMEOUT_MS;
17
- this.keepAlive = options.keepAlive ?? DEFAULT_REDIS_KEEP_ALIVE_MS;
18
- this.pool = Array.from({ length: poolSize }, () => this.createClient(host, port));
19
- }
20
- createClient(host, port) {
21
- try {
22
- const client = new Redis({
23
- host,
24
- port,
25
- maxRetriesPerRequest: 3,
26
- commandTimeout: this.commandTimeout,
27
- lazyConnect: true,
28
- keepAlive: this.keepAlive,
29
- });
30
- return client;
31
- }
32
- catch (err) {
33
- Logger.error('Error creating Redis client:', { err });
34
- return null;
35
- }
36
- }
37
- getClient() {
38
- const randomIndex = Math.floor(Math.random() * this.poolSize);
39
- let client = this.pool[randomIndex];
40
- if (!client) {
41
- client = this.createClient(this.host, this.port);
42
- }
43
- return client;
44
- }
45
- async connect(client) {
46
- try {
47
- await client.connect();
48
- Logger.debug('Connected to Redis');
49
- }
50
- catch (err) {
51
- Logger.error('Error connecting to Redis:', { err });
52
- return;
53
- }
54
- }
55
- async disconnect() {
56
- try {
57
- const client = this.getClient();
58
- await client.quit();
59
- Logger.debug('Disconnected from Redis');
60
- }
61
- catch (err) {
62
- Logger.error('Error disconnecting from Redis:', { err });
63
- return;
64
- }
65
- }
66
- async safeSet(key, value, ttlInSeconds) {
67
- try {
68
- const client = this.getClient();
69
- if (ttlInSeconds) {
70
- await client.set(key, value, 'EX', ttlInSeconds);
71
- }
72
- else {
73
- await client.set(key, value);
74
- }
75
- }
76
- catch (err) {
77
- Logger.error('Error setting value in Redis:', { err, key, value });
78
- return;
79
- }
80
- }
81
- async unsafeSet(key, value, ttlInSeconds) {
82
- const client = this.getClient();
83
- if (ttlInSeconds) {
84
- await client.set(key, value, 'EX', ttlInSeconds);
85
- }
86
- else {
87
- await client.set(key, value);
88
- }
89
- }
90
- async unsafeGet(key) {
91
- const client = this.getClient();
92
- Logger.debug('get', { key, client });
93
- return await client.get(key);
94
- }
95
- async safeGet(key) {
96
- try {
97
- const client = this.getClient();
98
- Logger.debug('get', { key, client });
99
- return await client.get(key);
100
- }
101
- catch (err) {
102
- Logger.error('Error getting value from Redis:', { err, key });
103
- return null;
104
- }
105
- }
106
- async safeBatchGet(keys) {
107
- try {
108
- const client = this.getClient();
109
- Logger.debug('get', { keys, client });
110
- return await client.mget(keys);
111
- }
112
- catch (err) {
113
- Logger.error('Error getting batch from Redis:', { err, keys });
114
- return null;
115
- }
116
- }
117
- async del(key) {
118
- try {
119
- const client = this.getClient();
120
- return await client.del(key);
121
- }
122
- catch (err) {
123
- Logger.error('Error deleting key from Redis:', { err });
124
- return 0;
125
- }
126
- }
127
- async safeHmget(key, ...fields) {
128
- try {
129
- const client = this.getClient();
130
- return await client.hmget(key, ...fields);
131
- }
132
- catch (err) {
133
- Logger.error('Error in hmget:', { err, key, fields });
134
- return null;
135
- }
136
- }
137
- async safeLrange(key, start, stop) {
138
- try {
139
- const client = this.getClient();
140
- return await client.lrange(key, start, stop);
141
- }
142
- catch (err) {
143
- Logger.error('Error in lrange:', { err, key, start, stop });
144
- return null;
145
- }
146
- }
147
- async safeLlen(key) {
148
- try {
149
- const client = this.getClient();
150
- return await client.llen(key);
151
- }
152
- catch (err) {
153
- Logger.error('Error in llen:', { err, key });
154
- return 0;
155
- }
156
- }
157
- async safeZcount(key, min, max) {
158
- try {
159
- const client = this.getClient();
160
- return await client.zcount(key, min, max);
161
- }
162
- catch (err) {
163
- Logger.error('Error in zcount:', { err, key, min, max });
164
- return 0;
165
- }
166
- }
167
- async safeZrevrangebyscore(key, max, min, offsetCount) {
168
- try {
169
- const client = this.getClient();
170
- if (offsetCount) {
171
- return await client.zrevrangebyscore(key, max, min, 'LIMIT', offsetCount.offset, offsetCount.count);
172
- }
173
- return await client.zrevrangebyscore(key, max, min);
174
- }
175
- catch (err) {
176
- Logger.error('Error in zrevrangebyscore:', { err, key, max, min, offsetCount });
177
- return [];
178
- }
179
- }
180
- createPipeline() {
181
- const client = this.getClient();
182
- return client.pipeline();
183
- }
184
- }
1
+ import Redis from 'ioredis';
2
+ import { Logger } from '../../helpers';
3
+ const DEFAULT_REDIS_COMMAND_TIMEOUT_MS = 3000;
4
+ const DEFAULT_REDIS_KEEP_ALIVE_MS = 1000;
5
+ export class RedisClient {
6
+ poolSize;
7
+ pool;
8
+ commandTimeout;
9
+ keepAlive;
10
+ host;
11
+ port;
12
+ constructor(host, port = 6379, poolSize = 3, options = {}) {
13
+ this.poolSize = poolSize;
14
+ this.host = host;
15
+ this.port = port;
16
+ this.commandTimeout = options.commandTimeout ?? DEFAULT_REDIS_COMMAND_TIMEOUT_MS;
17
+ this.keepAlive = options.keepAlive ?? DEFAULT_REDIS_KEEP_ALIVE_MS;
18
+ this.pool = Array.from({ length: poolSize }, () => this.createClient(host, port));
19
+ }
20
+ createClient(host, port) {
21
+ try {
22
+ const client = new Redis({
23
+ host,
24
+ port,
25
+ maxRetriesPerRequest: 3,
26
+ commandTimeout: this.commandTimeout,
27
+ lazyConnect: true,
28
+ keepAlive: this.keepAlive,
29
+ });
30
+ return client;
31
+ }
32
+ catch (err) {
33
+ Logger.error('Error creating Redis client:', { err });
34
+ return null;
35
+ }
36
+ }
37
+ getClient() {
38
+ const randomIndex = Math.floor(Math.random() * this.poolSize);
39
+ let client = this.pool[randomIndex];
40
+ if (!client) {
41
+ client = this.createClient(this.host, this.port);
42
+ }
43
+ return client;
44
+ }
45
+ async connect(client) {
46
+ try {
47
+ await client.connect();
48
+ Logger.debug('Connected to Redis');
49
+ }
50
+ catch (err) {
51
+ Logger.error('Error connecting to Redis:', { err });
52
+ return;
53
+ }
54
+ }
55
+ async disconnect() {
56
+ try {
57
+ const client = this.getClient();
58
+ await client.quit();
59
+ Logger.debug('Disconnected from Redis');
60
+ }
61
+ catch (err) {
62
+ Logger.error('Error disconnecting from Redis:', { err });
63
+ return;
64
+ }
65
+ }
66
+ async safeSet(key, value, ttlInSeconds) {
67
+ try {
68
+ const client = this.getClient();
69
+ if (ttlInSeconds) {
70
+ await client.set(key, value, 'EX', ttlInSeconds);
71
+ }
72
+ else {
73
+ await client.set(key, value);
74
+ }
75
+ }
76
+ catch (err) {
77
+ Logger.error('Error setting value in Redis:', { err, key, value });
78
+ return;
79
+ }
80
+ }
81
+ async unsafeSet(key, value, ttlInSeconds) {
82
+ const client = this.getClient();
83
+ if (ttlInSeconds) {
84
+ await client.set(key, value, 'EX', ttlInSeconds);
85
+ }
86
+ else {
87
+ await client.set(key, value);
88
+ }
89
+ }
90
+ async unsafeGet(key) {
91
+ const client = this.getClient();
92
+ Logger.debug('get', { key, client });
93
+ return await client.get(key);
94
+ }
95
+ async safeGet(key) {
96
+ try {
97
+ const client = this.getClient();
98
+ Logger.debug('get', { key, client });
99
+ return await client.get(key);
100
+ }
101
+ catch (err) {
102
+ Logger.error('Error getting value from Redis:', { err, key });
103
+ return null;
104
+ }
105
+ }
106
+ async safeBatchGet(keys) {
107
+ try {
108
+ const client = this.getClient();
109
+ Logger.debug('get', { keys, client });
110
+ return await client.mget(keys);
111
+ }
112
+ catch (err) {
113
+ Logger.error('Error getting batch from Redis:', { err, keys });
114
+ return null;
115
+ }
116
+ }
117
+ async del(key) {
118
+ try {
119
+ const client = this.getClient();
120
+ return await client.del(key);
121
+ }
122
+ catch (err) {
123
+ Logger.error('Error deleting key from Redis:', { err });
124
+ return 0;
125
+ }
126
+ }
127
+ async safeHmget(key, ...fields) {
128
+ try {
129
+ const client = this.getClient();
130
+ return await client.hmget(key, ...fields);
131
+ }
132
+ catch (err) {
133
+ Logger.error('Error in hmget:', { err, key, fields });
134
+ return null;
135
+ }
136
+ }
137
+ async safeLrange(key, start, stop) {
138
+ try {
139
+ const client = this.getClient();
140
+ return await client.lrange(key, start, stop);
141
+ }
142
+ catch (err) {
143
+ Logger.error('Error in lrange:', { err, key, start, stop });
144
+ return null;
145
+ }
146
+ }
147
+ async safeLlen(key) {
148
+ try {
149
+ const client = this.getClient();
150
+ return await client.llen(key);
151
+ }
152
+ catch (err) {
153
+ Logger.error('Error in llen:', { err, key });
154
+ return 0;
155
+ }
156
+ }
157
+ async safeZcount(key, min, max) {
158
+ try {
159
+ const client = this.getClient();
160
+ return await client.zcount(key, min, max);
161
+ }
162
+ catch (err) {
163
+ Logger.error('Error in zcount:', { err, key, min, max });
164
+ return 0;
165
+ }
166
+ }
167
+ async safeZrevrangebyscore(key, max, min, offsetCount) {
168
+ try {
169
+ const client = this.getClient();
170
+ if (offsetCount) {
171
+ return await client.zrevrangebyscore(key, max, min, 'LIMIT', offsetCount.offset, offsetCount.count);
172
+ }
173
+ return await client.zrevrangebyscore(key, max, min);
174
+ }
175
+ catch (err) {
176
+ Logger.error('Error in zrevrangebyscore:', { err, key, max, min, offsetCount });
177
+ return [];
178
+ }
179
+ }
180
+ createPipeline() {
181
+ const client = this.getClient();
182
+ return client.pipeline();
183
+ }
184
+ }
185
185
  //# sourceMappingURL=redis-client.js.map
@@ -1,23 +1,23 @@
1
- /// <reference types="node" />
2
- import { ObjectCannedACL, PutObjectCommandOutput, S3 } from '@aws-sdk/client-s3';
3
- import { StreamingBlobPayloadOutputTypes } from '@smithy/types';
4
- export declare class S3Client {
5
- s3: S3;
6
- constructor(region?: string);
7
- getS3FileNameFromKey: (s3ObjectKey: string) => string;
8
- getObject: (path: string, bucket: string) => Promise<StreamingBlobPayloadOutputTypes | null>;
9
- getObjectContentAsStringFromS3Gzip: (s3ObjectKey: string, bucketName: string, encoding?: BufferEncoding) => Promise<string | null>;
10
- getObjectContentAsString: (path: string, bucket: string, encoding?: BufferEncoding) => Promise<string | null>;
11
- checkObjectExists: (path: string, bucket: string) => Promise<boolean>;
12
- checkAndUploadJson: (path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number) => Promise<{
13
- status: boolean;
14
- response?: PutObjectCommandOutput;
15
- }>;
16
- uploadJson: (path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number, stringify?: boolean) => Promise<{
17
- status: boolean;
18
- response: PutObjectCommandOutput;
19
- }>;
20
- copyObject: (bucket: string, key: string, copyToKey: string) => Promise<boolean>;
21
- deleteObject: (bucket: string, key: string) => Promise<boolean>;
22
- moveObject: (bucket: string, key: string, moveToKey: string) => Promise<boolean>;
23
- }
1
+ /// <reference types="node" />
2
+ import { ObjectCannedACL, PutObjectCommandOutput, S3 } from '@aws-sdk/client-s3';
3
+ import { StreamingBlobPayloadOutputTypes } from '@smithy/types';
4
+ export declare class S3Client {
5
+ s3: S3;
6
+ constructor(region?: string);
7
+ getS3FileNameFromKey: (s3ObjectKey: string) => string;
8
+ getObject: (path: string, bucket: string) => Promise<StreamingBlobPayloadOutputTypes | null>;
9
+ getObjectContentAsStringFromS3Gzip: (s3ObjectKey: string, bucketName: string, encoding?: BufferEncoding) => Promise<string | null>;
10
+ getObjectContentAsString: (path: string, bucket: string, encoding?: BufferEncoding) => Promise<string | null>;
11
+ checkObjectExists: (path: string, bucket: string) => Promise<boolean>;
12
+ checkAndUploadJson: (path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number) => Promise<{
13
+ status: boolean;
14
+ response?: PutObjectCommandOutput;
15
+ }>;
16
+ uploadJson: (path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number, stringify?: boolean) => Promise<{
17
+ status: boolean;
18
+ response: PutObjectCommandOutput;
19
+ }>;
20
+ copyObject: (bucket: string, key: string, copyToKey: string) => Promise<boolean>;
21
+ deleteObject: (bucket: string, key: string) => Promise<boolean>;
22
+ moveObject: (bucket: string, key: string, moveToKey: string) => Promise<boolean>;
23
+ }