From 29dbc441c8ac578f1ec2ee861a784ff2b063092b Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Wed, 26 Sep 2018 11:08:14 +0200 Subject: [PATCH] Users Search GraphQl Schema implemented and tested --- server/schema/schema.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/server/schema/schema.js b/server/schema/schema.js index f0f12fb7f..4d0561156 100644 --- a/server/schema/schema.js +++ b/server/schema/schema.js @@ -129,6 +129,20 @@ const RootQuery = new GraphQLObjectType({ resolve (parent, args) { return roles } + }, + usersSearch: { + type: new GraphQLList(UserType), + args: {alias: {type: GraphQLString}, firstName: {type: GraphQLString}, middleName: {type: GraphQLString}, lastName: {type: GraphQLString}}, + resolve (parent, args) { + let mongoQuery = { $or: [] } + + if (args.alias !== null && args.alias !== '') { mongoQuery.$or.push({alias: args.alias}) } + if (args.firstName !== null && args.firstName !== '') { mongoQuery.$or.push({firstName: args.firstName}) } + if (args.middleName !== null && args.middleName !== '') { mongoQuery.$or.push({middleName: args.middleName}) } + if (args.lastName !== null && args.lastName !== '') { mongoQuery.$or.push({lastName: args.lastName}) } + + return User.find(mongoQuery) + } } } })