@adtrackify/at-service-common 3.6.4 → 3.6.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 (411) hide show
  1. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
  3. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  5. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +588 -588
  7. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  9. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  10. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  11. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  12. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  13. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  14. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  15. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  16. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  17. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  18. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
  19. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  20. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  21. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  22. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  23. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  24. package/dist/cjs/clients/generic/dynamodb-client.js +170 -170
  25. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  26. package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
  27. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  28. package/dist/cjs/clients/generic/http-client.js +61 -61
  29. package/dist/cjs/clients/generic/index.d.ts +10 -10
  30. package/dist/cjs/clients/generic/index.js +26 -26
  31. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  32. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  33. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  34. package/dist/cjs/clients/generic/location-client.js +31 -31
  35. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  36. package/dist/cjs/clients/generic/redis-client.js +128 -128
  37. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  38. package/dist/cjs/clients/generic/s3-client.js +216 -216
  39. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  40. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  41. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  42. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  43. package/dist/cjs/clients/index.d.ts +3 -3
  44. package/dist/cjs/clients/index.js +19 -19
  45. package/dist/cjs/clients/internal-api/accounts-client.d.ts +83 -83
  46. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  47. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
  48. package/dist/cjs/clients/internal-api/cache-lambda-client.js +87 -87
  49. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  50. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  51. package/dist/cjs/clients/internal-api/destinations-client.d.ts +33 -33
  52. package/dist/cjs/clients/internal-api/destinations-client.js +72 -72
  53. package/dist/cjs/clients/internal-api/destinations-client.js.map +1 -1
  54. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  55. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  56. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  57. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  58. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  59. package/dist/cjs/clients/internal-api/index.js +25 -25
  60. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  61. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  62. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  63. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  64. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  65. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  66. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  67. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  68. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  69. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  70. package/dist/cjs/clients/third-party/index.d.ts +3 -3
  71. package/dist/cjs/clients/third-party/index.js +19 -19
  72. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  73. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  74. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  75. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  76. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  77. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +115 -115
  78. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  79. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  80. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  81. package/dist/cjs/helpers/account-users-helper.js +22 -22
  82. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  83. package/dist/cjs/helpers/identity-cache-helper.js +156 -156
  84. package/dist/cjs/helpers/index.d.ts +7 -7
  85. package/dist/cjs/helpers/index.js +23 -23
  86. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  87. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  88. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  89. package/dist/cjs/helpers/logging-helper.js +84 -84
  90. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  91. package/dist/cjs/helpers/response-helper.js +43 -43
  92. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  93. package/dist/cjs/helpers/shopify-helper.js +26 -26
  94. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  95. package/dist/cjs/helpers/sqs-utils.js +14 -14
  96. package/dist/cjs/index.d.ts +5 -5
  97. package/dist/cjs/index.js +21 -21
  98. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  99. package/dist/cjs/libs/click-id-parser.js +49 -49
  100. package/dist/cjs/libs/compression.d.ts +2 -2
  101. package/dist/cjs/libs/compression.js +33 -33
  102. package/dist/cjs/libs/cookie.d.ts +17 -17
  103. package/dist/cjs/libs/cookie.js +76 -76
  104. package/dist/cjs/libs/crypto.d.ts +3 -3
  105. package/dist/cjs/libs/crypto.js +20 -20
  106. package/dist/cjs/libs/csv.d.ts +2 -2
  107. package/dist/cjs/libs/csv.js +35 -35
  108. package/dist/cjs/libs/currency.d.ts +1 -1
  109. package/dist/cjs/libs/currency.js +29 -29
  110. package/dist/cjs/libs/dates.d.ts +12 -12
  111. package/dist/cjs/libs/dates.js +96 -96
  112. package/dist/cjs/libs/domain.d.ts +2 -2
  113. package/dist/cjs/libs/domain.js +38 -38
  114. package/dist/cjs/libs/emails.d.ts +6 -6
  115. package/dist/cjs/libs/emails.js +122 -122
  116. package/dist/cjs/libs/http-error.d.ts +21 -21
  117. package/dist/cjs/libs/http-error.js +63 -63
  118. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  119. package/dist/cjs/libs/http-status-codes.js +62 -62
  120. package/dist/cjs/libs/index.d.ts +17 -17
  121. package/dist/cjs/libs/index.js +33 -33
  122. package/dist/cjs/libs/numbers.d.ts +1 -1
  123. package/dist/cjs/libs/numbers.js +15 -15
  124. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  125. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  126. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  127. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  128. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  129. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  130. package/dist/cjs/libs/strings.d.ts +3 -3
  131. package/dist/cjs/libs/strings.js +46 -46
  132. package/dist/cjs/libs/traits.d.ts +6 -6
  133. package/dist/cjs/libs/traits.js +65 -65
  134. package/dist/cjs/libs/url.d.ts +1 -1
  135. package/dist/cjs/libs/url.js +13 -13
  136. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  137. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  138. package/dist/cjs/services/cache/index.d.ts +1 -1
  139. package/dist/cjs/services/cache/index.js +17 -17
  140. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  141. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  142. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  143. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
  144. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  145. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  146. package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
  147. package/dist/cjs/services/db/destinations-db-service.js +76 -76
  148. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  149. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  150. package/dist/cjs/services/db/index.d.ts +9 -9
  151. package/dist/cjs/services/db/index.js +25 -25
  152. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  153. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  154. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  155. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  156. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  157. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  158. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  159. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  160. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  161. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  162. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  163. package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
  164. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  165. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  166. package/dist/cjs/services/events/index.d.ts +3 -3
  167. package/dist/cjs/services/events/index.js +19 -19
  168. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  169. package/dist/cjs/services/events/log-event-service.js +56 -56
  170. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  171. package/dist/cjs/services/events/metric-event-service.js +49 -49
  172. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  173. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  174. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  175. package/dist/cjs/services/generic-cache-service.js +33 -33
  176. package/dist/cjs/services/index.d.ts +8 -8
  177. package/dist/cjs/services/index.js +24 -24
  178. package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
  179. package/dist/cjs/services/ipdata-lookup-service.js +77 -77
  180. package/dist/cjs/services/shopify/index.d.ts +3 -3
  181. package/dist/cjs/services/shopify/index.js +19 -19
  182. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  183. package/dist/cjs/services/shopify/products/index.js +17 -17
  184. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  185. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +114 -114
  186. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  187. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  188. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  189. package/dist/cjs/services/shopify/types/index.js +17 -17
  190. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  191. package/dist/cjs/services/shopify/types/product.js +9 -9
  192. package/dist/cjs/types/api-response.d.ts +6 -6
  193. package/dist/cjs/types/api-response.js +2 -2
  194. package/dist/cjs/types/index.d.ts +1 -1
  195. package/dist/cjs/types/index.js +17 -17
  196. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  197. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  198. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  199. package/dist/cjs/types/internal-events/index.js +17 -17
  200. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  201. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  202. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  203. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  204. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  205. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  206. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  207. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  208. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  209. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  210. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  211. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  212. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  213. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  214. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  215. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  216. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  217. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  218. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  219. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  220. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  221. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  222. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  223. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  224. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  225. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  226. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  227. package/dist/esm/clients/generic/cognito-client.js +204 -204
  228. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  229. package/dist/esm/clients/generic/dynamodb-client.js +166 -166
  230. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  231. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  232. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  233. package/dist/esm/clients/generic/http-client.js +53 -53
  234. package/dist/esm/clients/generic/index.d.ts +10 -10
  235. package/dist/esm/clients/generic/index.js +10 -10
  236. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  237. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  238. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  239. package/dist/esm/clients/generic/location-client.js +27 -27
  240. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  241. package/dist/esm/clients/generic/redis-client.js +121 -121
  242. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  243. package/dist/esm/clients/generic/s3-client.js +209 -209
  244. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  245. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  246. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  247. package/dist/esm/clients/generic/sqs-client.js +32 -32
  248. package/dist/esm/clients/index.d.ts +3 -3
  249. package/dist/esm/clients/index.js +3 -3
  250. package/dist/esm/clients/internal-api/accounts-client.d.ts +83 -83
  251. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  252. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  253. package/dist/esm/clients/internal-api/cache-lambda-client.js +83 -83
  254. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  255. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  256. package/dist/esm/clients/internal-api/destinations-client.d.ts +33 -33
  257. package/dist/esm/clients/internal-api/destinations-client.js +68 -68
  258. package/dist/esm/clients/internal-api/destinations-client.js.map +1 -1
  259. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  260. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  261. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  262. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  263. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  264. package/dist/esm/clients/internal-api/index.js +9 -9
  265. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  266. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  267. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  268. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  269. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  270. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  271. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  272. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  273. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  274. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  275. package/dist/esm/clients/third-party/index.d.ts +3 -3
  276. package/dist/esm/clients/third-party/index.js +3 -3
  277. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  278. package/dist/esm/clients/third-party/loops-client.js +26 -26
  279. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  280. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  281. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  282. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +111 -111
  283. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  284. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  285. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  286. package/dist/esm/helpers/account-users-helper.js +18 -18
  287. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  288. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  289. package/dist/esm/helpers/index.d.ts +7 -7
  290. package/dist/esm/helpers/index.js +7 -7
  291. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  292. package/dist/esm/helpers/input-validation-helper.js +18 -18
  293. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  294. package/dist/esm/helpers/logging-helper.js +56 -56
  295. package/dist/esm/helpers/response-helper.d.ts +18 -18
  296. package/dist/esm/helpers/response-helper.js +37 -37
  297. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  298. package/dist/esm/helpers/shopify-helper.js +21 -21
  299. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  300. package/dist/esm/helpers/sqs-utils.js +9 -9
  301. package/dist/esm/index.d.ts +5 -5
  302. package/dist/esm/index.js +5 -5
  303. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  304. package/dist/esm/libs/click-id-parser.js +45 -45
  305. package/dist/esm/libs/compression.d.ts +2 -2
  306. package/dist/esm/libs/compression.js +25 -25
  307. package/dist/esm/libs/cookie.d.ts +17 -17
  308. package/dist/esm/libs/cookie.js +70 -70
  309. package/dist/esm/libs/crypto.d.ts +3 -3
  310. package/dist/esm/libs/crypto.js +11 -11
  311. package/dist/esm/libs/csv.d.ts +2 -2
  312. package/dist/esm/libs/csv.js +30 -30
  313. package/dist/esm/libs/currency.d.ts +1 -1
  314. package/dist/esm/libs/currency.js +22 -22
  315. package/dist/esm/libs/dates.d.ts +12 -12
  316. package/dist/esm/libs/dates.js +83 -83
  317. package/dist/esm/libs/domain.d.ts +2 -2
  318. package/dist/esm/libs/domain.js +33 -33
  319. package/dist/esm/libs/emails.d.ts +6 -6
  320. package/dist/esm/libs/emails.js +115 -115
  321. package/dist/esm/libs/http-error.d.ts +21 -21
  322. package/dist/esm/libs/http-error.js +59 -59
  323. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  324. package/dist/esm/libs/http-status-codes.js +59 -59
  325. package/dist/esm/libs/index.d.ts +17 -17
  326. package/dist/esm/libs/index.js +17 -17
  327. package/dist/esm/libs/numbers.d.ts +1 -1
  328. package/dist/esm/libs/numbers.js +11 -11
  329. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  330. package/dist/esm/libs/referrer-parser/index.js +2 -2
  331. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  332. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  333. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  334. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  335. package/dist/esm/libs/strings.d.ts +3 -3
  336. package/dist/esm/libs/strings.js +40 -40
  337. package/dist/esm/libs/traits.d.ts +6 -6
  338. package/dist/esm/libs/traits.js +54 -54
  339. package/dist/esm/libs/url.d.ts +1 -1
  340. package/dist/esm/libs/url.js +9 -9
  341. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  342. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  343. package/dist/esm/services/cache/index.d.ts +1 -1
  344. package/dist/esm/services/cache/index.js +1 -1
  345. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  346. package/dist/esm/services/cache/product-cache-service.js +68 -68
  347. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  348. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  349. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  350. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  351. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  352. package/dist/esm/services/db/destinations-db-service.js +72 -72
  353. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  354. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  355. package/dist/esm/services/db/index.d.ts +9 -9
  356. package/dist/esm/services/db/index.js +9 -9
  357. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  358. package/dist/esm/services/db/log-events-db-service.js +177 -177
  359. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  360. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  361. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  362. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  363. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  364. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  365. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  366. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  367. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  368. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  369. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  370. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  371. package/dist/esm/services/events/index.d.ts +3 -3
  372. package/dist/esm/services/events/index.js +3 -3
  373. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  374. package/dist/esm/services/events/log-event-service.js +52 -52
  375. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  376. package/dist/esm/services/events/metric-event-service.js +45 -45
  377. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  378. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  379. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  380. package/dist/esm/services/generic-cache-service.js +29 -29
  381. package/dist/esm/services/index.d.ts +8 -8
  382. package/dist/esm/services/index.js +8 -8
  383. package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
  384. package/dist/esm/services/ipdata-lookup-service.js +73 -73
  385. package/dist/esm/services/shopify/index.d.ts +3 -3
  386. package/dist/esm/services/shopify/index.js +3 -3
  387. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  388. package/dist/esm/services/shopify/products/index.js +1 -1
  389. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  390. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +110 -110
  391. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  392. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  393. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  394. package/dist/esm/services/shopify/types/index.js +1 -1
  395. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  396. package/dist/esm/services/shopify/types/product.js +6 -6
  397. package/dist/esm/types/api-response.d.ts +6 -6
  398. package/dist/esm/types/api-response.js +1 -1
  399. package/dist/esm/types/index.d.ts +1 -1
  400. package/dist/esm/types/index.js +1 -1
  401. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  402. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  403. package/dist/esm/types/internal-events/index.d.ts +1 -1
  404. package/dist/esm/types/internal-events/index.js +1 -1
  405. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  406. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  407. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  408. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  409. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  410. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  411. package/package.json +134 -134
