@adtrackify/at-service-common 3.14.1 → 3.14.3

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