let TweetType = new GraphQLObjectType({
name : 'Tweet',
description : 'A tweet object',
fields : () => ({
id : { type: GraphQLID },
created_at : { type: GraphQLString },
text : { type: GraphQLString },
retweet_count : { type: GraphQLInt },
retweets : {
type : new GraphQLList(RetweetType),
description : 'Get a list of retweets',
args : {
limit: {
type : GraphQLInt,
defaultValue : 5
}
},
resolve: ({ id_str: tweetId }, { limit }) => dbTeetLoader.load([
'SELECT tweetId FROM retweets WHERE originalTweetId=? LIMIT ?', tweetId, limit
]).then(rows => rows.map(row => tweetLoader.load(row.tweetId)))
}
})
});
DATALOADER DEFINITION