@adtrackify/at-service-common 3.11.2 → 3.13.0

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 (409) 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 +2 -2
  184. package/dist/cjs/services/shopify/index.js +18 -18
  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 -112
  189. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  190. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  191. package/dist/cjs/types/api-response.d.ts +6 -6
  192. package/dist/cjs/types/api-response.js +2 -2
  193. package/dist/cjs/types/index.d.ts +1 -1
  194. package/dist/cjs/types/index.js +17 -17
  195. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  196. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  197. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  198. package/dist/cjs/types/internal-events/index.js +17 -17
  199. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  200. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  201. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  202. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  203. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  204. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  205. package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
  206. package/dist/esm/__tests__/clients/sqs-client.spec.js +119 -119
  207. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  208. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  209. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  210. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  211. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  212. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  213. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  214. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  215. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  216. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  217. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  218. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  219. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  220. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  221. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  222. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  223. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  224. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  225. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  226. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  227. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  228. package/dist/esm/clients/generic/cognito-client.js +204 -204
  229. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  230. package/dist/esm/clients/generic/dynamodb-client.js +166 -166
  231. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  232. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  233. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  234. package/dist/esm/clients/generic/http-client.js +53 -53
  235. package/dist/esm/clients/generic/index.d.ts +10 -10
  236. package/dist/esm/clients/generic/index.js +10 -10
  237. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  238. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  239. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  240. package/dist/esm/clients/generic/location-client.js +27 -27
  241. package/dist/esm/clients/generic/redis-client.d.ts +32 -32
  242. package/dist/esm/clients/generic/redis-client.js +174 -174
  243. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  244. package/dist/esm/clients/generic/s3-client.js +209 -209
  245. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  246. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  247. package/dist/esm/clients/generic/sqs-client.d.ts +33 -33
  248. package/dist/esm/clients/generic/sqs-client.js +107 -107
  249. package/dist/esm/clients/index.d.ts +3 -3
  250. package/dist/esm/clients/index.js +3 -3
  251. package/dist/esm/clients/internal-api/accounts-client.d.ts +85 -85
  252. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  253. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  254. package/dist/esm/clients/internal-api/cache-lambda-client.js +83 -83
  255. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  256. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  257. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  258. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  259. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  260. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  261. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  262. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  263. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  264. package/dist/esm/clients/internal-api/index.js +9 -9
  265. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  266. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  267. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  268. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  269. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  270. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  271. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  272. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  273. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  274. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  275. package/dist/esm/clients/third-party/index.d.ts +3 -3
  276. package/dist/esm/clients/third-party/index.js +3 -3
  277. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  278. package/dist/esm/clients/third-party/loops-client.js +26 -26
  279. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  280. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  281. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  282. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +111 -111
  283. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  284. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  285. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  286. package/dist/esm/helpers/account-users-helper.js +18 -18
  287. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  288. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  289. package/dist/esm/helpers/index.d.ts +7 -7
  290. package/dist/esm/helpers/index.js +7 -7
  291. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  292. package/dist/esm/helpers/input-validation-helper.js +18 -18
  293. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  294. package/dist/esm/helpers/logging-helper.js +56 -56
  295. package/dist/esm/helpers/response-helper.d.ts +18 -18
  296. package/dist/esm/helpers/response-helper.js +37 -37
  297. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  298. package/dist/esm/helpers/shopify-helper.js +21 -21
  299. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  300. package/dist/esm/helpers/sqs-utils.js +9 -9
  301. package/dist/esm/index.d.ts +5 -5
  302. package/dist/esm/index.js +5 -5
  303. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  304. package/dist/esm/libs/click-id-parser.js +45 -45
  305. package/dist/esm/libs/compression.d.ts +2 -2
  306. package/dist/esm/libs/compression.js +25 -25
  307. package/dist/esm/libs/cookie.d.ts +17 -17
  308. package/dist/esm/libs/cookie.js +70 -70
  309. package/dist/esm/libs/crypto.d.ts +3 -3
  310. package/dist/esm/libs/crypto.js +11 -11
  311. package/dist/esm/libs/csv.d.ts +2 -2
  312. package/dist/esm/libs/csv.js +30 -30
  313. package/dist/esm/libs/currency.d.ts +1 -1
  314. package/dist/esm/libs/currency.js +22 -22
  315. package/dist/esm/libs/dates.d.ts +12 -12
  316. package/dist/esm/libs/dates.js +83 -83
  317. package/dist/esm/libs/domain.d.ts +2 -2
  318. package/dist/esm/libs/domain.js +33 -33
  319. package/dist/esm/libs/emails.d.ts +6 -6
  320. package/dist/esm/libs/emails.js +115 -115
  321. package/dist/esm/libs/http-error.d.ts +21 -21
  322. package/dist/esm/libs/http-error.js +59 -59
  323. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  324. package/dist/esm/libs/http-status-codes.js +59 -59
  325. package/dist/esm/libs/index.d.ts +17 -17
  326. package/dist/esm/libs/index.js +17 -17
  327. package/dist/esm/libs/numbers.d.ts +1 -1
  328. package/dist/esm/libs/numbers.js +11 -11
  329. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  330. package/dist/esm/libs/referrer-parser/index.js +2 -2
  331. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  332. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  333. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  334. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  335. package/dist/esm/libs/strings.d.ts +3 -3
  336. package/dist/esm/libs/strings.js +40 -40
  337. package/dist/esm/libs/traits.d.ts +6 -6
  338. package/dist/esm/libs/traits.js +54 -54
  339. package/dist/esm/libs/url.d.ts +1 -1
  340. package/dist/esm/libs/url.js +9 -9
  341. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  342. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  343. package/dist/esm/services/cache/index.d.ts +1 -1
  344. package/dist/esm/services/cache/index.js +1 -1
  345. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  346. package/dist/esm/services/cache/product-cache-service.js +68 -68
  347. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  348. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  349. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  350. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  351. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  352. package/dist/esm/services/db/destinations-db-service.js +72 -72
  353. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  354. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  355. package/dist/esm/services/db/index.d.ts +10 -10
  356. package/dist/esm/services/db/index.js +10 -10
  357. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  358. package/dist/esm/services/db/log-events-db-service.js +177 -177
  359. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  360. package/dist/esm/services/db/pixels-db-service.js +31 -31
  361. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  362. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  363. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  364. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  365. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  366. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  367. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  368. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  369. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  370. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  371. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  372. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  373. package/dist/esm/services/events/index.d.ts +3 -3
  374. package/dist/esm/services/events/index.js +3 -3
  375. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  376. package/dist/esm/services/events/log-event-service.js +52 -52
  377. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  378. package/dist/esm/services/events/metric-event-service.js +45 -45
  379. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  380. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  381. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  382. package/dist/esm/services/generic-cache-service.js +29 -29
  383. package/dist/esm/services/index.d.ts +8 -8
  384. package/dist/esm/services/index.js +8 -8
  385. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
  386. package/dist/esm/services/ipdata-lookup-service.js +108 -108
  387. package/dist/esm/services/shopify/index.d.ts +2 -2
  388. package/dist/esm/services/shopify/index.js +2 -2
  389. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  390. package/dist/esm/services/shopify/products/index.js +1 -1
  391. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  392. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +108 -108
  393. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  394. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  395. package/dist/esm/types/api-response.d.ts +6 -6
  396. package/dist/esm/types/api-response.js +1 -1
  397. package/dist/esm/types/index.d.ts +1 -1
  398. package/dist/esm/types/index.js +1 -1
  399. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  400. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  401. package/dist/esm/types/internal-events/index.d.ts +1 -1
  402. package/dist/esm/types/internal-events/index.js +1 -1
  403. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  404. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  405. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  406. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  407. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  408. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  409. 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