@adtrackify/at-service-common 3.11.0 → 3.11.1

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