Я использую AWS AppSyn c (через Apollo Vue), и у меня есть следующая модель graphql.
type Service @model
{
id: ID!
name: String!
description: String!
}
type Session @model
{
id: ID!
service: Service @connection(keyName: "ServiceSessionConnection")
}
Средство разрешения таблицы обслуживания:
#set( $limit = $util.defaultIfNull($context.args.limit, 10) )
#set( $query = {
"expression": "#connectionAttribute = :connectionAttribute",
"expressionNames": {
"#connectionAttribute": "serviceSessionsId"
},
"expressionValues": {
":connectionAttribute": {
"S": "$context.source.id"
}
}
} )
{
"version": "2017-02-28",
"operation": "Query",
"query": $util.toJson($query),
"scanIndexForward": #if( $context.args.sortDirection )
#if( $context.args.sortDirection == "ASC" )
true
#else
false
#end
#else
true
#end,
"filter": #if( $context.args.filter )
$util.transform.toDynamoDBFilterExpression($ctx.args.filter)
#else
null
#end,
"limit": $limit,
"nextToken": #if( $context.args.nextToken )
$util.toJson($context.args.nextToken)
#else
null
#end,
"index": "gsi-Service.sessions"
}
Средство разрешения таблицы сеансов:
{
"version": "2017-02-28",
"operation": "GetItem",
"key": {
"id": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.sessionServiceId, "___xamznone____"))
}
}
Я создаю следующие записи:
mutation createService {
createService {
id: "Id1",
name: "name",
description: "desc"
}
}
mutation createSession {
createSession {
id: "Id2",
serviceSessionsId: "Id1" //note: serviceSessionsId created part of relationship (it is part of the resolved code above!), and I am setting that to parent ID (in this case serviceId value "Id1")
}
}
Я пытаюсь выполнить следующий запрос дочерней таблицы (сеанс) с данными родительского (службы):
query listSessions {
listSessions {
items {
id,
serviceId,
service { //retuns null data
id, //retuns null data
name, //retuns null data
description. //retuns null data
}
}
}
}
Я не получаю родительские данные (объект службы). Так как я смоделировал отношения ребенок-родитель @connection(keyName: "ServiceSessionConnection")
, не следует ли ожидать родительских данных в результате запроса? Я что-то упустил? Что еще нужно настроить, чтобы иметь данные отношения в результате запроса?