如何使用 GraphQL 查询 KeystoneJS select 字段的选项

How do I use GraphQL to query the options for a KeystoneJS select field

我已经根据 docs:

在 KeystoneJS 中设置了一个 select 字段
const { Select } = require('@keystonejs/fields');

keystone.createList('Order', {
  fields: {
    status: { type: Select, options: 'pending, processed' },
  },
});

如何使用 introspection 获取该字段的有效选项列表?

KeystoneJS 中的类型似乎使用以下格式命名:

<list name><field name>Type

此外,如果 <list name><field name> 的首字母是小写,则这些字母将更改为大写。因此,对于问题中给出的示例,字段 status 的类型名称将是:

OrderStatusType

然后可以使用以下方式查询可用选项:

query {
  __type (name: "OrderStatusType") {
    enumValues {
      name
    }
  }
}

在带有 Postgres 数据库的标准 KeystoneJS 安装上进行了测试。