javascript - Consultar múltiples campos con el mismo valor [GraphQL][Amplify]
Estoy creando una API con AWS Amplify y AppSync GraphQL. Trabajo en una aplicación similar a Tinder.
Me gustaría buscar el mismo valor en dos campos para una consulta. He probado muchas soluciones, pero ninguna parece funcionar.
Tengo un Usuario @Model que está conectado a muchos Match a través de @connection
type User @model
@auth(rules: [{allow: public}])
{
id: ID!
email: String!
password: String
age: String!
name: String!
description: String
pickupLine: String
orientation: Orientation!
gender: Gender!
animal: Animal!
profilePicture: String!
pictures: [String]!
location: Location
numberOfSparksAvailable: Int!
matchs: [Match]
@connection(keyName: "byUser", fields: ["id"])
sparks: [Spark]
@connection(keyName: "byUser", fields: ["id"])
}
Y tengo un Match @Model que tiene un campo senderId y un campo receiverId
type Match @model
@auth(rules: [{allow: public}])
@key(name: "byUser", fields: ["receiverId", "senderId"], queryField: "matchByUser")
@key(name: "bySender", fields: ["senderId"], queryField: "sparkBySender")
@key(name: "byReceiver", fields: ["receiverId"], queryField: "sparkByReceiver")
{
id: ID!
status: MatchStatus!
matchType: MatchType
sender: User! @connection(fields: ["senderId"])
senderId: ID!
receiver: User! @connection(fields: ["receiverId"])
receiverId: ID!
answerFrom: Answer!
answerTo: Answer
chatRoomId: ID!
chatRoom: ChatRoom!
@connection(fields: ["chatRoomId"])
deletedAt: AWSDate
}
Y no encuentro ninguna manera de hacer que bySender @key busque tanto senderId como receiverId. Quiero poder tener todos los Matches de un User ya sea que él sea el receptor o el remitente.
Pero cuando hago una Query a ListUsers solo obtengo los Matches donde el User es un receptor.
También he intentado hacer múltiples @connection, pero no está permitido por Graphql-transformer.
También intenté hacer un usersId: [ID!]! así
type Match @model {
...
usersId: [ID!]!
users: [User!]!
@connection(fields: ["usersId"])
...
}
Pero tampoco está permitido por graphql-transformer..
¿Alguien tiene una solución para obtener todos los partidos para un User?
¡Muchas gracias!