私はGraphcoolを使用していますが、これは一般的なGraphQLの質問かもしれません。2 つのフィールドのいずれかを必須にする方法はありますか?
たとえば、Post タイプがあるとします。投稿は、グループまたはイベントのいずれかに添付する必要があります。これはスキーマで指定できますか?
type Post {
body: String!
author: User!
event: Event // This or group is required
group: Group // This or event is required
}
私の実際の要件はもう少し複雑です。投稿は、イベントに添付するか、グループと場所に添付する必要があります。
type Post {
body: String!
author: User!
event: Event // Either this is required,
group: Group // Or both Group AND Location are required
location: Location
}
したがって、これは有効です:
mutation {
createPost(
body: "Here is a comment",
authorId: "<UserID>",
eventId: "<EventID>"
){
id
}
}
これは次のとおりです。
mutation {
createPost(
body: "Here is a comment",
authorId: "<UserID>",
groupID: "<GroupID>",
locationID: "<LocationID>"
){
id
}
}
しかし、これはそうではありません:
これは次のとおりです。
mutation {
createPost(
body: "Here is a comment",
authorId: "<UserID>",
groupID: "<GroupID>",
){
id
}
}