Служба apollo: push возвращает Ошибка: Неизвестный тип: "Пользователь", однако локально он работает нормально. Как разгадать эту загадку?
Исходный код взят отсюда: https://github.com/apollographql/federation-demo/blob/master/services/reviews/index.js
Мой код такой:
const typeDefs = gql`
extend type User @key(fields: "id") {
id: ID! @external
numberOfReviews: Int
reviews: [Review]
}
type Review @key(fields: "id") {
id: ID!
body: String
author: User
product: Product
}
extend type Product @key(fields: "upc") {
upc: String! @external
reviews: [Review]
}
`;
const resolvers = {
Review: {
author(review) {
// Review.author -> provides the field `username` and requires User.username to be marked as @external.
console.log("review service returning author")
return { __typename: "User", id: review.authorID };
}
},
User: {
reviews(user, _args, { dataSources }) {
console.log("review service returning reviews for user " + user.id)
return reviews.filter(review => review.authorID === user.id);
},
numberOfReviews(user, _args, { dataSources }) {
console.log("review service returning numberOfReviews for user " + user.id)
return reviews.filter(review => review.authorID === user.id).length;
}
},
Product: {
reviews(product, _args, { dataSources }) {
console.log("review service returning reviews for product " + product.upc)
return reviews.filter(review => review.product.upc === product.upc);
}
}
};
У меня другие очень похожие службы, и они без проблем разрешают типы.
Что я сделал, чтобы избежать этой ошибки?
Fetching info from federated service
✔ Loading Apollo Project
✔ Loading Apollo Project
✖ Uploading service to Engine
→ Unknown type: "User".
Error: Unknown type: "User".