@ehrenkind/shopify-lib 0.2.2 → 0.3.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 (33) hide show
  1. package/dist/generated-api-types/2025-04/admin.generated.d.ts +12 -0
  2. package/dist/generated-api-types/2025-04/admin.generated.d.ts.map +1 -1
  3. package/dist/index.cjs +59 -3
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.cts +81 -1
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/index.mjs +57 -3
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/mutations/orders/cancelOrderById.d.ts +23 -0
  13. package/dist/mutations/orders/cancelOrderById.d.ts.map +1 -0
  14. package/dist/mutations/orders/cancelOrderById.js +63 -0
  15. package/dist/mutations/orders/cancelOrderById.js.map +1 -0
  16. package/dist/mutations/orders/cancelOrderById.mock.d.ts +15 -0
  17. package/dist/mutations/orders/cancelOrderById.mock.d.ts.map +1 -0
  18. package/dist/mutations/orders/cancelOrderById.mock.js +17 -0
  19. package/dist/mutations/orders/cancelOrderById.mock.js.map +1 -0
  20. package/dist/mutations/orders/cancelOrderById.test.d.ts +2 -0
  21. package/dist/mutations/orders/cancelOrderById.test.d.ts.map +1 -0
  22. package/dist/mutations/orders/cancelOrderById.test.js +42 -0
  23. package/dist/mutations/orders/cancelOrderById.test.js.map +1 -0
  24. package/dist/queries/orders/getOrderById.mock.d.ts.map +1 -1
  25. package/dist/utils/mswHandlers.d.ts +6 -0
  26. package/dist/utils/mswHandlers.d.ts.map +1 -1
  27. package/dist/utils/mswHandlers.js +5 -2
  28. package/dist/utils/mswHandlers.js.map +1 -1
  29. package/dist/utils/shopifyFetch.d.ts +24 -3
  30. package/dist/utils/shopifyFetch.d.ts.map +1 -1
  31. package/dist/utils/shopifyFetch.js +23 -1
  32. package/dist/utils/shopifyFetch.js.map +1 -1
  33. package/package.json +1 -1
@@ -7,6 +7,14 @@ export type CustomerDeleteMutation = {
7
7
  userErrors: Array<Pick<AdminTypes.UserError, 'field' | 'message'>>;
8
8
  })>;
9
9
  };