@@ -1,27 +1,27 @@
1
- import { LoopsClient as LoopsSdkClient } from 'loops';
2
- import { Logger } from '../../helpers/logging-helper.js';
3
- export class LoopsClient {
4
- client;
5
- constructor(apiKey) {
6
- this.client = new LoopsSdkClient(apiKey);
7
- }
8
- sendTransactionalEmail = async (params) => {
9
- try {
10
- return await this.client.sendTransactionalEmail(params);
11
- }
12
- catch (error) {
13
- Logger.error('Failed to send Loops transactional email', { error, params });
14
- throw error;
15
- }
16
- };
17
- sendEvent = async (params) => {
18
- try {
19
- return await this.client.sendEvent(params);
20
- }
21
- catch (error) {
22
- Logger.error('Failed to send Loops event', { error, params });
23
- throw error;
24
- }
25
- };
26
- }
1
+ import { LoopsClient as LoopsSdkClient } from 'loops';
2
+ import { Logger } from '../../helpers/logging-helper.js';
3
+ export class LoopsClient {
4
+ client;
5
+ constructor(apiKey) {
6
+ this.client = new LoopsSdkClient(apiKey);
7
+ }
8
+ sendTransactionalEmail = async (params) => {
9
+ try {
10
+ return await this.client.sendTransactionalEmail(params);
11
+ }
12
+ catch (error) {
13
+ Logger.error('Failed to send Loops transactional email', { error, params });
14
+ throw error;
15
+ }
16
+ };
17
+ sendEvent = async (params) => {
18
+ try {
19
+ return await this.client.sendEvent(params);
20
+ }
21
+ catch (error) {
22
+ Logger.error('Failed to send Loops event', { error, params });
23
+ throw error;
24
+ }
25
+ };
26
+ }
27
27
  //# sourceMappingURL=loops-client.js.map
