如何定义具有在另一个模式中定义的参数类型的 hasura gql 突变?
How do I define a hasura gql mutation that has an argument type defined in another schema?
这是我的 GQL...(注意变量 $rrule
)
mutation CREATE(
$title: String!,
$description: String!,
$duration: interval!,
$photo_url: String,
$rrule: String!,
$venue_id: Int!
) {
result:insert_event_templates_one(
object: {
title: $title,
description: $description,
duration: $duration,
photo_url: $photo_url,
rrule: $rrule,
venue_id: $venue_id
}
) {
id
}
}
rrule 是另一个架构中的自定义列类型:_rrule
它可以是一个隐式转换,定义如下:
CREATE CAST (TEXT AS _rrule.RRULE)
WITH FUNCTION _rrule.rrule(TEXT)
AS IMPLICIT;
如何定义我的突变以引用该转换?现在,当我 运行 这个突变时,我得到以下错误:
variable rrule of type String! is used in position expecting rrule
所以 Hasura 似乎知道基础列类型,但不能使用它的隐式转换?
该错误与基础数据源无关。使用 $rrule
变量的参数接受名为 rrule
的 GraphQL 类型。变量只有在其类型匹配时才能传递给参数。所以 $rrule
的类型必须与参数 rrule
的类型相同——也就是说,它的类型也应该是 rrule
.
mutation CREATE(
$rrule: rrule!
...
) {
...
}
这是我的 GQL...(注意变量 $rrule
)
mutation CREATE(
$title: String!,
$description: String!,
$duration: interval!,
$photo_url: String,
$rrule: String!,
$venue_id: Int!
) {
result:insert_event_templates_one(
object: {
title: $title,
description: $description,
duration: $duration,
photo_url: $photo_url,
rrule: $rrule,
venue_id: $venue_id
}
) {
id
}
}
rrule 是另一个架构中的自定义列类型:_rrule
它可以是一个隐式转换,定义如下:
CREATE CAST (TEXT AS _rrule.RRULE)
WITH FUNCTION _rrule.rrule(TEXT)
AS IMPLICIT;
如何定义我的突变以引用该转换?现在,当我 运行 这个突变时,我得到以下错误:
variable rrule of type String! is used in position expecting rrule
所以 Hasura 似乎知道基础列类型,但不能使用它的隐式转换?
该错误与基础数据源无关。使用 $rrule
变量的参数接受名为 rrule
的 GraphQL 类型。变量只有在其类型匹配时才能传递给参数。所以 $rrule
的类型必须与参数 rrule
的类型相同——也就是说,它的类型也应该是 rrule
.
mutation CREATE(
$rrule: rrule!
...
) {
...
}