From 2ae964053cad804db2ca0968db263152dffbeec9 Mon Sep 17 00:00:00 2001 From: Jure Triglav <juretriglav@gmail.com> Date: Fri, 1 Feb 2019 17:50:13 +1300 Subject: [PATCH] feat(model-user): improve eager loading in graphql --- packages/components/model-user/src/graphql.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/components/model-user/src/graphql.js b/packages/components/model-user/src/graphql.js index 1d26c3191..198384657 100644 --- a/packages/components/model-user/src/graphql.js +++ b/packages/components/model-user/src/graphql.js @@ -1,18 +1,19 @@ const logger = require('@pubsweet/logger') -const User = require('./user') + +const eager = 'teams.members.[user, alias]' const resolvers = { Query: { user(_, { id }, ctx) { - return ctx.connectors.User.fetchOne(id, ctx) + return ctx.connectors.User.fetchOne(id, ctx, { eager }) }, users(_, { where }, ctx) { - return ctx.connectors.User.fetchAll(where, ctx, { eager: 'teams' }) + return ctx.connectors.User.fetchAll(where, ctx, { eager }) }, // Authentication currentUser(_, vars, ctx) { if (!ctx.user) return null - return User.find(ctx.user) + return ctx.connectors.User.model.find(ctx.user) }, }, Mutation: { @@ -33,13 +34,13 @@ const resolvers = { return ctx.connectors.User.update(id, input, ctx) }, // Authentication - async loginUser(_, { input }) { + async loginUser(_, { input }, ctx) { const authentication = require('pubsweet-server/src/authentication') let isValid = false let user try { - user = await User.findByUsername(input.username) + user = await ctx.connectors.User.model.findByUsername(input.username) isValid = await user.validPassword(input.password) } catch (err) { logger.debug(err) -- GitLab