@@ -1,2 +1,2 @@
1
- export declare const MediaSnippet = "\n... on MediaImage {\n createdAt\n fileErrors {\n code\n details\n message\n }\n fileStatus\n id\n image {\n altText\n height\n id\n originalSrc\n src\n transformedSrc\n width\n }\n mimeType\n}\n";
2
- export declare const graphqlProductQueryByProductId = "\n#graphql\nquery GetProduct($id: ID!, $first: Int!, $after: String) {\n product(id: $id) {\n id\n handle\n productType\n hasOnlyDefaultVariant\n hasOutOfStockVariants\n isGiftCard\n legacyResourceId\n onlineStoreUrl\n onlineStorePreviewUrl\n productType\n publishedAt\n requiresSellingPlan\n status\n tags\n title\n totalInventory\n tracksInventory\n vendor\n createdAt\n updatedAt\n category {\n id\n name\n fullName\n parentId\n }\n collections (first: 250) {\n nodes {\n handle\n id\n image {\n url\n }\n legacyResourceId\n productsCount {\n count\n precision\n }\n title\n }\n }\n priceRangeV2 {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variantsCount {\n count\n }\n seo {\n title\n description\n }\n featuredMedia {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n\n }\n }\n variants (first: $first, after: $after) {\n pageInfo {\n hasNextPage\n endCursor\n }\n nodes {\n availableForSale\n barcode\n compareAtPrice\n createdAt\n displayName\n id\n legacyResourceId\n product {\n id\n handle\n legacyResourceId\n }\n image {\n id\n url\n }\n inventoryItem {\n createdAt\n id\n legacyResourceId\n requiresShipping\n sku\n tracked\n unitCost {\n amount\n currencyCode\n }\n updatedAt\n }\n inventoryPolicy\n inventoryQuantity\n price\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n }\n selectedOptions {\n name\n value\n }\n sellableOnlineQuantity\n sku\n taxable\n title\n updatedAt\n }\n }\n }\n}\n";
1
+ export declare const MediaSnippet = "\n... on MediaImage {\n createdAt\n fileErrors {\n code\n details\n message\n }\n fileStatus\n id\n image {\n altText\n height\n id\n originalSrc\n src\n transformedSrc\n width\n }\n mimeType\n}\n";
2
+ export declare const graphqlProductQueryByProductId = "\n#graphql\nquery GetProduct($id: ID!, $first: Int!, $after: String) {\n product(id: $id) {\n id\n handle\n productType\n hasOnlyDefaultVariant\n hasOutOfStockVariants\n isGiftCard\n legacyResourceId\n onlineStoreUrl\n onlineStorePreviewUrl\n productType\n publishedAt\n requiresSellingPlan\n status\n tags\n title\n totalInventory\n tracksInventory\n vendor\n createdAt\n updatedAt\n category {\n id\n name\n fullName\n parentId\n }\n collections (first: 250) {\n nodes {\n handle\n id\n image {\n url\n }\n legacyResourceId\n productsCount {\n count\n precision\n }\n title\n }\n }\n priceRangeV2 {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variantsCount {\n count\n }\n seo {\n title\n description\n }\n featuredMedia {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n\n }\n }\n variants (first: $first, after: $after) {\n pageInfo {\n hasNextPage\n endCursor\n }\n nodes {\n availableForSale\n barcode\n compareAtPrice\n createdAt\n displayName\n id\n legacyResourceId\n product {\n id\n handle\n legacyResourceId\n }\n image {\n id\n url\n }\n inventoryItem {\n createdAt\n id\n legacyResourceId\n requiresShipping\n sku\n tracked\n unitCost {\n amount\n currencyCode\n }\n updatedAt\n }\n inventoryPolicy\n inventoryQuantity\n price\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n }\n selectedOptions {\n name\n value\n }\n sellableOnlineQuantity\n sku\n taxable\n title\n updatedAt\n }\n }\n }\n}\n";
@@ -1,178 +1,178 @@
1
- export const MediaSnippet = `
2
- ... on MediaImage {
3
- createdAt
4
- fileErrors {
5
- code
6
- details
7
- message
8
- }
9
- fileStatus
10
- id
11
- image {
12
- altText
13
- height
14
- id
15
- originalSrc
16
- src
17
- transformedSrc
18
- width
19
- }
20
- mimeType
21
- }
22
- `;
23
- export const graphqlProductQueryByProductId = `
24
- #graphql
25
- query GetProduct($id: ID!, $first: Int!, $after: String) {
26
- product(id: $id) {
27
- id
28
- handle
29
- productType
30
- hasOnlyDefaultVariant
31
- hasOutOfStockVariants
32
- isGiftCard
33
- legacyResourceId
34
- onlineStoreUrl
35
- onlineStorePreviewUrl
36
- productType
37
- publishedAt
38
- requiresSellingPlan
39
- status
40
- tags
41
- title
42
- totalInventory
43
- tracksInventory
44
- vendor
45
- createdAt
46
- updatedAt
47
- category {
48
- id
49
- name
50
- fullName
51
- parentId
52
- }
53
- collections (first: 250) {
54
- nodes {
55
- handle
56
- id
57
- image {
58
- url
59
- }
60
- legacyResourceId
61
- productsCount {
62
- count
63
- precision
64
- }
65
- title
66
- }
67
- }
68
- priceRangeV2 {
69
- maxVariantPrice {
70
- amount
71
- currencyCode
72
- }
73
- minVariantPrice {
74
- amount
75
- currencyCode
76
- }
77
- }
78
- variantsCount {
79
- count
80
- }
81
- seo {
82
- title
83
- description
84
- }
85
- featuredMedia {
86
- id
87
- mediaContentType
88
- status
89
- preview {
90
- image {
91
- id
92
- url
93
- }
94
- status
95
- }
96
- }
97
- media (first: 3) {
98
- nodes {
99
- id
100
- mediaContentType
101
- status
102
- preview {
103
- image {
104
- id
105
- url
106
- }
107
- status
108
- }
109
-
110
- }
111
- }
112
- variants (first: $first, after: $after) {
113
- pageInfo {
114
- hasNextPage
115
- endCursor
116
- }
117
- nodes {
118
- availableForSale
119
- barcode
120
- compareAtPrice
121
- createdAt
122
- displayName
123
- id
124
- legacyResourceId
125
- product {
126
- id
127
- handle
128
- legacyResourceId
129
- }
130
- image {
131
- id
132
- url
133
- }
134
- inventoryItem {
135
- createdAt
136
- id
137
- legacyResourceId
138
- requiresShipping
139
- sku
140
- tracked
141
- unitCost {
142
- amount
143
- currencyCode
144
- }
145
- updatedAt
146
- }
147
- inventoryPolicy
148
- inventoryQuantity
149
- price
150
- media (first: 3) {
151
- nodes {
152
- id
153
- mediaContentType
154
- status
155
- preview {
156
- image {
157
- id
158
- url
159
- }
160
- status
161
- }
162
- }
163
- }
164
- selectedOptions {
165
- name
166
- value
167
- }
168
- sellableOnlineQuantity
169
- sku
170
- taxable
171
- title
172
- updatedAt
173
- }
174
- }
175
- }
176
- }
177
- `;
1
+ export const MediaSnippet = `
2
+ ... on MediaImage {
3
+ createdAt
4
+ fileErrors {
5
+ code
6
+ details
7
+ message
8
+ }
9
+ fileStatus
10
+ id
11
+ image {
12
+ altText
13
+ height
14
+ id
15
+ originalSrc
16
+ src
17
+ transformedSrc
18
+ width
19
+ }
20
+ mimeType
21
+ }
22
+ `;
23
+ export const graphqlProductQueryByProductId = `
24
+ #graphql
25
+ query GetProduct($id: ID!, $first: Int!, $after: String) {
26
+ product(id: $id) {
27
+ id
28
+ handle
29
+ productType
30
+ hasOnlyDefaultVariant
31
+ hasOutOfStockVariants
32
+ isGiftCard
33
+ legacyResourceId
34
+ onlineStoreUrl
35
+ onlineStorePreviewUrl
36
+ productType
37
+ publishedAt
38
+ requiresSellingPlan
39
+ status
40
+ tags
41
+ title
42
+ totalInventory
43
+ tracksInventory
44
+ vendor
45
+ createdAt
46
+ updatedAt
47
+ category {
48
+ id
49
+ name
50
+ fullName
51
+ parentId
52
+ }
53
+ collections (first: 250) {
54
+ nodes {
55
+ handle
56
+ id
57
+ image {
58
+ url
59
+ }
60
+ legacyResourceId
61
+ productsCount {
62
+ count
63
+ precision
64
+ }
65
+ title
66
+ }
67
+ }
68
+ priceRangeV2 {
69
+ maxVariantPrice {
70
+ amount
71
+ currencyCode
72
+ }
73
+ minVariantPrice {
74
+ amount
75
+ currencyCode
76
+ }
77
+ }
78
+ variantsCount {
79
+ count
80
+ }
81
+ seo {
82
+ title
83
+ description
84
+ }
85
+ featuredMedia {
86
+ id
87
+ mediaContentType
88
+ status
89
+ preview {
90
+ image {
91
+ id
92
+ url
93
+ }
94
+ status
95
+ }
96
+ }
97
+ media (first: 3) {
98
+ nodes {
99
+ id
100
+ mediaContentType
101
+ status
102
+ preview {
103
+ image {
104
+ id
105
+ url
106
+ }
107
+ status
108
+ }
109
+
110
+ }
111
+ }
112
+ variants (first: $first, after: $after) {
113
+ pageInfo {
114
+ hasNextPage
115
+ endCursor
116
+ }
117
+ nodes {
118
+ availableForSale
119
+ barcode
120
+ compareAtPrice
121
+ createdAt
122
+ displayName
123
+ id
124
+ legacyResourceId
125
+ product {
126
+ id
127
+ handle
128
+ legacyResourceId
129
+ }
130
+ image {
131
+ id
132
+ url
133
+ }
134
+ inventoryItem {
135
+ createdAt
136
+ id
137
+ legacyResourceId
138
+ requiresShipping
139
+ sku
140
+ tracked
141
+ unitCost {
142
+ amount
143
+ currencyCode
144
+ }
145
+ updatedAt
146
+ }
147
+ inventoryPolicy
148
+ inventoryQuantity
149
+ price
150
+ media (first: 3) {
151
+ nodes {
152
+ id
153
+ mediaContentType
154
+ status
155
+ preview {
156
+ image {
157
+ id
158
+ url
159
+ }
160
+ status
161
+ }
162
+ }
163
+ }
164
+ selectedOptions {
165
+ name
166
+ value
167
+ }
168
+ sellableOnlineQuantity
169
+ sku
170
+ taxable
171
+ title
172
+ updatedAt
173
+ }
174
+ }
175
+ }
176
+ }
177
+ `;
178
178
  //# sourceMappingURL=graphql-product-queries.js.map
