我想在Hasura生成的graphql模式中覆盖一个专用字段的jsonb类型,并通过graphql-code-generator运行。
我有一个jsonb类型的customList
字段。 Ths用于包含json对象数组。在带有TypeScript插件的graphql-code-generator上使用时,生成的类型解析为any
。我试图弄清楚如何仅使用该特定字段的自定义类型覆盖此内容。
以下代码片段显示了graphql模式的相关部分,并覆盖了目标的graphql类型。到目前为止,我尝试过的所有操作都会导致代码生成错误
GraphQl模式
//schema.json
...
{
"kind": "OBJECT",
"name": “MyEntity”,
"description": "columns and relationships of MyEntity",
"fields": [
...
{
"name": "customList",
"description": "",
"args": [
{
"name": "path",
"description": "JSON select path",
"type": {
"kind": "SCALAR",
"name": "String",
"ofType": null
},
"defaultValue": null
}
],
"type": {
"kind": "SCALAR",
"name": "jsonb",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
}
}
目标覆盖类型
//clientTypes.graphql
type ListItem {
itemId: string!
}
extend type MyEntity {
ccards: [ListItem!]
}
感谢您的帮助!
答案 0 :(得分:0)
您可以将代码生成指向一个新文件-假设为my-schema.js
,然后按照您希望的方式操作模式。您可以使用任何您喜欢的工具(graphql-toolkit / graphql-compose /直接GraphQLSchema操作)