10
+ export type OrderCancelMutationVariables = AdminTypes.Exact<{
11
+ orderId: AdminTypes.Scalars['ID']['input'];
12
+ }>;
13
+ export type OrderCancelMutation = {
14
+ orderCancel?: AdminTypes.Maybe<{
15
+ orderCancelUserErrors: Array<Pick<AdminTypes.OrderCancelUserError, 'code' | 'field' | 'message'>>;
16
+ }>;
17
+ };
10
18
  export type ConnectMetaObjectToProductVariantMutationVariables = AdminTypes.Exact<{
11
19
  productId: AdminTypes.Scalars['ID']['input'];
12
20
  variantId: AdminTypes.Scalars['ID']['input'];
@@ -267,6 +275,10 @@ interface GeneratedMutationTypes {
267
275
  return: CustomerDeleteMutation;
268
276
  variables: CustomerDeleteMutationVariables;
269
277
  };
278
+ "#graphql\n mutation orderCancel($orderId: ID!) {\n orderCancel(\n orderId: $orderId\n refund: true\n restock: false\n reason: CUSTOMER\n notifyCustomer: true\n ) {\n orderCancelUserErrors {\n code\n field\n message\n }\n }\n }\n": {
279
+ return: OrderCancelMutation;
280
+ variables: OrderCancelMutationVariables;
281
+ };
270
282
  "#graphql\n mutation connectMetaObjectToProductVariant($productId: ID!, $variantId: ID!, $metaObjectId: String!, $metaObjectKey: String!) {\n productVariantsBulkUpdate(\n productId: $productId\n variants: [\n {\n id: $variantId\n metafields: [\n {\n namespace: \"custom\"\n key: $metaObjectKey\n value: $metaObjectId\n type: \"metaobject_reference\"\n }\n ]\n }\n ] \n ) {\n productVariants { \n id\n }\n userErrors {\n field\n message\n }\n }\n }\n ": {
271
283
  return: ConnectMetaObjectToProductVariantMutation;
272
284
  variables: ConnectMetaObjectToProductVariantMutationVariables;
@@ -1 +1 @@
1
- {"version":3,"file":"admin.generated.d.ts","sourceRoot":"","sources":["../../../src/generated-api-types/2025-04/admin.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.generated.d.ts","sourceRoot":"","sources":["../../../src/generated-api-types/2025-04/admin.generated.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -30,6 +30,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
+ ShopifyUserError: () => ShopifyUserError,
34
+ cancelOrderById: () => cancelOrderById,
33
35
  deleteCustomerById: () => deleteCustomerById,
34
36
  getLeanProductVariants: () => getLeanProductVariants,
35
37
  getOrderById: () => getOrderById,
@@ -168,6 +170,13 @@ try {
168
170
  function convertIdIntoGid(id, type) {
169
171
  return `gid://shopify/${type}/${id}`;
170
172
  }
173
+ var ShopifyUserError = class extends Error {
174
+ constructor(message, errors) {
175
+ super(message);
176
+ this.errors = errors;
177
+ this.name = "ShopifyUserError";
178
+ }
179
+ };
171
180
  async function fetchShopifyGraphql(params) {
172
181
  const {
173
182
  query,
@@ -187,7 +196,10 @@ async function fetchShopifyGraphql(params) {
187
196
  if (Array.isArray(userErrors) && userErrors.length > 0) {
188
197
  const errorMessages = userErrors.map((e) => e.message || JSON.stringify(e)).join("\n");
189
198
  logger.error("Shopify mutation userErrors:", errorMessages);
190
- throw new Error(`Shopify mutation userErrors: ${errorMessages}`);
199
+ throw new ShopifyUserError(
200
+ `Shopify mutation userErrors: ${errorMessages}`,
201
+ userErrors
202
+ );
191
203
  }
192
204
  allNodes.push(...nodes);
193
205
  hasNextLoop = fetchAllPages ? !!pageInfo?.hasNextPage : false;
@@ -245,7 +257,7 @@ async function returnOutputParsed(data, Model) {
245
257
  // src/mutations/customers/deleteCustomerById.ts
246
258
  var DeleteCustomerByIdReturn = import_zod3.default.string().nullable();
247
259
  async function deleteCustomerById(customerId) {
248
- const mutation = gql`#graphql
260
+ const mutation2 = gql`#graphql
249
261
  mutation customerDelete($input: CustomerDeleteInput!) {
250
262
  customerDelete(input: $input) {
251
263
  deletedCustomerId
@@ -260,7 +272,7 @@ async function deleteCustomerById(customerId) {
260
272
  input: { id: customerId }
261
273
  };
262
274
  const response = await fetchShopifyGraphql({
263
- query: mutation,
275
+ query: mutation2,
264
276
  variables,
265
277
  dataExtractor: (data) => {
266
278
  if (!data.customerDelete) {
@@ -280,6 +292,48 @@ async function deleteCustomerById(customerId) {
280
292
  );
281
293
  }
282
294
 
295
+ // src/mutations/orders/cancelOrderById.ts
296
+ var mutation = gql`#graphql
297
+ mutation orderCancel($orderId: ID!) {
298
+ orderCancel(
299
+ orderId: $orderId
300
+ refund: true
301
+ restock: false
302
+ reason: CUSTOMER
303
+ notifyCustomer: true
304
+ ) {
305
+ orderCancelUserErrors {
306
+ code
307
+ field
308
+ message
309
+ }
310
+ }
311
+ }
312
+ `;
313
+ async function cancelOrderById(orderId) {
314
+ const orderGid = typeof orderId === "string" ? orderId : convertIdIntoGid(
315
+ typeof orderId === "number" ? BigInt(orderId) : orderId,
316
+ "Order"
317
+ );
318
+ logger.debug(`Cancelling order ${orderGid}`);
319
+ const variables = { orderId: orderGid };
320
+ await fetchShopifyGraphql({
321
+ query: mutation,
322
+ variables,
323
+ dataExtractor: (data) => {
324
+ if (!data.orderCancel) {
325
+ throw new Error("GraphQL response missing 'orderCancel' field");
326
+ }
327
+ return {
328
+ nodes: [{ success: true }],
329
+ userErrors: data.orderCancel.orderCancelUserErrors
330
+ };
331
+ }
332
+ });
333
+ logger.debug(`Order ${orderGid} cancelled successfully`);
334
+ return true;
335
+ }
336
+
283
337
  // src/queries/orders/getOrderById.ts
284
338
  var import_zod5 = __toESM(require("zod"), 1);
285
339
 
@@ -1145,6 +1199,8 @@ function parseGid(gid) {
1145
1199
  }
1146
1200
  // Annotate the CommonJS export names for ESM import in node:
1147
1201
  0 && (module.exports = {
1202
+ ShopifyUserError,
1203
+ cancelOrderById,
1148
1204
  deleteCustomerById,
1149
1205
  getLeanProductVariants,
1150
1206
  getOrderById,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/mutations/customers/deleteCustomerById.ts","../src/utils/logger.ts","../src/utils/shopifyClient.ts","../src/utils/shopifyFetch.ts","../src/utils/zod.ts","../src/queries/orders/getOrderById.ts","../src/queries/orders/getOrderById.queries.ts","../src/queries/orders/getOrderByName.ts","../src/queries/orders/getOrderByName.queries.ts","../src/queries/productVariants/getLeanProductVariants.ts","../src/queries/orders/getOrderPaymentDetails.ts","../src/queries/orders/getOrderPaymentDetails.queries.ts","../src/utils/parseGid.ts"],"sourcesContent":["export { deleteCustomerById } from './mutations/customers/deleteCustomerById.js'\nexport {\n getOrderById,\n type FullOrder,\n type LeanOrder,\n} from './queries/orders/getOrderById.js'\nexport {\n getOrderByName,\n type FullOrderByName,\n type LeanOrderByName,\n} from './queries/orders/getOrderByName.js'\nexport { getLeanProductVariants } from './queries/productVariants/getLeanProductVariants.js'\nexport { getOrderPaymentDetailsById } from './queries/orders/getOrderPaymentDetails.js'\nexport { parseGid } from './utils/parseGid.js'\n","import z from 'zod'\nimport type {\n CustomerDeleteMutation,\n CustomerDeleteMutationVariables,\n} from '../../generated-api-types/2025-04/admin.generated'\nimport { gql } from '../../utils/logger'\nimport { fetchShopifyGraphql } from '../../utils/shopifyFetch'\nimport { returnOutputParsed } from '../../utils/zod'\n\nexport const DeleteCustomerByIdReturn = z.string().nullable()\n\ntype SingleNode = { deletedCustomerId: string | null }\n\nexport async function deleteCustomerById(\n customerId: string,\n): Promise<z.infer<typeof DeleteCustomerByIdReturn>> {\n const mutation = gql`#graphql\n mutation customerDelete($input: CustomerDeleteInput!) {\n customerDelete(input: $input) {\n deletedCustomerId\n userErrors {\n field\n message\n }\n }\n }\n `\n\n const variables: CustomerDeleteMutationVariables = {\n input: { id: customerId },\n }\n\n const response = await fetchShopifyGraphql<\n SingleNode,\n CustomerDeleteMutation\n >({\n query: mutation,\n variables,\n dataExtractor: (data: CustomerDeleteMutation) => {\n if (!data.customerDelete) {\n throw new Error(\"GraphQL response missing 'customerDelete' field\")\n }\n return {\n nodes: [\n { deletedCustomerId: data.customerDelete.deletedCustomerId ?? null },\n ],\n userErrors: data.customerDelete.userErrors,\n }\n },\n })\n\n return returnOutputParsed(\n response[0]?.deletedCustomerId ?? null,\n DeleteCustomerByIdReturn,\n )\n}\n","const { env } = process\n\nexport const gql = String.raw\n\nconst logLevels = {\n silent: 0,\n error: 1,\n warn: 2,\n info: 3,\n debug: 4,\n} as const\n\ntype LogLevelName = keyof typeof logLevels\n\nfunction getLogLevel(\n nodeEnv: string | undefined,\n logLevelEnv: string | undefined,\n): LogLevelName {\n if (logLevelEnv && logLevelEnv in logLevels) {\n return logLevelEnv as LogLevelName\n }\n\n if (nodeEnv === 'test') {\n return 'silent'\n }\n\n if (nodeEnv === 'production') {\n return 'info'\n }\n return 'debug'\n}\n\nexport const activeLogLevelName = getLogLevel(env.NODE_ENV, env.LOG_LEVEL)\nconst activeLogLevelValue = logLevels[activeLogLevelName]\n\nexport const logger = {\n debug: (...args: unknown[]) => {\n if (logLevels.debug <= activeLogLevelValue) {\n // biome-ignore lint/suspicious/noConsole: <explanation>\n console.debug(...args)\n }\n },\n info: (...args: unknown[]) => {\n if (logLevels.info <= activeLogLevelValue) {\n // biome-ignore lint/suspicious/noConsole: <explanation>\n console.info(...args)\n }\n },\n warn: (...args: unknown[]) => {\n if (logLevels.warn <= activeLogLevelValue) {\n // biome-ignore lint/suspicious/noConsole: <explanation>\n console.warn(...args)\n }\n },\n error: (...args: unknown[]) => {\n if (logLevels.error <= activeLogLevelValue) {\n // biome-ignore lint/suspicious/noConsole: <explanation>\n console.error(...args)\n }\n },\n}\n","import {\n ApiVersion,\n type GraphqlClient,\n LogSeverity,\n Session,\n shopifyApi,\n} from '@shopify/shopify-api'\nimport '@shopify/shopify-api/adapters/node'\nimport dotenv from 'dotenv'\nimport { z } from 'zod'\nimport { activeLogLevelName, logger } from './logger.js'\n\n// https://shopify.dev/docs/api/admin-graphql/2025-04/\nexport const SHOPIFY_API_VERSION = ApiVersion.April25\n\ndotenv.config()\n\nconst envSchema = z.object({\n SHOPIFY_API_KEY: z.string({\n required_error: 'SHOPIFY_API_KEY is required',\n }),\n SHOPIFY_API_SECRET: z.string({\n required_error: 'SHOPIFY_API_SECRET is required',\n }),\n SHOPIFY_API_HOSTNAME: z.string({\n required_error: 'SHOPIFY_API_HOSTNAME is required',\n }),\n SHOPIFY_ACCESS_TOKEN: z.string({\n required_error: 'SHOPIFY_ACCESS_TOKEN is required',\n }),\n NODE_ENV: z\n .enum(['development', 'production', 'test'])\n .default('development'),\n})\n\nconst mapLogLevelToShopifySeverity = (level: string): LogSeverity => {\n switch (level) {\n case 'silent':\n return LogSeverity.Error\n case 'debug':\n return LogSeverity.Debug\n case 'info':\n return LogSeverity.Info\n case 'warn':\n return LogSeverity.Warning\n case 'error':\n return LogSeverity.Error\n default:\n return LogSeverity.Info\n }\n}\n\nlet shopifyGraphqlClient: GraphqlClient\n\ntry {\n // biome-ignore lint/nursery/noProcessEnv: <explanation>\n const env = envSchema.parse(process.env)\n\n const shopify = shopifyApi({\n apiKey: env.SHOPIFY_API_KEY,\n apiSecretKey: env.SHOPIFY_API_SECRET,\n hostName: env.SHOPIFY_API_HOSTNAME,\n apiVersion: SHOPIFY_API_VERSION,\n isEmbeddedApp: false,\n logger: { level: mapLogLevelToShopifySeverity(activeLogLevelName) },\n future: {\n customerAddressDefaultFix: true,\n lineItemBilling: true,\n unstable_managedPricingSupport: false,\n },\n })\n\n const shopifySession = new Session({\n id: `custom-session-${env.SHOPIFY_API_HOSTNAME}`,\n shop: env.SHOPIFY_API_HOSTNAME,\n state: 'authenticated',\n isOnline: true,\n accessToken: env.SHOPIFY_ACCESS_TOKEN,\n })\n\n shopifyGraphqlClient = new shopify.clients.Graphql({\n session: shopifySession,\n })\n\n logger.info('Shopify API client initialized successfully.')\n} catch (error) {\n if (error instanceof z.ZodError) {\n const msg = JSON.stringify(error.format(), null, 2)\n logger.error(msg)\n } else {\n logger.error('Failed to initialize Shopify API client:', error)\n }\n throw error\n}\n\nexport { shopifyGraphqlClient as shopifyClient }\n","import { logger } from './logger.js'\nimport { shopifyClient } from './shopifyClient.js'\n\nexport function convertIdIntoGid(\n id: bigint,\n type: 'Order' | 'Customer',\n): string {\n return `gid://shopify/${type}/${id}`\n}\n\ninterface PageInfo {\n hasNextPage: boolean\n endCursor?: string | null | undefined\n}\n\ninterface ShopifyErrorWithMessage {\n message?: string\n [key: string]: unknown\n}\n\ntype TExtractorFunctionType<TResultNode, TPageData> = (pageData: TPageData) => {\n nodes: TResultNode[]\n pageInfo?: PageInfo\n userErrors?: { message?: string }[]\n}\n\nexport async function fetchShopifyGraphql<TResultNode, TPageData>(params: {\n query: string\n variables: Record<string, unknown>\n dataExtractor?: TExtractorFunctionType<TResultNode, TPageData>\n fetchAllPages?: boolean\n}): Promise<TResultNode[]>\nexport async function fetchShopifyGraphql<TReturnType>(params: {\n query: string\n variables: Record<string, unknown>\n}): Promise<TReturnType>\nexport async function fetchShopifyGraphql<\n TResultNode,\n TPageData,\n TReturnType,\n>(params: {\n query: string\n variables: Record<string, unknown>\n dataExtractor?: TExtractorFunctionType<TResultNode, TPageData>\n fetchAllPages?: boolean\n}): Promise<TResultNode[] | TReturnType> {\n const {\n query,\n variables: initialVariables,\n dataExtractor,\n fetchAllPages = false,\n } = params\n\n let currentVariables = { ...initialVariables }\n\n if (!dataExtractor) {\n return makeRequest<NonNullable<TReturnType>>(query, currentVariables)\n }\n\n const allNodes: TResultNode[] = []\n let hasNextLoop = true\n\n do {\n const response = await makeRequest<TPageData>(query, currentVariables)\n const { nodes, pageInfo, userErrors } = dataExtractor(response)\n\n // Handle Shopify mutation userErrors pattern\n if (Array.isArray(userErrors) && userErrors.length > 0) {\n const errorMessages = userErrors\n .map((e) => e.message || JSON.stringify(e))\n .join('\\n')\n logger.error('Shopify mutation userErrors:', errorMessages)\n throw new Error(`Shopify mutation userErrors: ${errorMessages}`)\n }\n\n allNodes.push(...nodes)\n\n hasNextLoop = fetchAllPages ? !!pageInfo?.hasNextPage : false\n if (hasNextLoop && pageInfo?.endCursor) {\n currentVariables = {\n ...currentVariables,\n after: pageInfo.endCursor,\n }\n }\n } while (hasNextLoop)\n\n return allNodes\n}\n\nasync function makeRequest<TReturnDataType>(\n query: string,\n variables: Record<string, unknown>,\n): Promise<NonNullable<TReturnDataType>> {\n type ShopifyRequestErrorType = {\n errors?: ShopifyErrorWithMessage | ShopifyErrorWithMessage[]\n }\n\n const response = (await shopifyClient.request<TReturnDataType>(query, {\n variables,\n })) as { data?: TReturnDataType } & ShopifyRequestErrorType\n\n if (response.errors) {\n let errorMessages = 'GraphQL query failed.'\n const errors = response.errors\n if (Array.isArray(errors)) {\n errorMessages = errors\n .map((e: ShopifyErrorWithMessage) => e.message || JSON.stringify(e))\n .join('\\n')\n } else if (\n typeof errors === 'object' &&\n errors !== null &&\n 'message' in errors\n ) {\n errorMessages = errors.message || JSON.stringify(errors)\n } else if (typeof errors === 'string') {\n errorMessages = errors\n } else {\n errorMessages = JSON.stringify(errors)\n }\n logger.error('GraphQL query failed:', errorMessages)\n throw new Error(`GraphQL errors: ${errorMessages}`)\n }\n\n if (!response.data) {\n throw new Error('No data in Shopify API response')\n }\n\n return response.data\n}\n","import z from 'zod'\nimport { logger } from './logger.js'\n\nexport async function returnOutputParsed<T>(\n data: unknown,\n Model: z.ZodType<T>,\n) {\n const parsed = await Model.safeParseAsync(data)\n if (!parsed.success) {\n if (parsed.error instanceof z.ZodError) {\n const msg = JSON.stringify(parsed.error.format(), null, 2)\n logger.error(msg)\n } else {\n logger.error('Failed to parse:', parsed.error)\n }\n // throw parsedVariants.error\n throw new Error('Failed to parse product variants')\n }\n logger.info('Parsed data successfully')\n return parsed.data\n}\n","import z from 'zod'\nimport type {\n OrderByIdFullQuery,\n OrderByIdQuery,\n OrderByIdQueryVariables,\n} from '../../generated-api-types/2025-04/admin.generated.js'\nimport { logger } from '../../utils/logger.js'\nimport {\n convertIdIntoGid,\n fetchShopifyGraphql,\n} from '../../utils/shopifyFetch.js'\nimport { returnOutputParsed } from '../../utils/zod.js'\nimport { queryOrderById, queryOrderByIdFull } from './getOrderById.queries.js'\n\n// Address schema (shared between lean and full)\nconst AddressSchema = z\n .object({\n firstName: z.string().nullable(),\n lastName: z.string().nullable(),\n address1: z.string().nullable(),\n address2: z.string().nullable(),\n city: z.string().nullable(),\n province: z.string().nullable(),\n country: z.string().nullable(),\n zip: z.string().nullable(),\n })\n .nullable()\n\n// Lean order schema\nconst GetLeanOrderByIdReturn = z\n .object({\n id: z.string(),\n name: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n cancelledAt: z.string().nullable(),\n cancelReason: z.string().nullable(),\n totalPrice: z.object({\n amount: z.string(),\n currencyCode: z.string(),\n }),\n customer: z\n .object({\n id: z.string(),\n displayName: z.string(),\n firstName: z.string().nullable(),\n lastName: z.string().nullable(),\n emailAddress: z.string().nullable(),\n })\n .nullable(),\n financialStatus: z.string().nullable(),\n fulfillmentStatus: z.string().nullable(),\n shippingAddress: AddressSchema,\n })\n .nullable()\n\nexport type LeanOrder = z.infer<typeof GetLeanOrderByIdReturn>\n\n// Full order type - derived from the generated GraphQL types\nexport type FullOrder = NonNullable<OrderByIdFullQuery['order']>\n\ntype OrderDetailLevel = 'lean' | 'full'\n\n// Function overloads\nexport function getOrderById(id: number | bigint): Promise<LeanOrder>\nexport function getOrderById(\n id: number | bigint,\n detailLevel: 'lean',\n): Promise<LeanOrder>\nexport function getOrderById(\n id: number | bigint,\n detailLevel: 'full',\n): Promise<FullOrder | null>\n\n/**\n * Retrieves a single order from Shopify by its numeric ID.\n * Returns null if no order is found with the specified ID.\n *\n * @param {number | bigint} id - The numerical Shopify order ID (e.g., 12345678 or 12345678n).\n * @param {OrderDetailLevel} detailLevel - The level of detail to return ('lean' or 'full'). Defaults to 'lean'.\n * @returns {Promise<LeanOrder | FullOrder>} A promise that resolves to the order data or null if not found.\n * @throws {Error} If the GraphQL query fails or if the response structure is invalid.\n */\nexport async function getOrderById(\n id: number | bigint,\n detailLevel: OrderDetailLevel = 'lean',\n): Promise<LeanOrder | FullOrder> {\n const bigIntId = typeof id === 'number' ? BigInt(id) : id\n if (detailLevel === 'lean') {\n return getLeanOrderById(bigIntId)\n }\n return getFullOrderById(bigIntId)\n}\n\nasync function getLeanOrderById(id: bigint): Promise<LeanOrder> {\n const variables: OrderByIdQueryVariables = {\n id: convertIdIntoGid(id, 'Order'),\n }\n\n const response = await fetchShopifyGraphql<OrderByIdQuery>({\n query: queryOrderById,\n variables,\n })\n\n if (!response.order) {\n logger.debug(`No order found with ID: ${id}`)\n return null\n }\n\n const order = response.order\n\n const leanOrder = {\n id: order.id,\n name: order.name,\n createdAt: order.createdAt,\n updatedAt: order.updatedAt,\n cancelledAt: order.cancelledAt ?? null,\n cancelReason: order.cancelReason ?? null,\n totalPrice: {\n amount: order.totalPriceSet?.shopMoney?.amount ?? '',\n currencyCode: order.totalPriceSet?.shopMoney?.currencyCode ?? '',\n },\n customer: order.customer\n ? {\n id: order.customer.id,\n displayName: order.customer.displayName,\n firstName: order.customer.firstName ?? null,\n lastName: order.customer.lastName ?? null,\n emailAddress:\n order.customer.defaultEmailAddress?.emailAddress ?? null,\n }\n : null,\n financialStatus: order.displayFinancialStatus ?? null,\n fulfillmentStatus: order.displayFulfillmentStatus ?? null,\n shippingAddress: order.shippingAddress\n ? {\n firstName: order.shippingAddress.firstName ?? null,\n lastName: order.shippingAddress.lastName ?? null,\n address1: order.shippingAddress.address1 ?? null,\n address2: order.shippingAddress.address2 ?? null,\n city: order.shippingAddress.city ?? null,\n province: order.shippingAddress.province ?? null,\n country: order.shippingAddress.country ?? null,\n zip: order.shippingAddress.zip ?? null,\n }\n : null,\n }\n\n return await returnOutputParsed(leanOrder, GetLeanOrderByIdReturn)\n}\n\nasync function getFullOrderById(id: bigint): Promise<FullOrder | null> {\n const variables: OrderByIdQueryVariables = {\n id: convertIdIntoGid(id, 'Order'),\n }\n\n const response = await fetchShopifyGraphql<OrderByIdFullQuery>({\n query: queryOrderByIdFull,\n variables,\n })\n\n if (!response.order) {\n logger.debug(`No order found with ID: ${id}`)\n return null\n }\n\n return response.order\n}\n","import { gql } from '../../utils/logger'\n\nexport const queryOrderById = gql`#graphql\n query orderById($id: ID!) {\n order(id: $id) {\n id\n name\n createdAt\n updatedAt\n cancelledAt\n cancelReason\n totalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n customer {\n id\n lastName\n defaultEmailAddress {\n emailAddress\n }\n displayName\n firstName\n }\n displayFinancialStatus\n displayFulfillmentStatus\n shippingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n }\n }\n`\n\nexport const queryOrderByIdFull = gql`#graphql\n query orderByIdFull($id: ID!) {\n order(id: $id) {\n id\n name\n createdAt\n updatedAt\n processedAt\n closedAt\n cancelledAt\n cancelReason\n totalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n customer {\n id\n firstName\n lastName\n email\n phone\n }\n displayFinancialStatus\n displayFulfillmentStatus\n shippingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n billingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n lineItems(first: 100) {\n edges {\n node {\n id\n sku\n title\n variantTitle\n quantity\n customAttributes {\n key\n value\n }\n originalUnitPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n vendor\n image {\n url\n width\n height\n altText\n }\n }\n }\n }\n fulfillments {\n id\n name\n totalQuantity\n status\n createdAt\n estimatedDeliveryAt\n deliveredAt\n trackingInfo {\n company\n number\n url\n }\n fulfillmentLineItems(first: 100) {\n edges {\n node {\n id\n quantity\n lineItem {\n id\n sku\n }\n }\n }\n }\n }\n shippingLine {\n originalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n taxLines {\n priceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n totalDiscountsSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n discountCodes\n refunds {\n totalRefundedSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n }\n }\n`\n","import z from 'zod'\nimport type {\n OrdersByNameFullQuery,\n OrdersByNameQuery,\n OrdersByNameQueryVariables,\n} from '../../generated-api-types/2025-04/admin.generated.js'\nimport { logger } from '../../utils/logger.js'\nimport { fetchShopifyGraphql } from '../../utils/shopifyFetch.js'\nimport { returnOutputParsed } from '../../utils/zod.js'\nimport {\n queryOrdersByName,\n queryOrdersByNameFull,\n} from './getOrderByName.queries.js'\n\nconst GetLeanOrderByNameReturn = z\n .object({\n id: z.string(),\n name: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n totalPrice: z.object({\n amount: z.string(),\n currencyCode: z.string(),\n }),\n customer: z\n .object({\n id: z.string(),\n displayName: z.string(),\n emailAddress: z.string().nullable(),\n })\n .nullable(),\n financialStatus: z.string().nullable(),\n fulfillmentStatus: z.string().nullable(),\n })\n .nullable()\n\nexport type LeanOrderByName = z.infer<typeof GetLeanOrderByNameReturn>\n\nexport type FullOrderByName = NonNullable<\n NonNullable<OrdersByNameFullQuery['orders']>['edges'][number]['node']\n> | null\n\ntype OrderDetailLevel = 'lean' | 'full'\n\n// Function overloads\nexport function getOrderByName(\n orderName: string,\n detailLevel: 'lean',\n): Promise<LeanOrderByName>\nexport function getOrderByName(\n orderName: string,\n detailLevel: 'full',\n): Promise<FullOrderByName>\nexport function getOrderByName(orderName: string): Promise<LeanOrderByName>\n\n/**\n * Retrieves a single order from Shopify by its order name (e.g., \"B12345\").\n * Returns null if no order is found with the specified name.\n *\n * @param {string} orderName - The order name to search for (e.g., \"B12345\").\n * @param {OrderDetailLevel} detailLevel - The level of detail to return ('lean' or 'full'). Defaults to 'lean'.\n * @returns {Promise<LeanOrderByName | FullOrderByName>} A promise that resolves to the order data or null if not found.\n * @throws {Error} If the GraphQL query fails or if the response structure is invalid.\n */\nexport async function getOrderByName(\n orderName: string,\n detailLevel: OrderDetailLevel = 'lean',\n): Promise<LeanOrderByName | FullOrderByName> {\n if (detailLevel === 'lean') {\n return getLeanOrderByName(orderName)\n }\n return getFullOrderByName(orderName)\n}\n\nasync function getLeanOrderByName(orderName: string): Promise<LeanOrderByName> {\n const variables: OrdersByNameQueryVariables = {\n first: 1,\n queryFilter: `name:${orderName}`,\n }\n\n type SingleNode = NonNullable<\n NonNullable<OrdersByNameQuery['orders']>['edges'][number]['node']\n >\n\n const extractedNodes = await fetchShopifyGraphql<\n SingleNode,\n OrdersByNameQuery\n >({\n query: queryOrdersByName,\n variables,\n dataExtractor: (pageData: OrdersByNameQuery) => {\n if (!pageData.orders) {\n throw new Error(\n \"GraphQL response for orders is missing the 'orders' field.\",\n )\n }\n const nodes: SingleNode[] = pageData.orders.edges.map(\n (edge: { node: SingleNode }) => edge.node,\n )\n return {\n nodes,\n }\n },\n fetchAllPages: false,\n })\n\n const order = extractedNodes[0]\n if (!order) {\n logger.debug(`No order found with name: ${orderName}`)\n return null\n }\n\n const leanOrder = {\n id: order.id,\n name: order.name,\n createdAt: order.createdAt,\n updatedAt: order.updatedAt,\n totalPrice: {\n amount: order.totalPriceSet?.shopMoney?.amount ?? '',\n currencyCode: order.totalPriceSet?.shopMoney?.currencyCode ?? '',\n },\n customer: order.customer\n ? {\n id: order.customer.id,\n displayName: order.customer.displayName,\n emailAddress:\n order.customer.defaultEmailAddress?.emailAddress ?? null,\n }\n : null,\n financialStatus: order.displayFinancialStatus ?? null,\n fulfillmentStatus: order.displayFulfillmentStatus ?? null,\n }\n\n return await returnOutputParsed(leanOrder, GetLeanOrderByNameReturn)\n}\n\nasync function getFullOrderByName(orderName: string): Promise<FullOrderByName> {\n const variables: OrdersByNameQueryVariables = {\n first: 1,\n queryFilter: `name:${orderName}`,\n }\n\n type SingleNode = NonNullable<\n NonNullable<OrdersByNameFullQuery['orders']>['edges'][number]['node']\n >\n\n const extractedNodes = await fetchShopifyGraphql<\n SingleNode,\n OrdersByNameFullQuery\n >({\n query: queryOrdersByNameFull,\n variables,\n dataExtractor: (pageData: OrdersByNameFullQuery) => {\n if (!pageData.orders) {\n throw new Error(\n \"GraphQL response for orders is missing the 'orders' field.\",\n )\n }\n const nodes: SingleNode[] = pageData.orders.edges.map(\n (edge: { node: SingleNode }) => edge.node,\n )\n return {\n nodes,\n }\n },\n fetchAllPages: false,\n })\n\n if (extractedNodes.length === 0) {\n logger.debug(`No order found with name: ${orderName}`)\n return null\n }\n\n const order = extractedNodes[0]\n if (!order) {\n logger.debug(`No order found with name: ${orderName}`)\n return null\n }\n\n return order\n}\n","import { gql } from '../../utils/logger'\n\nexport const queryOrdersByName = gql`#graphql\n query ordersByName($first: Int!, $queryFilter: String!) {\n orders(first: $first, query: $queryFilter) {\n edges {\n node {\n id\n name\n createdAt\n updatedAt\n totalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n customer {\n id\n lastName\n defaultEmailAddress {\n emailAddress\n }\n displayName\n firstName\n }\n displayFinancialStatus\n displayFulfillmentStatus\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n`\n\nexport const queryOrdersByNameFull = gql`#graphql\n query ordersByNameFull($first: Int!, $queryFilter: String!) {\n orders(first: $first, query: $queryFilter) {\n edges {\n node {\n billingAddress {\n address1\n address2\n city\n company\n country\n countryCodeV2\n firstName\n formattedArea\n id\n lastName\n name\n phone\n province\n provinceCode\n timeZone\n zip\n }\n billingAddressMatchesShippingAddress\n cancelReason\n cancellation {\n staffNote\n }\n cancelledAt\n capturable\n clientIp\n closed\n closedAt\n confirmed\n createdAt\n currencyCode\n currentCartDiscountAmountSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentShippingPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentSubtotalLineItemsQuantity\n currentSubtotalPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTaxLines {\n channelLiable\n rate\n ratePercentage\n source\n title\n priceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n currentTotalAdditionalFeesSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalDiscountsSet {\n presentmentMoney {\n amount\n currencyCode\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalDutiesSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalTaxSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalWeight\n customer {\n id\n lastName\n defaultEmailAddress {\n emailAddress\n }\n displayName\n firstName\n }\n customerAcceptsMarketing\n discountCodes\n discountCode\n displayAddress {\n address1\n address2\n city\n company\n country\n countryCodeV2\n firstName\n formattedArea\n id\n lastName\n name\n phone\n province\n provinceCode\n timeZone\n zip\n }\n displayFinancialStatus\n displayFulfillmentStatus\n dutiesIncluded\n edited\n email\n estimatedTaxes\n fulfillable\n fulfillments(first: 20) {\n createdAt\n deliveredAt\n displayStatus\n estimatedDeliveryAt\n updatedAt\n trackingInfo(first: 10) {\n company\n url\n }\n totalQuantity\n status\n name\n id\n }\n fullyPaid\n id\n lineItems(first: 50) {\n edges {\n node {\n id\n name\n originalUnitPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n quantity\n requiresShipping\n sku\n title\n variantTitle\n }\n }\n }\n name\n note\n processedAt\n shippingAddress {\n address1\n address2\n city\n company\n country\n countryCodeV2\n firstName\n formattedArea\n id\n lastName\n name\n phone\n province\n provinceCode\n timeZone\n zip\n }\n statusPageUrl\n tags\n totalPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalReceivedSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalRefundedSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalShippingPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalTaxSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalWeight\n unpaid\n updatedAt\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n`\n","import z from 'zod'\nimport type {\n LeanProductVariantsQuery,\n LeanProductVariantsQueryVariables,\n} from '../../generated-api-types/2025-04/admin.generated.js'\nimport { gql, logger } from '../../utils/logger.js'\nimport { fetchShopifyGraphql } from '../../utils/shopifyFetch.js'\nimport { returnOutputParsed } from '../../utils/zod.js'\n\nconst GetLeanProductVariantsReturn = z.array(\n z.object({\n productId: z.string(),\n productTitle: z.string(),\n variantId: z.string(),\n variantTitle: z.string(),\n sku: z.string(),\n }),\n)\n\ntype GetLeanProductVariantsReturnType = z.infer<\n typeof GetLeanProductVariantsReturn\n>\n\n/**\n * Retrieves a lean list of product variants from Shopify, optionally filtered by SKUs.\n * Product variants are mapped to a simpler output structure.\n * Variants missing essential properties (e.g., SKU) will be filtered out and logged.\n *\n * @param {string[]} [skus] - An optional array of SKUs to filter by. If provided, only variants matching these SKUs will be fetched.\n * @returns {Promise<GetLeanProductVariantsReturnType>} A promise that resolves to an array of lean product variant data.\n * @throws {Error} If the GraphQL query fails, returns no data, or if the `productVariants` field is missing in the response.\n */\nexport async function getLeanProductVariants(\n skus?: string[],\n): Promise<GetLeanProductVariantsReturnType> {\n const queryGql = gql`#graphql\n query leanProductVariants($first: Int!, $after: String, $queryFilter: String) {\n productVariants(first: $first, after: $after, query: $queryFilter) {\n edges {\n node { \n id\n title\n sku\n product {\n id\n title\n }\n }\n }\n pageInfo { \n hasNextPage\n endCursor\n }\n }\n }\n `\n\n const initialVariables: LeanProductVariantsQueryVariables = { first: 250 }\n if (skus && skus.length > 0) {\n initialVariables.queryFilter = skus\n .map((sku: string) => `sku:${sku}`)\n .join(' OR ')\n }\n\n // Type for a single node from the productVariants query\n type SingleNode = NonNullable<\n NonNullable<\n LeanProductVariantsQuery['productVariants']\n >['edges'][number]['node']\n >\n\n const extractedNodes = await fetchShopifyGraphql<\n SingleNode,\n LeanProductVariantsQuery\n >({\n query: queryGql,\n variables: initialVariables,\n dataExtractor: (pageData: LeanProductVariantsQuery) => {\n if (!pageData.productVariants) {\n throw new Error(\n \"GraphQL response for product variants is missing the 'productVariants' field.\",\n )\n }\n const nodes: SingleNode[] = pageData.productVariants.edges.map(\n (edge: { node: SingleNode }) => edge.node,\n )\n return {\n nodes,\n pageInfo: pageData.productVariants.pageInfo,\n }\n },\n fetchAllPages: true,\n })\n\n const allVariants = extractedNodes.flatMap<\n GetLeanProductVariantsReturnType[number]\n >((v) => {\n if (v.sku) {\n return [\n {\n productId: v.product.id,\n productTitle: v.product.title,\n variantId: v.id,\n variantTitle: v.title,\n sku: v.sku,\n },\n ]\n }\n logger.debug(\n `Product ${v.product.title} (ID: ${v.product.id}) has a variant (ID: ${v.id}) with no SKU. Filtering out.`,\n )\n return []\n })\n\n return await returnOutputParsed(allVariants, GetLeanProductVariantsReturn)\n}\n","import z from 'zod'\nimport type {\n OrderPaymentDetailsByIdQuery,\n OrderPaymentDetailsByIdQueryVariables,\n} from '../../generated-api-types/2025-04/admin.generated.js'\nimport { logger } from '../../utils/logger.js'\nimport {\n convertIdIntoGid,\n fetchShopifyGraphql,\n} from '../../utils/shopifyFetch.js'\nimport { returnOutputParsed } from '../../utils/zod.js'\nimport { queryOrderPaymentDetails } from './getOrderPaymentDetails.queries.js'\n\nconst GetOrderPaymentDetailsByIdReturn = z.object({\n order: z.object({\n transactions: z.array(\n z.object({\n amountSet: z.object({\n shopMoney: z.object({\n amount: z.string(),\n currencyCode: z.string(),\n }),\n }),\n createdAt: z.string(),\n gateway: z.string(),\n formattedGateway: z.string(),\n kind: z.string(),\n paymentId: z.string(),\n }),\n ),\n }),\n})\n\ntype GetOrderPaymentDetailsByIdReturnType = z.infer<\n typeof GetOrderPaymentDetailsByIdReturn\n>\n\n/**\n * Retrieves payment details for a single order from Shopify by its ID.\n * Returns null if no order is found with the specified ID.\n *\n * @param {bigint} id - The numerical Shopify order ID (e.g., 12345678n).\n * @returns {Promise<GetOrderPaymentDetailsByIdReturnType | null>} A promise that resolves to the order payment data or null if not found.\n * @throws {Error} If the GraphQL query fails or if the response structure is invalid.\n */\nexport async function getOrderPaymentDetailsById(\n id: bigint,\n): Promise<GetOrderPaymentDetailsByIdReturnType | null> {\n const variables: OrderPaymentDetailsByIdQueryVariables = {\n id: convertIdIntoGid(id, 'Order'),\n }\n\n const response = await fetchShopifyGraphql<OrderPaymentDetailsByIdQuery>({\n query: queryOrderPaymentDetails,\n variables,\n })\n\n if (!response.order) {\n logger.debug(`No order found with ID: ${id}`)\n return null\n }\n\n return await returnOutputParsed(response, GetOrderPaymentDetailsByIdReturn)\n}\n","import { gql } from '../../utils/logger.js'\n\nexport const queryOrderPaymentDetails = gql`#graphql\n query orderPaymentDetailsById($id: ID!) {\n order(id: $id) {\n transactions {\n amountSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n createdAt\n gateway\n formattedGateway\n kind\n paymentId\n }\n }\n }\n`\n","/**\n * Extract numeric ID from a Shopify GID string.\n *\n * @example\n * parseGid('gid://shopify/Order/12345678901234') // → 12345678901234\n * parseGid('gid://shopify/LineItem/999') // → 999\n */\nexport function parseGid(gid: string): number {\n const match = gid.match(/\\d+$/)\n return match ? Number.parseInt(match[0], 10) : 0\n}\n"],"mappings":"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AA;AAAA;AAAA;AAAA;AAoC1B,IAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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","names":["import_zod","dotenv","env","import_zod","z","z","import_zod","z","import_zod","z","import_zod","z","import_zod","z"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/mutations/customers/deleteCustomerById.ts","../src/utils/logger.ts","../src/utils/shopifyClient.ts","../src/utils/shopifyFetch.ts","../src/utils/zod.ts","../src/mutations/orders/cancelOrderById.ts","../src/queries/orders/getOrderById.ts","../src/queries/orders/getOrderById.queries.ts","../src/queries/orders/getOrderByName.ts","../src/queries/orders/getOrderByName.queries.ts","../src/queries/productVariants/getLeanProductVariants.ts","../src/queries/orders/getOrderPaymentDetails.ts","../src/queries/orders/getOrderPaymentDetails.queries.ts","../src/utils/parseGid.ts"],"sourcesContent":["export { deleteCustomerById } from './mutations/customers/deleteCustomerById.js'\nexport { cancelOrderById } from './mutations/orders/cancelOrderById.js'\nexport {\n ShopifyUserError,\n type ShopifyUserErrorDetail,\n} from './utils/shopifyFetch.js'\nexport {\n getOrderById,\n type FullOrder,\n type LeanOrder,\n} from './queries/orders/getOrderById.js'\nexport {\n getOrderByName,\n type FullOrderByName,\n type LeanOrderByName,\n} from './queries/orders/getOrderByName.js'\nexport { getLeanProductVariants } from './queries/productVariants/getLeanProductVariants.js'\nexport { getOrderPaymentDetailsById } from './queries/orders/getOrderPaymentDetails.js'\nexport { parseGid } from './utils/parseGid.js'\n","import z from 'zod'\nimport type {\n CustomerDeleteMutation,\n CustomerDeleteMutationVariables,\n} from '../../generated-api-types/2025-04/admin.generated'\nimport { gql } from '../../utils/logger'\nimport { fetchShopifyGraphql } from '../../utils/shopifyFetch'\nimport { returnOutputParsed } from '../../utils/zod'\n\nexport const DeleteCustomerByIdReturn = z.string().nullable()\n\ntype SingleNode = { deletedCustomerId: string | null }\n\nexport async function deleteCustomerById(\n customerId: string,\n): Promise<z.infer<typeof DeleteCustomerByIdReturn>> {\n const mutation = gql`#graphql\n mutation customerDelete($input: CustomerDeleteInput!) {\n customerDelete(input: $input) {\n deletedCustomerId\n userErrors {\n field\n message\n }\n }\n }\n `\n\n const variables: CustomerDeleteMutationVariables = {\n input: { id: customerId },\n }\n\n const response = await fetchShopifyGraphql<\n SingleNode,\n CustomerDeleteMutation\n >({\n query: mutation,\n variables,\n dataExtractor: (data: CustomerDeleteMutation) => {\n if (!data.customerDelete) {\n throw new Error(\"GraphQL response missing 'customerDelete' field\")\n }\n return {\n nodes: [\n { deletedCustomerId: data.customerDelete.deletedCustomerId ?? null },\n ],\n userErrors: data.customerDelete.userErrors,\n }\n },\n })\n\n return returnOutputParsed(\n response[0]?.deletedCustomerId ?? null,\n DeleteCustomerByIdReturn,\n )\n}\n","const { env } = process\n\nexport const gql = String.raw\n\nconst logLevels = {\n silent: 0,\n error: 1,\n warn: 2,\n info: 3,\n debug: 4,\n} as const\n\ntype LogLevelName = keyof typeof logLevels\n\nfunction getLogLevel(\n nodeEnv: string | undefined,\n logLevelEnv: string | undefined,\n): LogLevelName {\n if (logLevelEnv && logLevelEnv in logLevels) {\n return logLevelEnv as LogLevelName\n }\n\n if (nodeEnv === 'test') {\n return 'silent'\n }\n\n if (nodeEnv === 'production') {\n return 'info'\n }\n return 'debug'\n}\n\nexport const activeLogLevelName = getLogLevel(env.NODE_ENV, env.LOG_LEVEL)\nconst activeLogLevelValue = logLevels[activeLogLevelName]\n\nexport const logger = {\n debug: (...args: unknown[]) => {\n if (logLevels.debug <= activeLogLevelValue) {\n // biome-ignore lint/suspicious/noConsole: <explanation>\n console.debug(...args)\n }\n },\n info: (...args: unknown[]) => {\n if (logLevels.info <= activeLogLevelValue) {\n // biome-ignore lint/suspicious/noConsole: <explanation>\n console.info(...args)\n }\n },\n warn: (...args: unknown[]) => {\n if (logLevels.warn <= activeLogLevelValue) {\n // biome-ignore lint/suspicious/noConsole: <explanation>\n console.warn(...args)\n }\n },\n error: (...args: unknown[]) => {\n if (logLevels.error <= activeLogLevelValue) {\n // biome-ignore lint/suspicious/noConsole: <explanation>\n console.error(...args)\n }\n },\n}\n","import {\n ApiVersion,\n type GraphqlClient,\n LogSeverity,\n Session,\n shopifyApi,\n} from '@shopify/shopify-api'\nimport '@shopify/shopify-api/adapters/node'\nimport dotenv from 'dotenv'\nimport { z } from 'zod'\nimport { activeLogLevelName, logger } from './logger.js'\n\n// https://shopify.dev/docs/api/admin-graphql/2025-04/\nexport const SHOPIFY_API_VERSION = ApiVersion.April25\n\ndotenv.config()\n\nconst envSchema = z.object({\n SHOPIFY_API_KEY: z.string({\n required_error: 'SHOPIFY_API_KEY is required',\n }),\n SHOPIFY_API_SECRET: z.string({\n required_error: 'SHOPIFY_API_SECRET is required',\n }),\n SHOPIFY_API_HOSTNAME: z.string({\n required_error: 'SHOPIFY_API_HOSTNAME is required',\n }),\n SHOPIFY_ACCESS_TOKEN: z.string({\n required_error: 'SHOPIFY_ACCESS_TOKEN is required',\n }),\n NODE_ENV: z\n .enum(['development', 'production', 'test'])\n .default('development'),\n})\n\nconst mapLogLevelToShopifySeverity = (level: string): LogSeverity => {\n switch (level) {\n case 'silent':\n return LogSeverity.Error\n case 'debug':\n return LogSeverity.Debug\n case 'info':\n return LogSeverity.Info\n case 'warn':\n return LogSeverity.Warning\n case 'error':\n return LogSeverity.Error\n default:\n return LogSeverity.Info\n }\n}\n\nlet shopifyGraphqlClient: GraphqlClient\n\ntry {\n // biome-ignore lint/nursery/noProcessEnv: <explanation>\n const env = envSchema.parse(process.env)\n\n const shopify = shopifyApi({\n apiKey: env.SHOPIFY_API_KEY,\n apiSecretKey: env.SHOPIFY_API_SECRET,\n hostName: env.SHOPIFY_API_HOSTNAME,\n apiVersion: SHOPIFY_API_VERSION,\n isEmbeddedApp: false,\n logger: { level: mapLogLevelToShopifySeverity(activeLogLevelName) },\n future: {\n customerAddressDefaultFix: true,\n lineItemBilling: true,\n unstable_managedPricingSupport: false,\n },\n })\n\n const shopifySession = new Session({\n id: `custom-session-${env.SHOPIFY_API_HOSTNAME}`,\n shop: env.SHOPIFY_API_HOSTNAME,\n state: 'authenticated',\n isOnline: true,\n accessToken: env.SHOPIFY_ACCESS_TOKEN,\n })\n\n shopifyGraphqlClient = new shopify.clients.Graphql({\n session: shopifySession,\n })\n\n logger.info('Shopify API client initialized successfully.')\n} catch (error) {\n if (error instanceof z.ZodError) {\n const msg = JSON.stringify(error.format(), null, 2)\n logger.error(msg)\n } else {\n logger.error('Failed to initialize Shopify API client:', error)\n }\n throw error\n}\n\nexport { shopifyGraphqlClient as shopifyClient }\n","import { logger } from './logger.js'\nimport { shopifyClient } from './shopifyClient.js'\n\nexport function convertIdIntoGid(\n id: bigint,\n type: 'Order' | 'Customer',\n): string {\n return `gid://shopify/${type}/${id}`\n}\n\ninterface PageInfo {\n hasNextPage: boolean\n endCursor?: string | null | undefined\n}\n\ninterface ShopifyErrorWithMessage {\n message?: string\n [key: string]: unknown\n}\n\nexport interface ShopifyUserErrorDetail {\n code?: string | null\n field?: string[] | null\n message?: string | null\n}\n\n/**\n * Custom error class for Shopify mutation userErrors.\n * Preserves the full error array so callers can inspect specific error codes.\n *\n * @example\n * try {\n * await cancelOrderById(orderId)\n * } catch (error) {\n * if (error instanceof ShopifyUserError) {\n * const alreadyCancelled = error.errors.some(e => e.code === 'ORDER_ALREADY_CANCELLED')\n * if (alreadyCancelled) { ... }\n * }\n * }\n */\nexport class ShopifyUserError extends Error {\n constructor(\n message: string,\n public readonly errors: ShopifyUserErrorDetail[],\n ) {\n super(message)\n this.name = 'ShopifyUserError'\n }\n}\n\ntype TExtractorFunctionType<TResultNode, TPageData> = (pageData: TPageData) => {\n nodes: TResultNode[]\n pageInfo?: PageInfo\n userErrors?: ShopifyUserErrorDetail[]\n}\n\nexport async function fetchShopifyGraphql<TResultNode, TPageData>(params: {\n query: string\n variables: Record<string, unknown>\n dataExtractor?: TExtractorFunctionType<TResultNode, TPageData>\n fetchAllPages?: boolean\n}): Promise<TResultNode[]>\nexport async function fetchShopifyGraphql<TReturnType>(params: {\n query: string\n variables: Record<string, unknown>\n}): Promise<TReturnType>\nexport async function fetchShopifyGraphql<\n TResultNode,\n TPageData,\n TReturnType,\n>(params: {\n query: string\n variables: Record<string, unknown>\n dataExtractor?: TExtractorFunctionType<TResultNode, TPageData>\n fetchAllPages?: boolean\n}): Promise<TResultNode[] | TReturnType> {\n const {\n query,\n variables: initialVariables,\n dataExtractor,\n fetchAllPages = false,\n } = params\n\n let currentVariables = { ...initialVariables }\n\n if (!dataExtractor) {\n return makeRequest<NonNullable<TReturnType>>(query, currentVariables)\n }\n\n const allNodes: TResultNode[] = []\n let hasNextLoop = true\n\n do {\n const response = await makeRequest<TPageData>(query, currentVariables)\n const { nodes, pageInfo, userErrors } = dataExtractor(response)\n\n // Handle Shopify mutation userErrors pattern\n if (Array.isArray(userErrors) && userErrors.length > 0) {\n const errorMessages = userErrors\n .map((e) => e.message || JSON.stringify(e))\n .join('\\n')\n logger.error('Shopify mutation userErrors:', errorMessages)\n throw new ShopifyUserError(\n `Shopify mutation userErrors: ${errorMessages}`,\n userErrors,\n )\n }\n\n allNodes.push(...nodes)\n\n hasNextLoop = fetchAllPages ? !!pageInfo?.hasNextPage : false\n if (hasNextLoop && pageInfo?.endCursor) {\n currentVariables = {\n ...currentVariables,\n after: pageInfo.endCursor,\n }\n }\n } while (hasNextLoop)\n\n return allNodes\n}\n\nasync function makeRequest<TReturnDataType>(\n query: string,\n variables: Record<string, unknown>,\n): Promise<NonNullable<TReturnDataType>> {\n type ShopifyRequestErrorType = {\n errors?: ShopifyErrorWithMessage | ShopifyErrorWithMessage[]\n }\n\n const response = (await shopifyClient.request<TReturnDataType>(query, {\n variables,\n })) as { data?: TReturnDataType } & ShopifyRequestErrorType\n\n if (response.errors) {\n let errorMessages = 'GraphQL query failed.'\n const errors = response.errors\n if (Array.isArray(errors)) {\n errorMessages = errors\n .map((e: ShopifyErrorWithMessage) => e.message || JSON.stringify(e))\n .join('\\n')\n } else if (\n typeof errors === 'object' &&\n errors !== null &&\n 'message' in errors\n ) {\n errorMessages = errors.message || JSON.stringify(errors)\n } else if (typeof errors === 'string') {\n errorMessages = errors\n } else {\n errorMessages = JSON.stringify(errors)\n }\n logger.error('GraphQL query failed:', errorMessages)\n throw new Error(`GraphQL errors: ${errorMessages}`)\n }\n\n if (!response.data) {\n throw new Error('No data in Shopify API response')\n }\n\n return response.data\n}\n","import z from 'zod'\nimport { logger } from './logger.js'\n\nexport async function returnOutputParsed<T>(\n data: unknown,\n Model: z.ZodType<T>,\n) {\n const parsed = await Model.safeParseAsync(data)\n if (!parsed.success) {\n if (parsed.error instanceof z.ZodError) {\n const msg = JSON.stringify(parsed.error.format(), null, 2)\n logger.error(msg)\n } else {\n logger.error('Failed to parse:', parsed.error)\n }\n // throw parsedVariants.error\n throw new Error('Failed to parse product variants')\n }\n logger.info('Parsed data successfully')\n return parsed.data\n}\n","import type {\n OrderCancelMutation,\n OrderCancelMutationVariables,\n} from '../../generated-api-types/2025-04/admin.generated.js'\nimport { gql, logger } from '../../utils/logger.js'\nimport {\n convertIdIntoGid,\n fetchShopifyGraphql,\n} from '../../utils/shopifyFetch.js'\n\ntype CancelOrderNode = { success: true }\n\nconst mutation = gql`#graphql\n mutation orderCancel($orderId: ID!) {\n orderCancel(\n orderId: $orderId\n refund: true\n restock: false\n reason: CUSTOMER\n notifyCustomer: true\n ) {\n orderCancelUserErrors {\n code\n field\n message\n }\n }\n }\n`\n\n/**\n * Cancel an order in Shopify.\n *\n * @param orderId - The order ID (numeric, bigint, or GID string)\n * @returns Promise resolving to true on success\n * @throws {ShopifyUserError} When cancellation fails (e.g., ORDER_ALREADY_CANCELLED)\n *\n * @example\n * // Success case\n * await cancelOrderById(12345678901234)\n *\n * // Error handling\n * import { ShopifyUserError } from '@ehrenkind/shopify-lib'\n * try {\n * await cancelOrderById(orderId)\n * } catch (error) {\n * if (error instanceof ShopifyUserError) {\n * const alreadyCancelled = error.errors.some(e => e.code === 'ORDER_ALREADY_CANCELLED')\n * }\n * }\n */\nexport async function cancelOrderById(\n orderId: number | bigint | string,\n): Promise<boolean> {\n const orderGid =\n typeof orderId === 'string'\n ? orderId\n : convertIdIntoGid(\n typeof orderId === 'number' ? BigInt(orderId) : orderId,\n 'Order',\n )\n\n logger.debug(`Cancelling order ${orderGid}`)\n\n const variables: OrderCancelMutationVariables = { orderId: orderGid }\n\n await fetchShopifyGraphql<CancelOrderNode, OrderCancelMutation>({\n query: mutation,\n variables,\n dataExtractor: (data) => {\n if (!data.orderCancel) {\n throw new Error(\"GraphQL response missing 'orderCancel' field\")\n }\n return {\n nodes: [{ success: true }],\n userErrors: data.orderCancel.orderCancelUserErrors,\n }\n },\n })\n\n logger.debug(`Order ${orderGid} cancelled successfully`)\n return true\n}\n","import z from 'zod'\nimport type {\n OrderByIdFullQuery,\n OrderByIdQuery,\n OrderByIdQueryVariables,\n} from '../../generated-api-types/2025-04/admin.generated.js'\nimport { logger } from '../../utils/logger.js'\nimport {\n convertIdIntoGid,\n fetchShopifyGraphql,\n} from '../../utils/shopifyFetch.js'\nimport { returnOutputParsed } from '../../utils/zod.js'\nimport { queryOrderById, queryOrderByIdFull } from './getOrderById.queries.js'\n\n// Address schema (shared between lean and full)\nconst AddressSchema = z\n .object({\n firstName: z.string().nullable(),\n lastName: z.string().nullable(),\n address1: z.string().nullable(),\n address2: z.string().nullable(),\n city: z.string().nullable(),\n province: z.string().nullable(),\n country: z.string().nullable(),\n zip: z.string().nullable(),\n })\n .nullable()\n\n// Lean order schema\nconst GetLeanOrderByIdReturn = z\n .object({\n id: z.string(),\n name: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n cancelledAt: z.string().nullable(),\n cancelReason: z.string().nullable(),\n totalPrice: z.object({\n amount: z.string(),\n currencyCode: z.string(),\n }),\n customer: z\n .object({\n id: z.string(),\n displayName: z.string(),\n firstName: z.string().nullable(),\n lastName: z.string().nullable(),\n emailAddress: z.string().nullable(),\n })\n .nullable(),\n financialStatus: z.string().nullable(),\n fulfillmentStatus: z.string().nullable(),\n shippingAddress: AddressSchema,\n })\n .nullable()\n\nexport type LeanOrder = z.infer<typeof GetLeanOrderByIdReturn>\n\n// Full order type - derived from the generated GraphQL types\nexport type FullOrder = NonNullable<OrderByIdFullQuery['order']>\n\ntype OrderDetailLevel = 'lean' | 'full'\n\n// Function overloads\nexport function getOrderById(id: number | bigint): Promise<LeanOrder>\nexport function getOrderById(\n id: number | bigint,\n detailLevel: 'lean',\n): Promise<LeanOrder>\nexport function getOrderById(\n id: number | bigint,\n detailLevel: 'full',\n): Promise<FullOrder | null>\n\n/**\n * Retrieves a single order from Shopify by its numeric ID.\n * Returns null if no order is found with the specified ID.\n *\n * @param {number | bigint} id - The numerical Shopify order ID (e.g., 12345678 or 12345678n).\n * @param {OrderDetailLevel} detailLevel - The level of detail to return ('lean' or 'full'). Defaults to 'lean'.\n * @returns {Promise<LeanOrder | FullOrder>} A promise that resolves to the order data or null if not found.\n * @throws {Error} If the GraphQL query fails or if the response structure is invalid.\n */\nexport async function getOrderById(\n id: number | bigint,\n detailLevel: OrderDetailLevel = 'lean',\n): Promise<LeanOrder | FullOrder> {\n const bigIntId = typeof id === 'number' ? BigInt(id) : id\n if (detailLevel === 'lean') {\n return getLeanOrderById(bigIntId)\n }\n return getFullOrderById(bigIntId)\n}\n\nasync function getLeanOrderById(id: bigint): Promise<LeanOrder> {\n const variables: OrderByIdQueryVariables = {\n id: convertIdIntoGid(id, 'Order'),\n }\n\n const response = await fetchShopifyGraphql<OrderByIdQuery>({\n query: queryOrderById,\n variables,\n })\n\n if (!response.order) {\n logger.debug(`No order found with ID: ${id}`)\n return null\n }\n\n const order = response.order\n\n const leanOrder = {\n id: order.id,\n name: order.name,\n createdAt: order.createdAt,\n updatedAt: order.updatedAt,\n cancelledAt: order.cancelledAt ?? null,\n cancelReason: order.cancelReason ?? null,\n totalPrice: {\n amount: order.totalPriceSet?.shopMoney?.amount ?? '',\n currencyCode: order.totalPriceSet?.shopMoney?.currencyCode ?? '',\n },\n customer: order.customer\n ? {\n id: order.customer.id,\n displayName: order.customer.displayName,\n firstName: order.customer.firstName ?? null,\n lastName: order.customer.lastName ?? null,\n emailAddress:\n order.customer.defaultEmailAddress?.emailAddress ?? null,\n }\n : null,\n financialStatus: order.displayFinancialStatus ?? null,\n fulfillmentStatus: order.displayFulfillmentStatus ?? null,\n shippingAddress: order.shippingAddress\n ? {\n firstName: order.shippingAddress.firstName ?? null,\n lastName: order.shippingAddress.lastName ?? null,\n address1: order.shippingAddress.address1 ?? null,\n address2: order.shippingAddress.address2 ?? null,\n city: order.shippingAddress.city ?? null,\n province: order.shippingAddress.province ?? null,\n country: order.shippingAddress.country ?? null,\n zip: order.shippingAddress.zip ?? null,\n }\n : null,\n }\n\n return await returnOutputParsed(leanOrder, GetLeanOrderByIdReturn)\n}\n\nasync function getFullOrderById(id: bigint): Promise<FullOrder | null> {\n const variables: OrderByIdQueryVariables = {\n id: convertIdIntoGid(id, 'Order'),\n }\n\n const response = await fetchShopifyGraphql<OrderByIdFullQuery>({\n query: queryOrderByIdFull,\n variables,\n })\n\n if (!response.order) {\n logger.debug(`No order found with ID: ${id}`)\n return null\n }\n\n return response.order\n}\n","import { gql } from '../../utils/logger'\n\nexport const queryOrderById = gql`#graphql\n query orderById($id: ID!) {\n order(id: $id) {\n id\n name\n createdAt\n updatedAt\n cancelledAt\n cancelReason\n totalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n customer {\n id\n lastName\n defaultEmailAddress {\n emailAddress\n }\n displayName\n firstName\n }\n displayFinancialStatus\n displayFulfillmentStatus\n shippingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n }\n }\n`\n\nexport const queryOrderByIdFull = gql`#graphql\n query orderByIdFull($id: ID!) {\n order(id: $id) {\n id\n name\n createdAt\n updatedAt\n processedAt\n closedAt\n cancelledAt\n cancelReason\n totalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n customer {\n id\n firstName\n lastName\n email\n phone\n }\n displayFinancialStatus\n displayFulfillmentStatus\n shippingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n billingAddress {\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n }\n lineItems(first: 100) {\n edges {\n node {\n id\n sku\n title\n variantTitle\n quantity\n customAttributes {\n key\n value\n }\n originalUnitPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n vendor\n image {\n url\n width\n height\n altText\n }\n }\n }\n }\n fulfillments {\n id\n name\n totalQuantity\n status\n createdAt\n estimatedDeliveryAt\n deliveredAt\n trackingInfo {\n company\n number\n url\n }\n fulfillmentLineItems(first: 100) {\n edges {\n node {\n id\n quantity\n lineItem {\n id\n sku\n }\n }\n }\n }\n }\n shippingLine {\n originalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n taxLines {\n priceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n totalDiscountsSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n discountCodes\n refunds {\n totalRefundedSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n }\n }\n`\n","import z from 'zod'\nimport type {\n OrdersByNameFullQuery,\n OrdersByNameQuery,\n OrdersByNameQueryVariables,\n} from '../../generated-api-types/2025-04/admin.generated.js'\nimport { logger } from '../../utils/logger.js'\nimport { fetchShopifyGraphql } from '../../utils/shopifyFetch.js'\nimport { returnOutputParsed } from '../../utils/zod.js'\nimport {\n queryOrdersByName,\n queryOrdersByNameFull,\n} from './getOrderByName.queries.js'\n\nconst GetLeanOrderByNameReturn = z\n .object({\n id: z.string(),\n name: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n totalPrice: z.object({\n amount: z.string(),\n currencyCode: z.string(),\n }),\n customer: z\n .object({\n id: z.string(),\n displayName: z.string(),\n emailAddress: z.string().nullable(),\n })\n .nullable(),\n financialStatus: z.string().nullable(),\n fulfillmentStatus: z.string().nullable(),\n })\n .nullable()\n\nexport type LeanOrderByName = z.infer<typeof GetLeanOrderByNameReturn>\n\nexport type FullOrderByName = NonNullable<\n NonNullable<OrdersByNameFullQuery['orders']>['edges'][number]['node']\n> | null\n\ntype OrderDetailLevel = 'lean' | 'full'\n\n// Function overloads\nexport function getOrderByName(\n orderName: string,\n detailLevel: 'lean',\n): Promise<LeanOrderByName>\nexport function getOrderByName(\n orderName: string,\n detailLevel: 'full',\n): Promise<FullOrderByName>\nexport function getOrderByName(orderName: string): Promise<LeanOrderByName>\n\n/**\n * Retrieves a single order from Shopify by its order name (e.g., \"B12345\").\n * Returns null if no order is found with the specified name.\n *\n * @param {string} orderName - The order name to search for (e.g., \"B12345\").\n * @param {OrderDetailLevel} detailLevel - The level of detail to return ('lean' or 'full'). Defaults to 'lean'.\n * @returns {Promise<LeanOrderByName | FullOrderByName>} A promise that resolves to the order data or null if not found.\n * @throws {Error} If the GraphQL query fails or if the response structure is invalid.\n */\nexport async function getOrderByName(\n orderName: string,\n detailLevel: OrderDetailLevel = 'lean',\n): Promise<LeanOrderByName | FullOrderByName> {\n if (detailLevel === 'lean') {\n return getLeanOrderByName(orderName)\n }\n return getFullOrderByName(orderName)\n}\n\nasync function getLeanOrderByName(orderName: string): Promise<LeanOrderByName> {\n const variables: OrdersByNameQueryVariables = {\n first: 1,\n queryFilter: `name:${orderName}`,\n }\n\n type SingleNode = NonNullable<\n NonNullable<OrdersByNameQuery['orders']>['edges'][number]['node']\n >\n\n const extractedNodes = await fetchShopifyGraphql<\n SingleNode,\n OrdersByNameQuery\n >({\n query: queryOrdersByName,\n variables,\n dataExtractor: (pageData: OrdersByNameQuery) => {\n if (!pageData.orders) {\n throw new Error(\n \"GraphQL response for orders is missing the 'orders' field.\",\n )\n }\n const nodes: SingleNode[] = pageData.orders.edges.map(\n (edge: { node: SingleNode }) => edge.node,\n )\n return {\n nodes,\n }\n },\n fetchAllPages: false,\n })\n\n const order = extractedNodes[0]\n if (!order) {\n logger.debug(`No order found with name: ${orderName}`)\n return null\n }\n\n const leanOrder = {\n id: order.id,\n name: order.name,\n createdAt: order.createdAt,\n updatedAt: order.updatedAt,\n totalPrice: {\n amount: order.totalPriceSet?.shopMoney?.amount ?? '',\n currencyCode: order.totalPriceSet?.shopMoney?.currencyCode ?? '',\n },\n customer: order.customer\n ? {\n id: order.customer.id,\n displayName: order.customer.displayName,\n emailAddress:\n order.customer.defaultEmailAddress?.emailAddress ?? null,\n }\n : null,\n financialStatus: order.displayFinancialStatus ?? null,\n fulfillmentStatus: order.displayFulfillmentStatus ?? null,\n }\n\n return await returnOutputParsed(leanOrder, GetLeanOrderByNameReturn)\n}\n\nasync function getFullOrderByName(orderName: string): Promise<FullOrderByName> {\n const variables: OrdersByNameQueryVariables = {\n first: 1,\n queryFilter: `name:${orderName}`,\n }\n\n type SingleNode = NonNullable<\n NonNullable<OrdersByNameFullQuery['orders']>['edges'][number]['node']\n >\n\n const extractedNodes = await fetchShopifyGraphql<\n SingleNode,\n OrdersByNameFullQuery\n >({\n query: queryOrdersByNameFull,\n variables,\n dataExtractor: (pageData: OrdersByNameFullQuery) => {\n if (!pageData.orders) {\n throw new Error(\n \"GraphQL response for orders is missing the 'orders' field.\",\n )\n }\n const nodes: SingleNode[] = pageData.orders.edges.map(\n (edge: { node: SingleNode }) => edge.node,\n )\n return {\n nodes,\n }\n },\n fetchAllPages: false,\n })\n\n if (extractedNodes.length === 0) {\n logger.debug(`No order found with name: ${orderName}`)\n return null\n }\n\n const order = extractedNodes[0]\n if (!order) {\n logger.debug(`No order found with name: ${orderName}`)\n return null\n }\n\n return order\n}\n","import { gql } from '../../utils/logger'\n\nexport const queryOrdersByName = gql`#graphql\n query ordersByName($first: Int!, $queryFilter: String!) {\n orders(first: $first, query: $queryFilter) {\n edges {\n node {\n id\n name\n createdAt\n updatedAt\n totalPriceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n customer {\n id\n lastName\n defaultEmailAddress {\n emailAddress\n }\n displayName\n firstName\n }\n displayFinancialStatus\n displayFulfillmentStatus\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n`\n\nexport const queryOrdersByNameFull = gql`#graphql\n query ordersByNameFull($first: Int!, $queryFilter: String!) {\n orders(first: $first, query: $queryFilter) {\n edges {\n node {\n billingAddress {\n address1\n address2\n city\n company\n country\n countryCodeV2\n firstName\n formattedArea\n id\n lastName\n name\n phone\n province\n provinceCode\n timeZone\n zip\n }\n billingAddressMatchesShippingAddress\n cancelReason\n cancellation {\n staffNote\n }\n cancelledAt\n capturable\n clientIp\n closed\n closedAt\n confirmed\n createdAt\n currencyCode\n currentCartDiscountAmountSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentShippingPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentSubtotalLineItemsQuantity\n currentSubtotalPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTaxLines {\n channelLiable\n rate\n ratePercentage\n source\n title\n priceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n currentTotalAdditionalFeesSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalDiscountsSet {\n presentmentMoney {\n amount\n currencyCode\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalDutiesSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalTaxSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n currentTotalWeight\n customer {\n id\n lastName\n defaultEmailAddress {\n emailAddress\n }\n displayName\n firstName\n }\n customerAcceptsMarketing\n discountCodes\n discountCode\n displayAddress {\n address1\n address2\n city\n company\n country\n countryCodeV2\n firstName\n formattedArea\n id\n lastName\n name\n phone\n province\n provinceCode\n timeZone\n zip\n }\n displayFinancialStatus\n displayFulfillmentStatus\n dutiesIncluded\n edited\n email\n estimatedTaxes\n fulfillable\n fulfillments(first: 20) {\n createdAt\n deliveredAt\n displayStatus\n estimatedDeliveryAt\n updatedAt\n trackingInfo(first: 10) {\n company\n url\n }\n totalQuantity\n status\n name\n id\n }\n fullyPaid\n id\n lineItems(first: 50) {\n edges {\n node {\n id\n name\n originalUnitPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n quantity\n requiresShipping\n sku\n title\n variantTitle\n }\n }\n }\n name\n note\n processedAt\n shippingAddress {\n address1\n address2\n city\n company\n country\n countryCodeV2\n firstName\n formattedArea\n id\n lastName\n name\n phone\n province\n provinceCode\n timeZone\n zip\n }\n statusPageUrl\n tags\n totalPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalReceivedSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalRefundedSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalShippingPriceSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalTaxSet {\n presentmentMoney {\n amount\n currencyCode\n }\n shopMoney {\n amount\n currencyCode\n }\n }\n totalWeight\n unpaid\n updatedAt\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n`\n","import z from 'zod'\nimport type {\n LeanProductVariantsQuery,\n LeanProductVariantsQueryVariables,\n} from '../../generated-api-types/2025-04/admin.generated.js'\nimport { gql, logger } from '../../utils/logger.js'\nimport { fetchShopifyGraphql } from '../../utils/shopifyFetch.js'\nimport { returnOutputParsed } from '../../utils/zod.js'\n\nconst GetLeanProductVariantsReturn = z.array(\n z.object({\n productId: z.string(),\n productTitle: z.string(),\n variantId: z.string(),\n variantTitle: z.string(),\n sku: z.string(),\n }),\n)\n\ntype GetLeanProductVariantsReturnType = z.infer<\n typeof GetLeanProductVariantsReturn\n>\n\n/**\n * Retrieves a lean list of product variants from Shopify, optionally filtered by SKUs.\n * Product variants are mapped to a simpler output structure.\n * Variants missing essential properties (e.g., SKU) will be filtered out and logged.\n *\n * @param {string[]} [skus] - An optional array of SKUs to filter by. If provided, only variants matching these SKUs will be fetched.\n * @returns {Promise<GetLeanProductVariantsReturnType>} A promise that resolves to an array of lean product variant data.\n * @throws {Error} If the GraphQL query fails, returns no data, or if the `productVariants` field is missing in the response.\n */\nexport async function getLeanProductVariants(\n skus?: string[],\n): Promise<GetLeanProductVariantsReturnType> {\n const queryGql = gql`#graphql\n query leanProductVariants($first: Int!, $after: String, $queryFilter: String) {\n productVariants(first: $first, after: $after, query: $queryFilter) {\n edges {\n node { \n id\n title\n sku\n product {\n id\n title\n }\n }\n }\n pageInfo { \n hasNextPage\n endCursor\n }\n }\n }\n `\n\n const initialVariables: LeanProductVariantsQueryVariables = { first: 250 }\n if (skus && skus.length > 0) {\n initialVariables.queryFilter = skus\n .map((sku: string) => `sku:${sku}`)\n .join(' OR ')\n }\n\n // Type for a single node from the productVariants query\n type SingleNode = NonNullable<\n NonNullable<\n LeanProductVariantsQuery['productVariants']\n >['edges'][number]['node']\n >\n\n const extractedNodes = await fetchShopifyGraphql<\n SingleNode,\n LeanProductVariantsQuery\n >({\n query: queryGql,\n variables: initialVariables,\n dataExtractor: (pageData: LeanProductVariantsQuery) => {\n if (!pageData.productVariants) {\n throw new Error(\n \"GraphQL response for product variants is missing the 'productVariants' field.\",\n )\n }\n const nodes: SingleNode[] = pageData.productVariants.edges.map(\n (edge: { node: SingleNode }) => edge.node,\n )\n return {\n nodes,\n pageInfo: pageData.productVariants.pageInfo,\n }\n },\n fetchAllPages: true,\n })\n\n const allVariants = extractedNodes.flatMap<\n GetLeanProductVariantsReturnType[number]\n >((v) => {\n if (v.sku) {\n return [\n {\n productId: v.product.id,\n productTitle: v.product.title,\n variantId: v.id,\n variantTitle: v.title,\n sku: v.sku,\n },\n ]\n }\n logger.debug(\n `Product ${v.product.title} (ID: ${v.product.id}) has a variant (ID: ${v.id}) with no SKU. Filtering out.`,\n )\n return []\n })\n\n return await returnOutputParsed(allVariants, GetLeanProductVariantsReturn)\n}\n","import z from 'zod'\nimport type {\n OrderPaymentDetailsByIdQuery,\n OrderPaymentDetailsByIdQueryVariables,\n} from '../../generated-api-types/2025-04/admin.generated.js'\nimport { logger } from '../../utils/logger.js'\nimport {\n convertIdIntoGid,\n fetchShopifyGraphql,\n} from '../../utils/shopifyFetch.js'\nimport { returnOutputParsed } from '../../utils/zod.js'\nimport { queryOrderPaymentDetails } from './getOrderPaymentDetails.queries.js'\n\nconst GetOrderPaymentDetailsByIdReturn = z.object({\n order: z.object({\n transactions: z.array(\n z.object({\n amountSet: z.object({\n shopMoney: z.object({\n amount: z.string(),\n currencyCode: z.string(),\n }),\n }),\n createdAt: z.string(),\n gateway: z.string(),\n formattedGateway: z.string(),\n kind: z.string(),\n paymentId: z.string(),\n }),\n ),\n }),\n})\n\ntype GetOrderPaymentDetailsByIdReturnType = z.infer<\n typeof GetOrderPaymentDetailsByIdReturn\n>\n\n/**\n * Retrieves payment details for a single order from Shopify by its ID.\n * Returns null if no order is found with the specified ID.\n *\n * @param {bigint} id - The numerical Shopify order ID (e.g., 12345678n).\n * @returns {Promise<GetOrderPaymentDetailsByIdReturnType | null>} A promise that resolves to the order payment data or null if not found.\n * @throws {Error} If the GraphQL query fails or if the response structure is invalid.\n */\nexport async function getOrderPaymentDetailsById(\n id: bigint,\n): Promise<GetOrderPaymentDetailsByIdReturnType | null> {\n const variables: OrderPaymentDetailsByIdQueryVariables = {\n id: convertIdIntoGid(id, 'Order'),\n }\n\n const response = await fetchShopifyGraphql<OrderPaymentDetailsByIdQuery>({\n query: queryOrderPaymentDetails,\n variables,\n })\n\n if (!response.order) {\n logger.debug(`No order found with ID: ${id}`)\n return null\n }\n\n return await returnOutputParsed(response, GetOrderPaymentDetailsByIdReturn)\n}\n","import { gql } from '../../utils/logger.js'\n\nexport const queryOrderPaymentDetails = gql`#graphql\n query orderPaymentDetailsById($id: ID!) {\n order(id: $id) {\n transactions {\n amountSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n createdAt\n gateway\n formattedGateway\n kind\n paymentId\n }\n }\n }\n`\n","/**\n * Extract numeric ID from a Shopify GID string.\n *\n * @example\n * parseGid('gid://shopify/Order/12345678901234') // → 12345678901234\n * parseGid('gid://shopify/LineItem/999') // → 999\n */\nexport function parseGid(gid: string): number {\n const match = gid.match(/\\d+$/)\n return match ? Number.parseInt(match[0], 10) : 0\n}\n"],"mappings":"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","names":["import_zod","dotenv","env","import_zod","z","z","mutation","import_zod","z","import_zod","z","import_zod","z","import_zod","z"]}
package/dist/index.d.cts CHANGED
@@ -3,6 +3,53 @@ import z from 'zod';
3
3
  declare const DeleteCustomerByIdReturn: z.ZodNullable<z.ZodString>;
4
4
  declare function deleteCustomerById(customerId: string): Promise<z.infer<typeof DeleteCustomerByIdReturn>>;
5
5
 
6
+ /**
7
+ * Cancel an order in Shopify.
8
+ *
9
+ * @param orderId - The order ID (numeric, bigint, or GID string)
10
+ * @returns Promise resolving to true on success
11
+ * @throws {ShopifyUserError} When cancellation fails (e.g., ORDER_ALREADY_CANCELLED)
12
+ *
13
+ * @example
14
+ * // Success case
15
+ * await cancelOrderById(12345678901234)
16
+ *
17
+ * // Error handling
18
+ * import { ShopifyUserError } from '@ehrenkind/shopify-lib'
19
+ * try {
20
+ * await cancelOrderById(orderId)
21
+ * } catch (error) {
22
+ * if (error instanceof ShopifyUserError) {
23
+ * const alreadyCancelled = error.errors.some(e => e.code === 'ORDER_ALREADY_CANCELLED')
24
+ * }
25
+ * }
26
+ */
27
+ declare function cancelOrderById(orderId: number | bigint | string): Promise<boolean>;
28
+
29
+ interface ShopifyUserErrorDetail {
30
+ code?: string | null;
31
+ field?: string[] | null;
32
+ message?: string | null;
33
+ }
34
+ /**
35
+ * Custom error class for Shopify mutation userErrors.
36
+ * Preserves the full error array so callers can inspect specific error codes.
37
+ *
38
+ * @example
39
+ * try {
40
+ * await cancelOrderById(orderId)
41
+ * } catch (error) {
42
+ * if (error instanceof ShopifyUserError) {
43
+ * const alreadyCancelled = error.errors.some(e => e.code === 'ORDER_ALREADY_CANCELLED')
44
+ * if (alreadyCancelled) { ... }
45
+ * }
46
+ * }
47
+ */
48
+ declare class ShopifyUserError extends Error {
49
+ readonly errors: ShopifyUserErrorDetail[];
50
+ constructor(message: string, errors: ShopifyUserErrorDetail[]);
51
+ }
52
+
6
53
  type Maybe<T> = T | null;
7
54
  type InputMaybe<T> = Maybe<T>;
8
55
  type Exact<T extends {
@@ -11920,6 +11967,27 @@ declare enum OrderCancelReason {
11920
11967
  /** Staff made an error. */
11921
11968
  Staff = "STAFF"
11922
11969
  }
11970
+ /** Errors related to order cancellation. */
11971
+ type OrderCancelUserError = DisplayableError & {
11972
+ __typename?: 'OrderCancelUserError';
11973
+ /** The error code. */
11974
+ code?: Maybe<OrderCancelUserErrorCode>;
11975
+ /** The path to the input field that caused the error. */
11976
+ field?: Maybe<Array<Scalars['String']['output']>>;
11977
+ /** The error message. */
11978
+ message: Scalars['String']['output'];
11979
+ };
11980
+ /** Possible error codes that can be returned by `OrderCancelUserError`. */
11981
+ declare enum OrderCancelUserErrorCode {
11982
+ /** Unexpected internal error happened. */
11983
+ InternalError = "INTERNAL_ERROR",
11984
+ /** The input value is invalid. */
11985
+ Invalid = "INVALID",
11986
+ /** The record with the ID used as the input value couldn't be found. */
11987
+ NotFound = "NOT_FOUND",
11988
+ /** An order refund was requested but the user does not have the refund_orders permission. */
11989
+ NoRefundPermission = "NO_REFUND_PERMISSION"
11990
+ }
11923
11991
  /** Details about the order cancellation. */
11924
11992
  type OrderCancellation = {
11925
11993
  __typename?: 'OrderCancellation';
@@ -18505,6 +18573,14 @@ type CustomerDeleteMutation = {
18505
18573
  userErrors: Array<Pick<UserError, 'field' | 'message'>>;
18506
18574
  })>;
18507
18575
  };
18576
+ type OrderCancelMutationVariables = Exact<{
18577
+ orderId: Scalars['ID']['input'];
18578
+ }>;
18579
+ type OrderCancelMutation = {
18580
+ orderCancel?: Maybe<{
18581
+ orderCancelUserErrors: Array<Pick<OrderCancelUserError, 'code' | 'field' | 'message'>>;
18582
+ }>;
18583
+ };
18508
18584
  type ConnectMetaObjectToProductVariantMutationVariables = Exact<{
18509
18585
  productId: Scalars['ID']['input'];
18510
18586
  variantId: Scalars['ID']['input'];
@@ -18765,6 +18841,10 @@ interface GeneratedMutationTypes {
18765
18841
  return: CustomerDeleteMutation;
18766
18842
  variables: CustomerDeleteMutationVariables;
18767
18843
  };
18844
+ "#graphql\n mutation orderCancel($orderId: ID!) {\n orderCancel(\n orderId: $orderId\n refund: true\n restock: false\n reason: CUSTOMER\n notifyCustomer: true\n ) {\n orderCancelUserErrors {\n code\n field\n message\n }\n }\n }\n": {
18845
+ return: OrderCancelMutation;
18846
+ variables: OrderCancelMutationVariables;
18847
+ };
18768
18848
  "#graphql\n mutation connectMetaObjectToProductVariant($productId: ID!, $variantId: ID!, $metaObjectId: String!, $metaObjectKey: String!) {\n productVariantsBulkUpdate(\n productId: $productId\n variants: [\n {\n id: $variantId\n metafields: [\n {\n namespace: \"custom\"\n key: $metaObjectKey\n value: $metaObjectId\n type: \"metaobject_reference\"\n }\n ]\n }\n ] \n ) {\n productVariants { \n id\n }\n userErrors {\n field\n message\n }\n }\n }\n ": {
18769
18849
  return: ConnectMetaObjectToProductVariantMutation;
18770
18850
  variables: ConnectMetaObjectToProductVariantMutationVariables;
@@ -19148,4 +19228,4 @@ declare function getOrderPaymentDetailsById(id: bigint): Promise<GetOrderPayment
19148
19228
  */
19149
19229
  declare function parseGid(gid: string): number;
19150
19230
 
19151
- export { type FullOrder, type FullOrderByName, type LeanOrder, type LeanOrderByName, deleteCustomerById, getLeanProductVariants, getOrderById, getOrderByName, getOrderPaymentDetailsById, parseGid };
19231
+ export { type FullOrder, type FullOrderByName, type LeanOrder, type LeanOrderByName, ShopifyUserError, type ShopifyUserErrorDetail, cancelOrderById, deleteCustomerById, getLeanProductVariants, getOrderById, getOrderByName, getOrderPaymentDetailsById, parseGid };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export { deleteCustomerById } from './mutations/customers/deleteCustomerById.js';
2
+ export { cancelOrderById } from './mutations/orders/cancelOrderById.js';
3
+ export { ShopifyUserError, type ShopifyUserErrorDetail, } from './utils/shopifyFetch.js';
2
4
  export { getOrderById, type FullOrder, type LeanOrder, } from './queries/orders/getOrderById.js';
3
5
  export { getOrderByName, type FullOrderByName, type LeanOrderByName, } from './queries/orders/getOrderByName.js';
4
6
  export { getLeanProductVariants } from './queries/productVariants/getLeanProductVariants.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,SAAS,GACf,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAA;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAA;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AACvE,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,SAAS,GACf,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAA;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAA;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export { deleteCustomerById } from './mutations/customers/deleteCustomerById.js';
2
+ export { cancelOrderById } from './mutations/orders/cancelOrderById.js';
3
+ export { ShopifyUserError, } from './utils/shopifyFetch.js';
2
4
  export { getOrderById, } from './queries/orders/getOrderById.js';
3
5
  export { getOrderByName, } from './queries/orders/getOrderByName.js';
4
6
  export { getLeanProductVariants } from './queries/productVariants/getLeanProductVariants.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EACL,YAAY,GAGb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,cAAc,GAGf,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAA;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAA;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AACvE,OAAO,EACL,gBAAgB,GAEjB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,YAAY,GAGb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,cAAc,GAGf,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAA;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAA;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA"}