amplify-category-api icon indicating copy to clipboard operation
amplify-category-api copied to clipboard

unable to specify default value for query, mutation arguments

Open josefaidt opened this issue 1 year ago • 2 comments

Environment information

System:
  OS: macOS 14.6.1
  CPU: (10) arm64 Apple M1 Pro
  Memory: 90.34 MB / 32.00 GB
  Shell: /opt/homebrew/bin/fish
Binaries:
  Node: 20.16.0 - ~/.local/state/fnm_multishells/24303_1724345506467/bin/node
  Yarn: undefined - undefined
  npm: 10.8.1 - ~/.local/state/fnm_multishells/24303_1724345506467/bin/npm
  pnpm: 9.7.0 - ~/.local/state/fnm_multishells/24303_1724345506467/bin/pnpm
NPM Packages:
  @aws-amplify/auth-construct: Not Found
  @aws-amplify/backend: 1.1.1
  @aws-amplify/backend-auth: Not Found
  @aws-amplify/backend-cli: 1.2.4
  @aws-amplify/backend-data: Not Found
  @aws-amplify/backend-deployer: Not Found
  @aws-amplify/backend-function: Not Found
  @aws-amplify/backend-output-schemas: Not Found
  @aws-amplify/backend-output-storage: Not Found
  @aws-amplify/backend-secret: Not Found
  @aws-amplify/backend-storage: Not Found
  @aws-amplify/cli-core: Not Found
  @aws-amplify/client-config: Not Found
  @aws-amplify/deployed-backend-client: Not Found
  @aws-amplify/form-generator: Not Found
  @aws-amplify/model-generator: Not Found
  @aws-amplify/platform-core: Not Found
  @aws-amplify/plugin-types: Not Found
  @aws-amplify/sandbox: Not Found
  @aws-amplify/schema-generator: Not Found
  aws-amplify: 6.5.2
  aws-cdk: 2.154.0
  aws-cdk-lib: 2.154.0
  typescript: 5.5.4
AWS environment variables:
  AWS_PROFILE = josef
  AWS_REGION = us-east-1
  AWS_STS_REGIONAL_ENDPOINTS = regional
  AWS_NODEJS_CONNECTION_REUSE_ENABLED = 1
  AWS_SDK_LOAD_CONFIG = 1
No CDK environment variables

Description

I am building a query that has an optional argument

const schema = a.schema({
  sayHello: a
    .query()
    .arguments({
      name: a.string().default("World"),
    })
    .returns(a.string()),
})

However I am encountering this error when attempting to deploy

Failed to instantiate data construct
Caused By: Schema validation failed.\n\nDirective "@default" may not be used on ARGUMENT_DEFINITION.\n\nGraphQL request:7:25\n6 | type Query {\n7 |   sayHello(name: String @default(value: "World")): String \n  |                         ^\n8 | } 

Resolution: See the underlying error message for more details.

with --debug

Directive "@default" may not be used on ARGUMENT_DEFINITION.
  
  GraphQL request:7:25
  6 | type Query {
  7 |   sayHello(name: String @default(value: "World")): String 
    |                         ^
  8 | } 

Instead I would expect

type Query {
  sayHello(name: String = "World"): String
}

josefaidt avatar Aug 22 '24 16:08 josefaidt