0

I am having issues generating my types using graphql-codegen. My query contains a fragment called AssessmentQuestionnaireType which uses smaller fragments. Each of these fragments contains an options field that varies in the data type of its value subfield. For example, some return "Int!" and others return "Boolean!".

The error(s) I receive are:

Error 0: Fields "options" conflict because subfields "value" conflict because they return conflicting types "Int!" and "Boolean!". Use different aliases on the fields to fetch both if this was intentional.

Error 1: Fields "options" conflict because subfields "value" conflict because they return conflicting types "Int!" and "Boolean!". Use different aliases on the fields to fetch both if this was intentional

.... etc

Error 11: Fields "value" conflict because they return conflicting types "Int" and "String". Use different aliases on the fields to fetch both if this was intentional.

Basically, all of my fragments seem to get varying errors related to options and value.

I'm not entirely sure how to get around this. I tried using aliases, like

options {
  text
  value: integerValue
}

but that didn't seem to work. I'm not entirely sure how to proceed with this if anyone could give me some guidance! Thank you.

I've added the full query and fragments below to be analyzed.

query FetchAppointments($status: AppointmentStatusEnum
  $arg1: [arg1!]
  $arg2: arg2
) {
  appointments(
    status: $status
    kind: $kind
    startingAfter: $startingAfter
    startingBefore: $startingBefore
    endingAfter: $endingAfter
    endingBefore: $endingBefore
    hostId: $hostId
    attendedBy: $attendedBy
    limit: $limit
    offset: $offset
    sortBy: $sortBy
  ) {
    data {
      id
      documents {
        id
        kind
        status
        assessments {
          questionnaires {
            ...AssessmentQuestionnaireType
          }
          id
        }
      }
    }
    paging {
      page
      pages
      limit
      total
    }
  }

My issue is coming from ...AssessmentQuestionnaireType. Going down even further, my fragment looks like this:

fragment AssessmentQuestionnaireType on AssessmentQuestionnaire {
  id
  kind
  ordinal
  questionnaire {
    kind
    prompts {
      ...IntegerRangeSelectionPrompt
      ...MultipleSelectionPrompt
      ...SingleSelectionPrompt
      ...BooleanPrompt
      ...FreeFormIntegerPrompt
      ...FreeFormStringPrompt
      ...DisabledStringInput
      ...isabledIntegerInput
    }
  }
  responses {
    ...BooleanPromptResponse
    ...IntegerPromptResponse
    ...MultipleIntegerPromptResponse
    ...StringPromptResponse
    ...DisabledStringResponse
    ...DisabledIntegerResponse
    ...FloatPromptResponse
  }
}

and each smaller fragment looks like this:

fragment IntegerRangeSelectionPrompt on IntegerRangeSelectionPrompt {
  __typename
  key
  questionnaireId
  required
  text
  category
  categoryDescription
  promptDescription
  options {
    __typename
    text
    value
  }
}

fragment MultipleSelectionPrompt on MultipleSelectionPrompt {
  __typename
  key
  questionnaireId
  required
  text
  category
  categoryDescription
  promptDescription
  options {
    __typename
    text
    value
  }
}

fragment SingleSelectionPrompt on SingleSelectionPrompt {
  __typename
  key
  questionnaireId
  required
  text
  category
  categoryDescription
  promptDescription
  options {
    __typename
    text
    value
  }
}

fragment BooleanPrompt on BooleanPrompt {
  __typename
  key
  questionnaireId
  required
  text
  category
  categoryDescription
  promptDescription
  options {
    __typename
    text
    value
  }
}

fragment FreeFormIntegerPrompt on FreeFormIntegerPrompt {
  __typename
  key
  questionnaireId
  required
  text
  category
  categoryDescription
  promptDescription
}

fragment FreeFormStringPrompt on FreeFormStringPrompt {
  __typename
  key
  questionnaireId
  required
  text
  category
  categoryDescription
  promptDescription
}

fragment DisabledStringInput on DisabledStringInput {
  __typename
  key
  questionnaireId
  required
  text
  category
  categoryDescription
  promptDescription
}

fragment DisabledIntegerInput on DisabledIntegerInput {
  __typename
  key
  questionnaireId
  required
  text
  category
  categoryDescription
  promptDescription
}

fragment BooleanPromptResponse on BooleanPromptResponse {
  key
  value
}
fragment IntegerPromptResponse on IntegerPromptResponse {
  key
  value
}
fragment MultipleIntegerPromptResponse on MultipleIntegerPromptResponse {
  key
  value
  __typename
}
fragment StringPromptResponse on StringPromptResponse {
  key
  value
}
fragment DisabledStringResponse on DisabledStringResponse {
  key
  value
}
fragment DisabledIntegerResponse on DisabledIntegerResponse {
  key
  value
}
fragment FloatPromptResponse on FloatPromptResponse {
  key
  value
}
nyphur
  • 2,404
  • 2
  • 24
  • 48

0 Answers0