Skip to content

Generated GraphQL output is wrong for mutation with array of customType #3330

@TimRoadley

Description

@TimRoadley

Environment information

System:
  OS: macOS 15.6
  CPU: (14) arm64 Apple M4 Pro
  Memory: 173.95 MB / 24.00 GB
  Shell: /bin/zsh
Binaries:
  Node: 20.19.2 - ~/.nvm/versions/node/v20.19.2/bin/node
  Yarn: 1.22.22 - /opt/homebrew/bin/yarn
  npm: 10.8.2 - ~/.nvm/versions/node/v20.19.2/bin/npm
  pnpm: undefined - undefined
NPM Packages:
  @aws-amplify/auth-construct: 1.8.1
  @aws-amplify/backend: 1.16.1
  @aws-amplify/backend-ai: Not Found
  @aws-amplify/backend-auth: 1.7.1
  @aws-amplify/backend-cli: 1.8.0
  @aws-amplify/backend-data: 1.6.1
  @aws-amplify/backend-deployer: 2.1.3
  @aws-amplify/backend-function: 1.14.1
  @aws-amplify/backend-output-schemas: 1.7.0
  @aws-amplify/backend-output-storage: 1.3.1
  @aws-amplify/backend-secret: 1.4.0
  @aws-amplify/backend-storage: 1.4.1
  @aws-amplify/cli-core: 2.2.1
  @aws-amplify/client-config: 1.8.0
  @aws-amplify/data-construct: 1.16.3
  @aws-amplify/data-schema: 1.21.1
  @aws-amplify/deployed-backend-client: 1.8.0
  @aws-amplify/form-generator: 1.2.4
  @aws-amplify/model-generator: 1.2.0
  @aws-amplify/platform-core: 1.10.0
  @aws-amplify/plugin-types: 1.11.0
  @aws-amplify/sandbox: 2.1.2
  @aws-amplify/schema-generator: 1.4.0
  @aws-cdk/toolkit-lib: 1.1.1
  aws-amplify: 6.15.5
  aws-cdk-lib: 2.204.0
  typescript: 5.9.2

Data packages

[email protected] /Users/tim/Documents/GitHub/mp365/cta-test/my_amplify_app
├─┬ @aws-amplify/[email protected]
│ └─┬ @aws-amplify/[email protected]
│   └── @aws-amplify/[email protected]
└─┬ @aws-amplify/[email protected]
  └─┬ @aws-amplify/[email protected]
    └── @aws-amplify/[email protected]

Description

My resource.ts is configured with an array of tags, which is a custom type. This schema has a mutation for batch upserts, that relies on BatchUpsert.js.

Running npx ampx generate graphql-client-code --out amplify/graphql generates API.ts, which correctly sets tags as an Array for everything except for TodoUpsertInput.

Unfortunately I need TodoUpsertInput to properly expect an array and not a single object, so that I can upsert in batches.

Thanks in advance for your help, let me know if any further information is required, it should be pretty easy to reproduce.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingp2

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions