@ehrenkind/shopify-lib 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/index.cjs +421 -109
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +256 -176
  4. package/dist/index.d.ts +19311 -9
  5. package/dist/index.mjs +406 -101
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +2 -2
  8. package/dist/generated-api-types/2025-04/admin.generated.d.ts +0 -295
  9. package/dist/generated-api-types/2025-04/admin.generated.d.ts.map +0 -1
  10. package/dist/generated-api-types/2025-04/admin.generated.js +0 -5
  11. package/dist/generated-api-types/2025-04/admin.generated.js.map +0 -1
  12. package/dist/generated-api-types/2025-04/admin.types.d.ts +0 -60045
  13. package/dist/generated-api-types/2025-04/admin.types.d.ts.map +0 -1
  14. package/dist/generated-api-types/2025-04/admin.types.js +0 -11451
  15. package/dist/generated-api-types/2025-04/admin.types.js.map +0 -1
  16. package/dist/index.d.ts.map +0 -1
  17. package/dist/index.js +0 -9
  18. package/dist/index.js.map +0 -1
  19. package/dist/mutations/customers/deleteCustomerById.d.ts +0 -4
  20. package/dist/mutations/customers/deleteCustomerById.d.ts.map +0 -1
  21. package/dist/mutations/customers/deleteCustomerById.js +0 -38
  22. package/dist/mutations/customers/deleteCustomerById.js.map +0 -1
  23. package/dist/mutations/customers/deleteCustomerById.mock.d.ts +0 -4
  24. package/dist/mutations/customers/deleteCustomerById.mock.d.ts.map +0 -1
  25. package/dist/mutations/customers/deleteCustomerById.mock.js +0 -8
  26. package/dist/mutations/customers/deleteCustomerById.mock.js.map +0 -1
  27. package/dist/mutations/customers/deleteCustomerById.test.d.ts +0 -2
  28. package/dist/mutations/customers/deleteCustomerById.test.d.ts.map +0 -1
  29. package/dist/mutations/customers/deleteCustomerById.test.js +0 -10
  30. package/dist/mutations/customers/deleteCustomerById.test.js.map +0 -1
  31. package/dist/mutations/orders/cancelOrderById.d.ts +0 -23
  32. package/dist/mutations/orders/cancelOrderById.d.ts.map +0 -1
  33. package/dist/mutations/orders/cancelOrderById.js +0 -63
  34. package/dist/mutations/orders/cancelOrderById.js.map +0 -1
  35. package/dist/mutations/orders/cancelOrderById.mock.d.ts +0 -15
  36. package/dist/mutations/orders/cancelOrderById.mock.d.ts.map +0 -1
  37. package/dist/mutations/orders/cancelOrderById.mock.js +0 -17
  38. package/dist/mutations/orders/cancelOrderById.mock.js.map +0 -1
  39. package/dist/mutations/orders/cancelOrderById.test.d.ts +0 -2
  40. package/dist/mutations/orders/cancelOrderById.test.d.ts.map +0 -1
  41. package/dist/mutations/orders/cancelOrderById.test.js +0 -42
  42. package/dist/mutations/orders/cancelOrderById.test.js.map +0 -1
  43. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.d.ts +0 -4
  44. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.d.ts.map +0 -1
  45. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.js +0 -56
  46. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.js.map +0 -1
  47. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.mock.d.ts +0 -3
  48. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.mock.d.ts.map +0 -1
  49. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.mock.js +0 -11
  50. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.mock.js.map +0 -1
  51. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.test.d.ts +0 -2
  52. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.test.d.ts.map +0 -1
  53. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.test.js +0 -11
  54. package/dist/mutations/productVariantsBulkUpdate/connectMetaObjectToProductVariant.test.js.map +0 -1
  55. package/dist/queries/orders/getOrderById.d.ts +0 -136
  56. package/dist/queries/orders/getOrderById.d.ts.map +0 -1
  57. package/dist/queries/orders/getOrderById.js +0 -126
  58. package/dist/queries/orders/getOrderById.js.map +0 -1
  59. package/dist/queries/orders/getOrderById.mock.d.ts +0 -82
  60. package/dist/queries/orders/getOrderById.mock.d.ts.map +0 -1
  61. package/dist/queries/orders/getOrderById.mock.js +0 -205
  62. package/dist/queries/orders/getOrderById.mock.js.map +0 -1
  63. package/dist/queries/orders/getOrderById.queries.d.ts +0 -3
  64. package/dist/queries/orders/getOrderById.queries.d.ts.map +0 -1
  65. package/dist/queries/orders/getOrderById.queries.js +0 -175
  66. package/dist/queries/orders/getOrderById.queries.js.map +0 -1
  67. package/dist/queries/orders/getOrderById.test.d.ts +0 -2
  68. package/dist/queries/orders/getOrderById.test.d.ts.map +0 -1
  69. package/dist/queries/orders/getOrderById.test.js +0 -46
  70. package/dist/queries/orders/getOrderById.test.js.map +0 -1
  71. package/dist/queries/orders/getOrderByName.d.ts +0 -72
  72. package/dist/queries/orders/getOrderByName.d.ts.map +0 -1
  73. package/dist/queries/orders/getOrderByName.js +0 -117
  74. package/dist/queries/orders/getOrderByName.js.map +0 -1
  75. package/dist/queries/orders/getOrderByName.mock.d.ts +0 -21
  76. package/dist/queries/orders/getOrderByName.mock.d.ts.map +0 -1
  77. package/dist/queries/orders/getOrderByName.mock.js +0 -55
  78. package/dist/queries/orders/getOrderByName.mock.js.map +0 -1
  79. package/dist/queries/orders/getOrderByName.queries.d.ts +0 -3
  80. package/dist/queries/orders/getOrderByName.queries.d.ts.map +0 -1
  81. package/dist/queries/orders/getOrderByName.queries.js +0 -335
  82. package/dist/queries/orders/getOrderByName.queries.js.map +0 -1
  83. package/dist/queries/orders/getOrderByName.test.d.ts +0 -2
  84. package/dist/queries/orders/getOrderByName.test.d.ts.map +0 -1
  85. package/dist/queries/orders/getOrderByName.test.js +0 -30
  86. package/dist/queries/orders/getOrderByName.test.js.map +0 -1
  87. package/dist/queries/orders/getOrderPaymentDetails.d.ts +0 -130
  88. package/dist/queries/orders/getOrderPaymentDetails.d.ts.map +0 -1
  89. package/dist/queries/orders/getOrderPaymentDetails.js +0 -45
  90. package/dist/queries/orders/getOrderPaymentDetails.js.map +0 -1
  91. package/dist/queries/orders/getOrderPaymentDetails.mock.d.ts +0 -12
  92. package/dist/queries/orders/getOrderPaymentDetails.mock.d.ts.map +0 -1
  93. package/dist/queries/orders/getOrderPaymentDetails.mock.js +0 -24
  94. package/dist/queries/orders/getOrderPaymentDetails.mock.js.map +0 -1
  95. package/dist/queries/orders/getOrderPaymentDetails.queries.d.ts +0 -2
  96. package/dist/queries/orders/getOrderPaymentDetails.queries.d.ts.map +0 -1
  97. package/dist/queries/orders/getOrderPaymentDetails.queries.js +0 -21
  98. package/dist/queries/orders/getOrderPaymentDetails.queries.js.map +0 -1
  99. package/dist/queries/orders/getOrderPaymentDetails.test.d.ts +0 -2
  100. package/dist/queries/orders/getOrderPaymentDetails.test.d.ts.map +0 -1
  101. package/dist/queries/orders/getOrderPaymentDetails.test.js +0 -19
  102. package/dist/queries/orders/getOrderPaymentDetails.test.js.map +0 -1
  103. package/dist/queries/productVariants/getLeanProductVariants.d.ts +0 -33
  104. package/dist/queries/productVariants/getLeanProductVariants.d.ts.map +0 -1
  105. package/dist/queries/productVariants/getLeanProductVariants.js +0 -81
  106. package/dist/queries/productVariants/getLeanProductVariants.js.map +0 -1
  107. package/dist/queries/productVariants/getLeanProductVariants.mock.d.ts +0 -3
  108. package/dist/queries/productVariants/getLeanProductVariants.mock.d.ts.map +0 -1
  109. package/dist/queries/productVariants/getLeanProductVariants.mock.js +0 -33
  110. package/dist/queries/productVariants/getLeanProductVariants.mock.js.map +0 -1
  111. package/dist/queries/productVariants/getLeanProductVariants.test.d.ts +0 -2
  112. package/dist/queries/productVariants/getLeanProductVariants.test.d.ts.map +0 -1
  113. package/dist/queries/productVariants/getLeanProductVariants.test.js +0 -38
  114. package/dist/queries/productVariants/getLeanProductVariants.test.js.map +0 -1
  115. package/dist/utils/logger.d.ts +0 -11
  116. package/dist/utils/logger.d.ts.map +0 -1
  117. package/dist/utils/logger.js +0 -50
  118. package/dist/utils/logger.js.map +0 -1
  119. package/dist/utils/mswHandlers.d.ts +0 -8
  120. package/dist/utils/mswHandlers.d.ts.map +0 -1
  121. package/dist/utils/mswHandlers.js +0 -49
  122. package/dist/utils/mswHandlers.js.map +0 -1
  123. package/dist/utils/parseGid.d.ts +0 -9
  124. package/dist/utils/parseGid.d.ts.map +0 -1
  125. package/dist/utils/parseGid.js +0 -12
  126. package/dist/utils/parseGid.js.map +0 -1
  127. package/dist/utils/parseGid.test.d.ts +0 -2
  128. package/dist/utils/parseGid.test.d.ts.map +0 -1
  129. package/dist/utils/parseGid.test.js +0 -26
  130. package/dist/utils/parseGid.test.js.map +0 -1
  131. package/dist/utils/shopifyClient.d.ts +0 -6
  132. package/dist/utils/shopifyClient.d.ts.map +0 -1
  133. package/dist/utils/shopifyClient.js +0 -82
  134. package/dist/utils/shopifyClient.js.map +0 -1
  135. package/dist/utils/shopifyClient.mock.d.ts +0 -3
  136. package/dist/utils/shopifyClient.mock.d.ts.map +0 -1
  137. package/dist/utils/shopifyClient.mock.js +0 -19
  138. package/dist/utils/shopifyClient.mock.js.map +0 -1
  139. package/dist/utils/shopifyClient.test.d.ts +0 -2
  140. package/dist/utils/shopifyClient.test.d.ts.map +0 -1
  141. package/dist/utils/shopifyClient.test.js +0 -27
  142. package/dist/utils/shopifyClient.test.js.map +0 -1
  143. package/dist/utils/shopifyFetch.d.ts +0 -45
  144. package/dist/utils/shopifyFetch.d.ts.map +0 -1
  145. package/dist/utils/shopifyFetch.js +0 -89
  146. package/dist/utils/shopifyFetch.js.map +0 -1
  147. package/dist/utils/shopifyFetch.test.d.ts +0 -2
  148. package/dist/utils/shopifyFetch.test.d.ts.map +0 -1
  149. package/dist/utils/shopifyFetch.test.js +0 -17
  150. package/dist/utils/shopifyFetch.test.js.map +0 -1
  151. package/dist/utils/test-setup.d.ts +0 -2
  152. package/dist/utils/test-setup.d.ts.map +0 -1
  153. package/dist/utils/test-setup.js +0 -13
  154. package/dist/utils/test-setup.js.map +0 -1
  155. package/dist/utils/zod.d.ts +0 -3
  156. package/dist/utils/zod.d.ts.map +0 -1
  157. package/dist/utils/zod.js +0 -19
  158. package/dist/utils/zod.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -33,17 +33,20 @@ __export(index_exports, {
33
33
  ShopifyUserError: () => ShopifyUserError,
34
34
  cancelOrderById: () => cancelOrderById,
35
35
  deleteCustomerById: () => deleteCustomerById,
36
+ getCustomersByEmail: () => getCustomersByEmail,
37
+ getFulfillmentById: () => getFulfillmentById,
38
+ getFulfillmentOrdersByOrderId: () => getFulfillmentOrdersByOrderId,
39
+ getFulfillmentTrackingIds: () => getFulfillmentTrackingIds,
36
40
  getLeanProductVariants: () => getLeanProductVariants,
37
41
  getOrderById: () => getOrderById,
38
42
  getOrderByName: () => getOrderByName,
43
+ getOrderCancellationInfoByName: () => getOrderCancellationInfoByName,
39
44
  getOrderPaymentDetailsById: () => getOrderPaymentDetailsById,
45
+ getOrdersByCustomerId: () => getOrdersByCustomerId,
40
46
  parseGid: () => parseGid
41
47
  });
