Ash FrameworkAF
Ash Framework5mo ago
6 replies
John M

GraphQL incorrect input generation

Hi folks, I've got a really weird one. AshGraphQL is generating incorrect inputs for one of my resources, and I'm completely stumped why.

I've got a triple-nested embed, where the top level is PG, the rest are embeds.

Component - attribute :colors -> ColorInfo
ColorInfo - attribute :front -> ColorSide
ColorSide - attribute :colors -> {:array, Color}
Color - fields

All fields in the whole chain are public, and the top level component has :* fields on the action.

The read actions are generated correctly, and all fields are present and correct.
The create and update actions are wrong, and the following:

Component - attribute :colors -> Color

It's compressed the whole chain and just accepts the deepest field, which is incorrect and won't validate when it hits the server...

I can try and create a reproduction, but wanted to ask first if anybody had seen anything like it beforehand?

"A component of a print job"
type Component {
  // ....

  "The colors of the component"
  colors: ComponentColorInfo


input CreateComponentInput {
  // ...

  "The colors of the component"
  colors: ComponentColorsInput


This is just the wrong input...

There's zero compiler warnings, and have done a full mix clean and deps.clean.

Any ideas?
Was this page helpful?