Skip to content

Commit 28e2899

Browse files
committed
Add erroring for when variables are given for aBulkOps query
1 parent 3a4833e commit 28e2899

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

packages/app/src/cli/services/bulk-operations/execute-bulk-operation.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {AppLinkedInterface} from '../../models/app/app.js'
44
import {renderSuccess, renderInfo, renderWarning} from '@shopify/cli-kit/node/ui'
55
import {outputContent, outputToken} from '@shopify/cli-kit/node/output'
66
import {ensureAuthenticatedAdmin} from '@shopify/cli-kit/node/session'
7+
import {AbortError} from '@shopify/cli-kit/node/error'
78
import {parse} from 'graphql'
89

910
interface ExecuteBulkOperationInput {
@@ -23,6 +24,12 @@ export async function executeBulkOperation(input: ExecuteBulkOperationInput): Pr
2324

2425
const adminSession = await ensureAuthenticatedAdmin(storeFqdn)
2526

27+
if (!isMutation(query) && variables) {
28+
throw new AbortError(
29+
outputContent`The ${outputToken.yellow('--variables')} flag can only be used with mutations, not queries.`,
30+
)
31+
}
32+
2633
const bulkOperationResponse = isMutation(query)
2734
? await runBulkOperationMutation({adminSession, query, variables})
2835
: await runBulkOperationQuery({adminSession, query})

packages/app/src/cli/services/bulk-operations/run-query.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {runBulkOperationQuery} from './run-query.js'
22
import {adminRequestDoc} from '@shopify/cli-kit/node/api/admin'
3+
import {AbortError} from '@shopify/cli-kit/node/error'
34
import {describe, test, expect, vi} from 'vitest'
45

56
vi.mock('@shopify/cli-kit/node/api/admin')

packages/app/src/cli/services/bulk-operations/run-query.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import {
44
} from '../../api/graphql/bulk-operations/generated/bulk-operation-run-query.js'
55
import {adminRequestDoc} from '@shopify/cli-kit/node/api/admin'
66
import {AdminSession} from '@shopify/cli-kit/node/session'
7+
import {AbortError} from '@shopify/cli-kit/node/error'
8+
import {outputContent, outputToken} from '@shopify/cli-kit/node/output'
79

810
interface BulkOperationRunQueryOptions {
911
adminSession: AdminSession
@@ -14,6 +16,7 @@ export async function runBulkOperationQuery(
1416
options: BulkOperationRunQueryOptions,
1517
): Promise<BulkOperationRunQueryMutation['bulkOperationRunQuery']> {
1618
const {adminSession, query} = options
19+
1720
const response = await adminRequestDoc<BulkOperationRunQueryMutation, {query: string}>({
1821
query: BulkOperationRunQuery,
1922
session: adminSession,

0 commit comments

Comments
 (0)