У меня есть схема в Graphcool с этими узлами (не уверен, что правильный термин здесь ... лист? Узел? Модель? Тип ??)
type User @model {
auth0UserId: String @isUnique
createdAt: DateTime!
id: ID! @isUnique
userIdentifier: String
bundleIdentifier: String
updatedAt: DateTime!
devices: [Device!]! @relation(name: "UserOnDevice")
tokens: [Token!]! @relation(name: "TokenOnUser")
}
type Device @model {
id: ID! @isUnique
deviceIdentifier: String!
users: [User!]! @relation(name: "UserOnDevice")
token: Token @relation(name: "DeviceOnToken")
}
Я хотел бы сделать этотак что пользователь должен быть аутентифицирован и иметь отношение к данным устройства, чтобы иметь возможность запрашивать его.Таким образом, для запроса типа:
query($deviceIdentifier: String!) {
device(deviceIdentifier: $deviceIdentifier) {
id
}
}
Это должно вернуть null
, если они не прошли проверку подлинности и не являются пользователем в указанном отношении.Я думал, что мне нужен запрос на разрешение, подобный этому:
query ($node_id: ID!, $user_id: ID!) {
SomeDeviceExists(filter: {
id: $node_id,
users: {
id: $user_id
}
})
}
Но оказывается, что это неверно.Как мне это сделать?