TypeGraphql InputType Поле со значением enum не пропускает строку (цитируемый текст) - PullRequest
0 голосов
/ 08 июля 2019

Создан проект с TypeGraphql в машинописи.Попытка сделать поле перечислением со строковыми значениями.Если я посылаю эти значения или имена в конечную точку мутации, они выдают мне ошибку:

"errors": [
        {
            "message": "Expected type Tipe!, found \"Contract\"; Did you mean the enum value Contract?",
            "locations": [
                {

После DTO:

import { Tipe } from "../validators/enums/ContactEnums";

@ObjectType()
@Entity()
export class Contact extends BaseEntity {
  @Field(() => ID)
  @PrimaryColumn("uuid")
  id: string;

  @Field()
  @Column("enum", { enum: Tipe })
  tipe: Tipe;

Тип перечисления:

export enum Tipe {
    "Contract" = "CONTRACT",
    "Person" = "PERSON"
}

Тип ввода:

@InputType()
export class ContactInput {
  @Field()
  id: string;

  @Field(() => Tipe)
  tipe: string;

1 Ответ

0 голосов
/ 23 июля 2019

Вы должны использовать переменные, если хотите отправить значения перечисления в виде строк:

query SampleQuery($sampleArg: Tipe!) {
  sample(sampleArg: $sampleArg) {
    field 
  }
}
{
  sampleArg: "Contract"
}

Если вы сделаете свой запрос статичным и предоставите встроенное перечисление, вы не сможете заключить его в кавычки:

query {
  sample(sampleArg: Contract) {
    field 
  }
}
...