@@ -1,9 +1,9 @@
1
- import { AdminApiClient, ClientResponse } from '@shopify/admin-api-client';
2
- import type { GetProductQuery } from '../../../types/shopify-graphql-types/admin.generated';
3
- export declare class ShopifyGraphQLClient {
4
- static _shopify_api_version: string;
5
- static getClient: (shop: string, accessToken: string) => AdminApiClient;
6
- static getProductWithVariantsGraphQL: (shop: string, accessToken: string, productId: string, pageSize?: number) => Promise<ClientResponse<GetProductQuery>>;
7
- private static executePagedProductQuery;
8
- private static executeProductQuery;
9
- }
1
+ import { AdminApiClient, ClientResponse } from '@shopify/admin-api-client';
2
+ import type { GetProductQuery } from '../../../types/shopify-graphql-types/admin.generated';
3
+ export declare class ShopifyGraphQLClient {
4
+ static _shopify_api_version: string;
5
+ static getClient: (shop: string, accessToken: string) => AdminApiClient;
6
+ static getProductWithVariantsGraphQL: (shop: string, accessToken: string, productId: string, pageSize?: number) => Promise<ClientResponse<GetProductQuery>>;
7
+ private static executePagedProductQuery;
8
+ private static executeProductQuery;
9
+ }
@@ -1,112 +1,112 @@
1
- import { createAdminApiClient } from '@shopify/admin-api-client';
2
- import { Logger } from '../../../helpers';
3
- import { graphqlProductQueryByProductId } from './graphql-product-queries';
4
- export class ShopifyGraphQLClient {
5
- static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
6
- static getClient = (shop, accessToken) => {
7
- const client = createAdminApiClient({
8
- storeDomain: shop,
9
- accessToken: accessToken,
10
- apiVersion: this._shopify_api_version,
11
- retries: 1,
12
- });
13
- return client;
14
- };
15
- static getProductWithVariantsGraphQL = async (shop, accessToken, productId, pageSize = 100) => {
16
- try {
17
- const client = this.getClient(shop, accessToken);
18
- const result = await this.executePagedProductQuery(client, productId, pageSize, null);
19
- return result;
20
- }
21
- catch (error) {
22
- Logger.error('Failed getProductWithVariantsGraphQL', {
23
- error,
24
- shop,
25
- accessToken,
26
- productId,
27
- });
28
- throw error;
29
- }
30
- };
31
- static executePagedProductQuery = async (client, productId, pageSize, cursor) => {
32
- try {
33
- let result = {};
34
- let product = null;
35
- const allVariants = [];
36
- let hasNextPage = false;
37
- do {
38
- Logger.debug('executePagedProductQuery', { productId, pageSize, cursor });
39
- result = await this.executeProductQuery(client, productId, pageSize, cursor ?? null);
40
- if (result?.errors) {
41
- Logger.error('executePagedProductQuery: Failed to execute product query', {
42
- result,
43
- shop: client.config.storeDomain,
44
- productId,
45
- accessToken: client.config.accessToken,
46
- });
47
- break;
48
- }
49
- else if (result?.data?.product) {
50
- product = result.data.product;
51
- allVariants.push(...(product?.variants?.nodes ?? []));
52
- hasNextPage = product?.variants?.pageInfo?.hasNextPage;
53
- cursor = product?.variants?.pageInfo?.endCursor;
54
- }
55
- if (hasNextPage) {
56
- Logger.info('executePagedProductQuery: hasNextPage product variants', {
57
- hasNextPage,
58
- shop: client.config.storeDomain,
59
- productId,
60
- accessToken: client.config.accessToken,
61
- });
62
- }
63
- } while (hasNextPage);
64
- if (product) {
65
- product.variants.nodes = allVariants;
66
- result.data = result?.data ?? {};
67
- result.data.product = product;
68
- }
69
- return result;
70
- }
71
- catch (error) {
72
- Logger.error('executePagedProductQuery:Failed to execute paged product query', {
73
- error,
74
- shop: client.config.storeDomain,
75
- productId,
76
- accessToken: client.config.accessToken,
77
- });
78
- throw error;
79
- }
80
- };
81
- static executeProductQuery = async (client, productId, pageSize, cursor) => {
82
- try {
83
- const result = await client.request(graphqlProductQueryByProductId, {
84
- variables: {
85
- id: `gid://shopify/Product/${productId}`,
86
- first: pageSize,
87
- after: cursor,
88
- },
89
- });
90
- if (result?.errors) {
91
- Logger.error('Failed to executeProductQuery -- response errors', {
92
- result,
93
- responseErrors: result.errors,
94
- shop: client.config.storeDomain,
95
- productId,
96
- cursor,
97
- });
98
- }
99
- return result;
100
- }
101
- catch (error) {
102
- Logger.error('Failed to executeProductQuery -- exception', {
103
- error,
104
- shop: client.config.storeDomain,
105
- productId,
106
- accessToken: client.config.accessToken,
107
- });
108
- return {};
109
- }
110
- };
111
- }
1
+ import { createAdminApiClient } from '@shopify/admin-api-client';
2
+ import { Logger } from '../../../helpers';
3
+ import { graphqlProductQueryByProductId } from './graphql-product-queries';
4
+ export class ShopifyGraphQLClient {
5
+ static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
6
+ static getClient = (shop, accessToken) => {
7
+ const client = createAdminApiClient({
8
+ storeDomain: shop,
9
+ accessToken: accessToken,
10
+ apiVersion: this._shopify_api_version,
11
+ retries: 1,
12
+ });
13
+ return client;
14
+ };
15
+ static getProductWithVariantsGraphQL = async (shop, accessToken, productId, pageSize = 100) => {
16
+ try {
17
+ const client = this.getClient(shop, accessToken);
18
+ const result = await this.executePagedProductQuery(client, productId, pageSize, null);
19
+ return result;
20
+ }
21
+ catch (error) {
22
+ Logger.error('Failed getProductWithVariantsGraphQL', {
23
+ error,
24
+ shop,
25
+ accessToken,
26
+ productId,
27
+ });
28
+ throw error;
29
+ }
30
+ };
31
+ static executePagedProductQuery = async (client, productId, pageSize, cursor) => {
32
+ try {
33
+ let result = {};
34
+ let product = null;
35
+ const allVariants = [];
36
+ let hasNextPage = false;
37
+ do {
38
+ Logger.debug('executePagedProductQuery', { productId, pageSize, cursor });
39
+ result = await this.executeProductQuery(client, productId, pageSize, cursor ?? null);
40
+ if (result?.errors) {
41
+ Logger.error('executePagedProductQuery: Failed to execute product query', {
42
+ result,
43
+ shop: client.config.storeDomain,
44
+ productId,
45
+ accessToken: client.config.accessToken,
46
+ });
47
+ break;
48
+ }
49
+ else if (result?.data?.product) {
50
+ product = result.data.product;
51
+ allVariants.push(...(product?.variants?.nodes ?? []));
52
+ hasNextPage = product?.variants?.pageInfo?.hasNextPage;
53
+ cursor = product?.variants?.pageInfo?.endCursor;
54
+ }
55
+ if (hasNextPage) {
56
+ Logger.info('executePagedProductQuery: hasNextPage product variants', {
57
+ hasNextPage,
58
+ shop: client.config.storeDomain,
59
+ productId,
60
+ accessToken: client.config.accessToken,
61
+ });
62
+ }
63
+ } while (hasNextPage);
64
+ if (product) {
65
+ product.variants.nodes = allVariants;
66
+ result.data = result?.data ?? {};
67
+ result.data.product = product;
68
+ }
69
+ return result;
70
+ }
71
+ catch (error) {
72
+ Logger.error('executePagedProductQuery:Failed to execute paged product query', {
73
+ error,
74
+ shop: client.config.storeDomain,
75
+ productId,
76
+ accessToken: client.config.accessToken,
77
+ });
78
+ throw error;
79
+ }
80
+ };
81
+ static executeProductQuery = async (client, productId, pageSize, cursor) => {
82
+ try {
83
+ const result = await client.request(graphqlProductQueryByProductId, {
84
+ variables: {
85
+ id: `gid://shopify/Product/${productId}`,
86
+ first: pageSize,
87
+ after: cursor,
88
+ },
89
+ });
90
+ if (result?.errors) {
91
+ Logger.error('Failed to executeProductQuery -- response errors', {
92
+ result,
93
+ responseErrors: result.errors,
94
+ shop: client.config.storeDomain,
95
+ productId,
96
+ cursor,
97
+ });
98
+ }
99
+ return result;
100
+ }
101
+ catch (error) {
102
+ Logger.error('Failed to executeProductQuery -- exception', {
103
+ error,
104
+ shop: client.config.storeDomain,
105
+ productId,
106
+ accessToken: client.config.accessToken,
107
+ });
108
+ return {};
109
+ }
110
+ };
111
+ }
112
112
  //# sourceMappingURL=shopify-graphql-client.js.map