42
48
  module.exports = __toCommonJS(index_exports);
43
49
 
44
- // src/mutations/customers/deleteCustomerById.ts
45
- var import_zod3 = __toESM(require("zod"), 1);
46
-
47
50
  // src/utils/logger.ts
48
51
  var { env } = process;
49
52
  var gql = String.raw;
@@ -92,11 +95,16 @@ var logger = {
92
95
  };
93
96
 
94
97
  // src/utils/shopifyClient.ts
95
- var import_shopify_api = require("@shopify/shopify-api");
98
+ var import_shopify_api2 = require("@shopify/shopify-api");
96
99
  var import_node = require("@shopify/shopify-api/adapters/node");
97
100
  var import_dotenv = __toESM(require("dotenv"), 1);
98
101
  var import_zod = require("zod");
102
+
103
+ // src/utils/apiVersion.ts
104
+ var import_shopify_api = require("@shopify/shopify-api");
99
105
  var SHOPIFY_API_VERSION = import_shopify_api.ApiVersion.April25;
106
+
107
+ // src/utils/shopifyClient.ts
100
108
  import_dotenv.default.config();
101
109
  var envSchema = import_zod.z.object({
102
110
  SHOPIFY_API_KEY: import_zod.z.string({
@@ -116,23 +124,23 @@ var envSchema = import_zod.z.object({
116
124
  var mapLogLevelToShopifySeverity = (level) => {
117
125
  switch (level) {
118
126
  case "silent":
119
- return import_shopify_api.LogSeverity.Error;
127
+ return import_shopify_api2.LogSeverity.Error;
120
128
  case "debug":
121
- return import_shopify_api.LogSeverity.Debug;
129
+ return import_shopify_api2.LogSeverity.Debug;
122
130
  case "info":
123
- return import_shopify_api.LogSeverity.Info;
131
+ return import_shopify_api2.LogSeverity.Info;
124
132
  case "warn":
125
- return import_shopify_api.LogSeverity.Warning;
133
+ return import_shopify_api2.LogSeverity.Warning;
126
134
  case "error":
127
- return import_shopify_api.LogSeverity.Error;
135
+ return import_shopify_api2.LogSeverity.Error;
128
136
  default:
129
- return import_shopify_api.LogSeverity.Info;
137
+ return import_shopify_api2.LogSeverity.Info;
130
138
  }
131
139
  };
132
140
  var shopifyGraphqlClient;
133
141
  try {
134
142
  const env2 = envSchema.parse(process.env);
135
- const shopify = (0, import_shopify_api.shopifyApi)({
143
+ const shopify = (0, import_shopify_api2.shopifyApi)({
136
144
  apiKey: env2.SHOPIFY_API_KEY,
137
145
  apiSecretKey: env2.SHOPIFY_API_SECRET,
138
146
  hostName: env2.SHOPIFY_API_HOSTNAME,
@@ -145,7 +153,7 @@ try {
145
153
  unstable_managedPricingSupport: false
146
154
  }
147
155
  });
148
- const shopifySession = new import_shopify_api.Session({
156
+ const shopifySession = new import_shopify_api2.Session({
149
157
  id: `custom-session-${env2.SHOPIFY_API_HOSTNAME}`,
150
158
  shop: env2.SHOPIFY_API_HOSTNAME,
151
159
  state: "authenticated",
@@ -171,10 +179,11 @@ function convertIdIntoGid(id, type) {
171
179
  return `gid://shopify/${type}/${id}`;
172
180
  }
173
181
  var ShopifyUserError = class extends Error {
182
+ errors;
174
183
  constructor(message, errors) {
175
184
  super(message);
176
- this.errors = errors;
177
185
  this.name = "ShopifyUserError";
186
+ this.errors = errors;
178
187
  }
179
188
  };
180
189
  async function fetchShopifyGraphql(params) {
@@ -237,25 +246,7 @@ async function makeRequest(query, variables) {
237
246
  return response.data;
238
247
  }
239
248
 
240
- // src/utils/zod.ts
241
- var import_zod2 = __toESM(require("zod"), 1);
242
- async function returnOutputParsed(data, Model) {
243
- const parsed = await Model.safeParseAsync(data);
244
- if (!parsed.success) {
245
- if (parsed.error instanceof import_zod2.default.ZodError) {
246
- const msg = JSON.stringify(parsed.error.format(), null, 2);
247
- logger.error(msg);
248
- } else {
249
- logger.error("Failed to parse:", parsed.error);
250
- }
251
- throw new Error("Failed to parse product variants");
252
- }
253
- logger.info("Parsed data successfully");
254
- return parsed.data;
255
- }
256
-
257
249
  // src/mutations/customers/deleteCustomerById.ts
258
- var DeleteCustomerByIdReturn = import_zod3.default.string().nullable();
259
250
  async function deleteCustomerById(customerId) {
260
251
  const mutation2 = gql`#graphql
261
252
  mutation customerDelete($input: CustomerDeleteInput!) {
@@ -286,10 +277,7 @@ async function deleteCustomerById(customerId) {
286
277
  };
287
278
  }
288
279
  });
289
- return returnOutputParsed(
290
- response[0]?.deletedCustomerId ?? null,
291
- DeleteCustomerByIdReturn
292
- );
280
+ return response[0]?.deletedCustomerId ?? null;
293
281
  }
294
282
 
295
283
  // src/mutations/orders/cancelOrderById.ts
@@ -335,7 +323,24 @@ async function cancelOrderById(orderId) {
335
323
  }
336
324
 
337
325
  // src/queries/orders/getOrderById.ts
338
- var import_zod5 = __toESM(require("zod"), 1);
326
+ var import_zod3 = __toESM(require("zod"), 1);
327
+
328
+ // src/utils/zod.ts
329
+ var import_zod2 = __toESM(require("zod"), 1);
330
+ async function returnOutputParsed(data, Model) {
331
+ const parsed = await Model.safeParseAsync(data);
332
+ if (!parsed.success) {
333
+ if (parsed.error instanceof import_zod2.default.ZodError) {
334
+ const msg = JSON.stringify(parsed.error.format(), null, 2);
335
+ logger.error(msg);
336
+ } else {
337
+ logger.error("Failed to parse:", parsed.error);
338
+ }
339
+ throw new Error("Failed to parse product variants");
340
+ }
341
+ logger.info("Parsed data successfully");
342
+ return parsed.data;
343
+ }
339
344
 
340
345
  // src/queries/orders/getOrderById.queries.ts
341
346
  var queryOrderById = gql`#graphql
@@ -513,36 +518,36 @@ var queryOrderByIdFull = gql`#graphql
513
518
  `;
514
519
 
515
520
  // src/queries/orders/getOrderById.ts
516
- var AddressSchema = import_zod5.default.object({
517
- firstName: import_zod5.default.string().nullable(),
518
- lastName: import_zod5.default.string().nullable(),
519
- address1: import_zod5.default.string().nullable(),
520
- address2: import_zod5.default.string().nullable(),
521
- city: import_zod5.default.string().nullable(),
522
- province: import_zod5.default.string().nullable(),
523
- country: import_zod5.default.string().nullable(),
524
- zip: import_zod5.default.string().nullable()
521
+ var AddressSchema = import_zod3.default.object({
522
+ firstName: import_zod3.default.string().nullable(),
523
+ lastName: import_zod3.default.string().nullable(),
524
+ address1: import_zod3.default.string().nullable(),
525
+ address2: import_zod3.default.string().nullable(),
526
+ city: import_zod3.default.string().nullable(),
527
+ province: import_zod3.default.string().nullable(),
528
+ country: import_zod3.default.string().nullable(),
529
+ zip: import_zod3.default.string().nullable()
525
530
  }).nullable();
526
- var GetLeanOrderByIdReturn = import_zod5.default.object({
527
- id: import_zod5.default.string(),
528
- name: import_zod5.default.string(),
529
- createdAt: import_zod5.default.string(),
530
- updatedAt: import_zod5.default.string(),
531
- cancelledAt: import_zod5.default.string().nullable(),
532
- cancelReason: import_zod5.default.string().nullable(),
533
- totalPrice: import_zod5.default.object({
534
- amount: import_zod5.default.string(),
535
- currencyCode: import_zod5.default.string()
531
+ var GetLeanOrderByIdReturn = import_zod3.default.object({
532
+ id: import_zod3.default.string(),
533
+ name: import_zod3.default.string(),
534
+ createdAt: import_zod3.default.string(),
535
+ updatedAt: import_zod3.default.string(),
536
+ cancelledAt: import_zod3.default.string().nullable(),
537
+ cancelReason: import_zod3.default.string().nullable(),
538
+ totalPrice: import_zod3.default.object({
539
+ amount: import_zod3.default.string(),
540
+ currencyCode: import_zod3.default.string()
536
541
  }),
537
- customer: import_zod5.default.object({
538
- id: import_zod5.default.string(),
539
- displayName: import_zod5.default.string(),
540
- firstName: import_zod5.default.string().nullable(),
541
- lastName: import_zod5.default.string().nullable(),
542
- emailAddress: import_zod5.default.string().nullable()
542
+ customer: import_zod3.default.object({
543
+ id: import_zod3.default.string(),
544
+ displayName: import_zod3.default.string(),
545
+ firstName: import_zod3.default.string().nullable(),
546
+ lastName: import_zod3.default.string().nullable(),
547
+ emailAddress: import_zod3.default.string().nullable()
543
548
  }).nullable(),
544
- financialStatus: import_zod5.default.string().nullable(),
545
- fulfillmentStatus: import_zod5.default.string().nullable(),
549
+ financialStatus: import_zod3.default.string().nullable(),
550
+ fulfillmentStatus: import_zod3.default.string().nullable(),
546
551
  shippingAddress: AddressSchema
547
552
  }).nullable();
548
553
  async function getOrderById(id, detailLevel = "lean") {
@@ -614,7 +619,7 @@ async function getFullOrderById(id) {
614
619
  }
615
620
 
616
621
  // src/queries/orders/getOrderByName.ts
617
- var import_zod7 = __toESM(require("zod"), 1);
622
+ var import_zod5 = __toESM(require("zod"), 1);
618
623
 
619
624
  // src/queries/orders/getOrderByName.queries.ts
620
625
  var queryOrdersByName = gql`#graphql
@@ -952,22 +957,22 @@ var queryOrdersByNameFull = gql`#graphql
952
957
  `;
953
958
 
954
959
  // src/queries/orders/getOrderByName.ts
955
- var GetLeanOrderByNameReturn = import_zod7.default.object({
956
- id: import_zod7.default.string(),
957
- name: import_zod7.default.string(),
958
- createdAt: import_zod7.default.string(),
959
- updatedAt: import_zod7.default.string(),
960
- totalPrice: import_zod7.default.object({
961
- amount: import_zod7.default.string(),
962
- currencyCode: import_zod7.default.string()
960
+ var GetLeanOrderByNameReturn = import_zod5.default.object({
961
+ id: import_zod5.default.string(),
962
+ name: import_zod5.default.string(),
963
+ createdAt: import_zod5.default.string(),
964
+ updatedAt: import_zod5.default.string(),
965
+ totalPrice: import_zod5.default.object({
966
+ amount: import_zod5.default.string(),
967
+ currencyCode: import_zod5.default.string()
963
968
  }),
964
- customer: import_zod7.default.object({
965
- id: import_zod7.default.string(),
966
- displayName: import_zod7.default.string(),
967
- emailAddress: import_zod7.default.string().nullable()
969
+ customer: import_zod5.default.object({
970
+ id: import_zod5.default.string(),
971
+ displayName: import_zod5.default.string(),
972
+ emailAddress: import_zod5.default.string().nullable()
968
973
  }).nullable(),
969
- financialStatus: import_zod7.default.string().nullable(),
970
- fulfillmentStatus: import_zod7.default.string().nullable()
974
+ financialStatus: import_zod5.default.string().nullable(),
975
+ fulfillmentStatus: import_zod5.default.string().nullable()
971
976
  }).nullable();
972
977
  async function getOrderByName(orderName, detailLevel = "lean") {
973
978
  if (detailLevel === "lean") {
@@ -1057,15 +1062,59 @@ async function getFullOrderByName(orderName) {
1057
1062
  return order;
1058
1063
  }
1059
1064
 
1065
+ // src/queries/orders/getOrderCancellationInfo.queries.ts
1066
+ var queryOrderCancellationInfoByName = gql`#graphql
1067
+ query orderCancellationInfoByName($first: Int!, $queryFilter: String!) {
1068
+ orders(first: $first, query: $queryFilter) {
1069
+ edges {
1070
+ node {
1071
+ id
1072
+ name
1073
+ cancelledAt
1074
+ }
1075
+ }
1076
+ }
1077
+ }
1078
+ `;
1079
+
1080
+ // src/queries/orders/getOrderCancellationInfo.ts
1081
+ async function getOrderCancellationInfoByName(orderName) {
1082
+ const variables = {
1083
+ first: 1,
1084
+ queryFilter: `name:${orderName}`
1085
+ };
1086
+ const response = await fetchShopifyGraphql({
1087
+ query: queryOrderCancellationInfoByName,
1088
+ variables
1089
+ });
1090
+ if (!response.orders) {
1091
+ throw new Error(
1092
+ "Invalid GraphQL response for getOrderCancellationInfoByName: 'orders' field is missing."
1093
+ );
1094
+ }
1095
+ if (!Array.isArray(response.orders.edges)) {
1096
+ throw new Error(
1097
+ "Invalid GraphQL response for getOrderCancellationInfoByName: 'orders.edges' is not an array."
1098
+ );
1099
+ }
1100
+ const firstEdge = response.orders.edges[0];
1101
+ const order = firstEdge?.node;
1102
+ if (!order) {
1103
+ logger.debug(`No order found with name: ${orderName}`);
1104
+ return null;
1105
+ }
1106
+ return order;
1107
+ }
1108
+
1060
1109
  // src/queries/productVariants/getLeanProductVariants.ts
1061
- var import_zod9 = __toESM(require("zod"), 1);
1062
- var GetLeanProductVariantsReturn = import_zod9.default.array(
1063
- import_zod9.default.object({
1064
- productId: import_zod9.default.string(),
1065
- productTitle: import_zod9.default.string(),
1066
- variantId: import_zod9.default.string(),
1067
- variantTitle: import_zod9.default.string(),
1068
- sku: import_zod9.default.string()
1110
+ var import_zod7 = __toESM(require("zod"), 1);
1111
+ var GetLeanProductVariantsReturn = import_zod7.default.array(
1112
+ import_zod7.default.object({
1113
+ productId: import_zod7.default.string(),
1114
+ productTitle: import_zod7.default.string(),
1115
+ variantId: import_zod7.default.string(),
1116
+ variantTitle: import_zod7.default.string(),
1117
+ sku: import_zod7.default.string()
1069
1118
  })
1070
1119
  );
1071
1120
  async function getLeanProductVariants(skus) {
@@ -1133,9 +1182,6 @@ async function getLeanProductVariants(skus) {
1133
1182
  return await returnOutputParsed(allVariants, GetLeanProductVariantsReturn);
1134
1183
  }
1135
1184
 
1136
- // src/queries/orders/getOrderPaymentDetails.ts
1137
- var import_zod11 = __toESM(require("zod"), 1);
1138
-
1139
1185
  // src/queries/orders/getOrderPaymentDetails.queries.ts
1140
1186
  var queryOrderPaymentDetails = gql`#graphql
1141
1187
  query orderPaymentDetailsById($id: ID!) {
@@ -1158,25 +1204,6 @@ var queryOrderPaymentDetails = gql`#graphql
1158
1204
  `;
1159
1205
 
1160
1206
  // src/queries/orders/getOrderPaymentDetails.ts
1161
- var GetOrderPaymentDetailsByIdReturn = import_zod11.default.object({
1162
- order: import_zod11.default.object({
1163
- transactions: import_zod11.default.array(
1164
- import_zod11.default.object({
1165
- amountSet: import_zod11.default.object({
1166
- shopMoney: import_zod11.default.object({
1167
- amount: import_zod11.default.string(),
1168
- currencyCode: import_zod11.default.string()
1169
- })
1170
- }),
1171
- createdAt: import_zod11.default.string(),
1172
- gateway: import_zod11.default.string(),
1173
- formattedGateway: import_zod11.default.string(),
1174
- kind: import_zod11.default.string(),
1175
- paymentId: import_zod11.default.string()
1176
- })
1177
- )
1178
- })
1179
- });
1180
1207
  async function getOrderPaymentDetailsById(id) {
1181
1208
  const variables = {
1182
1209
  id: convertIdIntoGid(id, "Order")
@@ -1189,7 +1216,286 @@ async function getOrderPaymentDetailsById(id) {
1189
1216
  logger.debug(`No order found with ID: ${id}`);
1190
1217
  return null;
1191
1218
  }
1192
- return await returnOutputParsed(response, GetOrderPaymentDetailsByIdReturn);
1219
+ return response.order;
1220
+ }
1221
+
1222
+ // src/queries/fulfillments/getFulfillmentById.queries.ts
1223
+ var queryFulfillmentById = gql`#graphql
1224
+ query fulfillmentById($id: ID!) {
1225
+ fulfillment(id: $id) {
1226
+ id
1227
+ name
1228
+ createdAt
1229
+ updatedAt
1230
+ status
1231
+ totalQuantity
1232
+ estimatedDeliveryAt
1233
+ deliveredAt
1234
+ location {
1235
+ id
1236
+ legacyResourceId
1237
+ name
1238
+ }
1239
+ service {
1240
+ handle
1241
+ serviceName
1242
+ }
1243
+ trackingInfo(first: 10) {
1244
+ company
1245
+ number
1246
+ url
1247
+ }
1248
+ originAddress {
1249
+ address1
1250
+ address2
1251
+ city
1252
+ countryCode
1253
+ provinceCode
1254
+ zip
1255
+ }
1256
+ fulfillmentLineItems(first: 100) {
1257
+ edges {
1258
+ node {
1259
+ id
1260
+ quantity
1261
+ originalTotalSet {
1262
+ shopMoney {
1263
+ amount
1264
+ currencyCode
1265
+ }
1266
+ }
1267
+ lineItem {
1268
+ id
1269
+ title
1270
+ sku
1271
+ variant {
1272
+ id
1273
+ }
1274
+ }
1275
+ }
1276
+ }
1277
+ }
1278
+ }
1279
+ }
1280
+ `;
1281
+
1282
+ // src/queries/fulfillments/getFulfillmentById.ts
1283
+ async function getFulfillmentById(id) {
1284
+ const gid = typeof id === "string" ? id : convertIdIntoGid(
1285
+ typeof id === "number" ? BigInt(id) : id,
1286
+ "Fulfillment"
1287
+ );
1288
+ const variables = { id: gid };
1289
+ const response = await fetchShopifyGraphql({
1290
+ query: queryFulfillmentById,
1291
+ variables
1292
+ });
1293
+ if (!response.fulfillment) {
1294
+ logger.debug(`No fulfillment found with ID: ${id}`);
1295
+ return null;
1296
+ }
1297
+ return response.fulfillment;
1298
+ }
1299
+
1300
+ // src/queries/fulfillmentOrders/getFulfillmentOrdersByOrderId.queries.ts
1301
+ var queryFulfillmentOrdersByOrderId = gql`#graphql
1302
+ query fulfillmentOrdersByOrderId($orderId: ID!) {
1303
+ order(id: $orderId) {
1304
+ fulfillmentOrders(first: 50) {
1305
+ edges {
1306
+ node {
1307
+ id
1308
+ status
1309
+ lineItems(first: 100) {
1310
+ edges {
1311
+ node {
1312
+ id
1313
+ remainingQuantity
1314
+ totalQuantity
1315
+ lineItem {
1316
+ id
1317
+ }
1318
+ }
1319
+ }
1320
+ }
1321
+ }
1322
+ }
1323
+ }
1324
+ }
1325
+ }
1326
+ `;
1327
+
1328
+ // src/queries/fulfillmentOrders/getFulfillmentOrdersByOrderId.ts
1329
+ async function getFulfillmentOrdersByOrderId(orderId) {
1330
+ const gid = typeof orderId === "string" ? orderId : convertIdIntoGid(
1331
+ typeof orderId === "number" ? BigInt(orderId) : orderId,
1332
+ "Order"
1333
+ );
1334
+ const variables = { orderId: gid };
1335
+ const response = await fetchShopifyGraphql({
1336
+ query: queryFulfillmentOrdersByOrderId,
1337
+ variables
1338
+ });
1339
+ if (!response.order) {
1340
+ logger.debug(`No order found with ID: ${orderId}`);
1341
+ return [];
1342
+ }
1343
+ return response.order.fulfillmentOrders.edges.map((edge) => edge.node);
1344
+ }
1345
+
1346
+ // src/queries/fulfillments/getFulfillmentTrackingIds.queries.ts
1347
+ var queryFulfillmentTrackingIds = gql`#graphql
1348
+ query fulfillmentTrackingIds($id: ID!) {
1349
+ fulfillment(id: $id) {
1350
+ id
1351
+ trackingInfo(first: 50) {
1352
+ company
1353
+ number
1354
+ }
1355
+ }
1356
+ }
1357
+ `;
1358
+
1359
+ // src/queries/fulfillments/getFulfillmentTrackingIds.ts
1360
+ async function getFulfillmentTrackingIds(id) {
1361
+ const gid = typeof id === "string" ? id : convertIdIntoGid(
1362
+ typeof id === "number" ? BigInt(id) : id,
1363
+ "Fulfillment"
1364
+ );
1365
+ const variables = { id: gid };
1366
+ const response = await fetchShopifyGraphql({
1367
+ query: queryFulfillmentTrackingIds,
1368
+ variables
1369
+ });
1370
+ if (!response.fulfillment) {
1371
+ logger.debug(`No fulfillment found with ID: ${id}`);
1372
+ return null;
1373
+ }
1374
+ const trackingInfo = response.fulfillment.trackingInfo;
1375
+ const trackingNumbers = trackingInfo.map((info) => info.number).filter((num) => num != null);
1376
+ const trackingCompany = trackingInfo[0]?.company ?? null;
1377
+ return {
1378
+ trackingNumbers,
1379
+ trackingCompany
1380
+ };
1381
+ }
1382
+
1383
+ // src/queries/customers/getCustomersByEmail.queries.ts
1384
+ var queryCustomersByEmail = gql`#graphql
1385
+ query customersByEmail($query: String!, $first: Int!) {
1386
+ customers(first: $first, query: $query) {
1387
+ edges {
1388
+ node {
1389
+ id
1390
+ email
1391
+ firstName
1392
+ lastName
1393
+ numberOfOrders
1394
+ amountSpent {
1395
+ amount
1396
+ currencyCode
1397
+ }
1398
+ defaultAddress {
1399
+ id
1400
+ address1
1401
+ address2
1402
+ city
1403
+ province
1404
+ country
1405
+ zip
1406
+ phone
1407
+ }
1408
+ addresses {
1409
+ id
1410
+ address1
1411
+ address2
1412
+ city
1413
+ province
1414
+ country
1415
+ zip
1416
+ phone
1417
+ }
1418
+ }
1419
+ }
1420
+ }
1421
+ }
1422
+ `;
1423
+
1424
+ // src/queries/customers/getCustomersByEmail.ts
1425
+ async function getCustomersByEmail(email, limit = 10) {
1426
+ const variables = {
1427
+ query: `email:${email}`,
1428
+ first: limit
1429
+ };
1430
+ const response = await fetchShopifyGraphql({
1431
+ query: queryCustomersByEmail,
1432
+ variables
1433
+ });
1434
+ const customers = response.customers.edges.map((edge) => edge.node);
1435
+ logger.debug(`Found ${customers.length} customers for email: ${email}`);
1436
+ return customers;
1437
+ }
1438
+
1439
+ // src/queries/orders/getOrdersByCustomerId.queries.ts
1440
+ var queryOrdersByCustomerId = gql`#graphql
1441
+ query ordersByCustomerId($customerId: ID!, $first: Int!) {
1442
+ customer(id: $customerId) {
1443
+ id
1444
+ orders(first: $first, reverse: true) {
1445
+ edges {
1446
+ node {
1447
+ id
1448
+ name
1449
+ createdAt
1450
+ cancelledAt
1451
+ cancelReason
1452
+ displayFulfillmentStatus
1453
+ totalPriceSet {
1454
+ shopMoney {
1455
+ amount
1456
+ currencyCode
1457
+ }
1458
+ }
1459
+ lineItems(first: 100) {
1460
+ edges {
1461
+ node {
1462
+ sku
1463
+ title
1464
+ image {
1465
+ url
1466
+ width
1467
+ height
1468
+ altText
1469
+ }
1470
+ }
1471
+ }
1472
+ }
1473
+ }
1474
+ }
1475
+ }
1476
+ }
1477
+ }
1478
+ `;
1479
+
1480
+ // src/queries/orders/getOrdersByCustomerId.ts
1481
+ async function getOrdersByCustomerId(customerId, limit = 250) {
1482
+ const bigIntId = typeof customerId === "number" ? BigInt(customerId) : customerId;
1483
+ const gid = convertIdIntoGid(bigIntId, "Customer");
1484
+ const variables = {
1485
+ customerId: gid,
1486
+ first: limit
1487
+ };
1488
+ const response = await fetchShopifyGraphql({
1489
+ query: queryOrdersByCustomerId,
1490
+ variables
1491
+ });
1492
+ if (!response.customer) {
1493
+ logger.debug(`No customer found with ID: ${customerId}`);
1494
+ return [];
1495
+ }
1496
+ const orders = response.customer.orders.edges.map((edge) => edge.node);
1497
+ logger.debug(`Got ${orders.length} orders for customer ${customerId}`);
1498
+ return orders;
1193
1499
  }
1194
1500
 
1195
1501
  // src/utils/parseGid.ts
@@ -1202,10 +1508,16 @@ function parseGid(gid) {
1202
1508
  ShopifyUserError,
1203
1509
  cancelOrderById,
1204
1510
  deleteCustomerById,
1511
+ getCustomersByEmail,
1512
+ getFulfillmentById,
1513
+ getFulfillmentOrdersByOrderId,
1514
+ getFulfillmentTrackingIds,
1205
1515
  getLeanProductVariants,
1206
1516
  getOrderById,
1207
1517
  getOrderByName,
1518
+ getOrderCancellationInfoByName,
1208
1519
  getOrderPaymentDetailsById,
1520
+ getOrdersByCustomerId,
1209
1521
  parseGid
1210
1522
  });
1211
1523
  //# sourceMappingURL=index.cjs.map