Я пытаюсь использовать Graphql-подписки для подписки на новые твиты, которые могут создавать другие пользователи, пока я на домашнем экране. Он всегда возвращает мне неопределенное свойство пользователя, и Graphql не выясняет, почему это происходит на самом деле, ис чего начать отладку
файла схемы
export default `
scalar Date
type User {
_id: ID!
username: String
email: String!
firstName: String
lastName: String
avatar: String
createdAt: Date!
updatedAt: Date!
}
type Tweet {
_id: ID!
text: String!
user: User!
favoriteCount: Int!
createdAt: Date!
updatedAt: Date!
}
type Query {
getTweets: [Tweet]
}
type Mutation {
createTweet(text: String!): Tweet
}
type Subscription {
tweetAdded: Tweet!
}
schema {
query: Query
mutation: Mutation
subscription: Subscription
}
`;
распознавателей твитов
const TWEET_ADDED = "TWEET_ADDED";
createTweet: async (_, args, { user, pubsub }) => {
try {
await requireAuth(user);
let tweet = await Tweet.create({ ...args, user: user._id });
tweet = await Tweet.populate(tweet, 'user')
pubsub.publish(TWEET_ADDED, { [TWEET_ADDED]: tweet });
return tweet;
} catch (error) {
throw error;
}
},
tweetAdded: {
subscribe: (_, __, { pubsub }) => pubsub.asyncIterator(TWEET_ADDED)
}
и на стороне клиента вот что я пытаюсь получить
subscription {
tweetAdded {
text
_id
createdAt
favoriteCount
user {
username
avatar
firstName
lastName
}
}
}
РЕДАКТИРОВАТЬ: неопределенное пользовательское свойство отображается в браузере, в то время как я получаю, я не могу вернуть ноль для ненулевого поля в graphiql graphiql против браузера