Возврат данных с сервера apollo на основе фильтра для вложенного поля - PullRequest
2 голосов
/ 17 марта 2019

Можно ли в apollo вернуть данные для запроса, основанного на фильтре для вложенного поля? Например:

Запрос:

Users($filter: String!) {
  user(filter: $filter) { 
    id, 
    name, 
    address(filter: $filter) { 
       street, 
       city, 
       country
    } 
  } 
}

Определения типов:

Query: {
   users(filter: String): [User]!
}

User: {
    id: ID!,
    name: String!,
    address: Address
}

Address: {
    street: String!,
    city: String!,
    country: String!
}

распознаватели Apollo:

const resolverMap = {
  Query: {
    User(obj, args, context, info) {
      // query api for User info (not including address)
      // the final results of the query should only return users with the 
      // specific address (for example if the filter is country: England, only 
      // return users that live in England.
    },
  },
  Address: {
    address: (obj, args, context, info) {
      // query another api for address based on parent (User) Id
    },
  },
}

Используя этот запрос, я хочу, чтобы результаты возвращались только для пользователей, которые проживают в определенной стране, например, в Англии. Поскольку этот фильтр предназначен для вложенного типа [адрес], возможно ли будет использовать этот запрос и не запрашивать адрес первым?

...