Как получить доступ к переменным, переданным дочерним запросам - PullRequest
0 голосов
/ 12 февраля 2019

Я хочу иметь возможность добавлять параметры в подзапросы, но не могу понять, как заставить его работать.

Я пытаюсь написать схему с объектом просмотра, который содержит запросыУ меня так, что я могу вернуть ребра / узлы.Я думаю, что упускаю что-то фундаментальное из резольверов, но после долгих поисков я все равно не понимаю.

Моя схема выглядит так (только соответствующие биты):

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 на самом деле ничего не делают.

Может кто-нибудь помочь объяснить, как я могу структурировать свои резольверы так, чтобы аргументы действительно что-то делали?Кажется, это должно быть очевидно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...