Я хочу иметь возможность добавлять параметры в подзапросы, но не могу понять, как заставить его работать.
Я пытаюсь написать схему с объектом просмотра, который содержит запросыУ меня так, что я могу вернуть ребра / узлы.Я думаю, что упускаю что-то фундаментальное из резольверов, но после долгих поисков я все равно не понимаю.
Моя схема выглядит так (только соответствующие биты):
type Query {
viewer: Viewer!
}
type Viewer {
allLinks(skip: Int, first: Int, last: Int, orderBy:
LinkOrderByInput): LinkConnection
}
LinkConnection - это то, что вы ожидаете, у него есть атрибут ребер, который представляет собой список узлов и т. Д.
Я использую Prisma, и резольверы выглядят так:
const allLinks = async (parent, args, context, info) => {
const links = await context.prisma.linksConnection({
first: args.first,
orderBy: args.orderBy,
})
const count = await context.prisma
.linksConnection()
.aggregate()
.count()
return {
pageInfo: links.pageInfo,
edges: links.edges,
count,
}
}
export const viewer = async (parent, args, context, info) => {
const links = await allLinks(parent, args, context, info)
return { allLinks: links }
}
И затем, если я сделаю этот запрос:
query {
viewer {
allLinks(first: 1, orderBy:createdAt_DESC) {
edges {
node {
id
}
}
count
}
}
}
Затем он работает без фактического ошибочного вывода, но он возвращает все ссылки, а не одну, и я поиграл с console.logging и кажется,как параметры first и orderBy на самом деле ничего не делают.
Может кто-нибудь помочь объяснить, как я могу структурировать свои резольверы так, чтобы аргументы действительно что-то делали?Кажется, это должно быть очевидно!