var GraphQLObjectType = require('graphql').GraphQLObjectType;
var GraphQLList = require('graphql').GraphQLList;
var GraphQLNonNull = require('graphql').GraphQLNonNull;
var GraphQLID = require('graphql').GraphQLID;
var UserModel = require('../../models/user');
var userType = require('../types/user').userType;
// Query
exports.queryType = new GraphQLObjectType({
name: 'Query',
fields: function () {
return {
users: {
type: new GraphQLList(userType),
resolve: function () {
const users = UserModel.find().exec()
if (!users) {
throw new Error('Error')
}
return users
}
},
user: {
type: new GraphQLList(userType),
args: {
_id: {
name: '_id',
type: new GraphQLNonNull(GraphQLID)
}
},
resolve: function (root, {_id}) {
const user = UserModel.find({_id}).exec()
if (!user) {
throw new Error('Error')
}
return user
}
}
}
}
});