var model = ({
users: [
{
name: 'nh',
id: 2
},
{
name: 'Ha',
id: 1
}
],
posts: [
{
title: "sfhs post",
userId: 2
},
{
title: "Ha's post",
userId: 1
},
{
title: "Ha's second post",
userId: 1
}
]
})
var schema = require('graph.ql')(`
type User {
name: String
id: Int
}
type Post {
title: String
userId: Int
user: User
}
type Query {
users: [User]
posts(uid: Int): [Post]
}
`, {
Post: {
user: self => model.users.filter(({id}) => self.userId == id)[0]
},
Query: {
users: () => model.users,
posts: (self, {uid}) => uid
? model.posts.filter(({userId}) => uid == userId)
: model.posts
}
})
var { compose } = require('redux')
var app = require('notebook')('tonic/express-endpoint/1.0.0')(module.exports)
var graphql = require('express-graph.ql')
app.post('/', graphql(schema))