diff --git a/packages/components/model-team/src/graphql.js b/packages/components/model-team/src/graphql.js index ae9bd3223ae934ab062b4cfc0eca56ddf5dd170e..2f4034d3273309899d5b33b3afc64ecbed888525 100644 --- a/packages/components/model-team/src/graphql.js +++ b/packages/components/model-team/src/graphql.js @@ -48,14 +48,9 @@ const resolvers = { return ctx.connectors.Team.update(id, input, ctx) }, async addMembers(_, { id, members }, ctx) { - const { - helpers: { can, canKnowAbout }, - } = require('pubsweet-server') - - await can(ctx.user, 'addMembers', id) + await ctx.helpers.can(ctx.user, 'addMembers', id) let team = await ctx.connectors.Team.model.query().findById(id) - await team.$relatedQuery('members').relate(members) team = await ctx.connectors.Team.model @@ -65,22 +60,17 @@ const resolvers = { team.members = team.members.map(member => member.id) - const outputFilter = await canKnowAbout(ctx.user, team) + const outputFilter = await ctx.helpers.canKnowAbout(ctx.user, team) return outputFilter(team) }, async removeMembers(_, { id, members }, ctx) { - const { - helpers: { can, canKnowAbout }, - } = require('pubsweet-server') - - await can(ctx.user, 'removeMembers', id) + await ctx.helpers.can(ctx.user, 'removeMembers', id) let team = await ctx.connectors.Team.model.query().findById(id) - await team .$relatedQuery('members') .unrelate() - .whereIn('id', members) + .whereIn('team_members.user_id', members) team = await ctx.connectors.Team.model .query() @@ -89,7 +79,7 @@ const resolvers = { team.members = team.members.map(member => member.id) - const outputFilter = await canKnowAbout(ctx.user, team) + const outputFilter = await ctx.helpers.canKnowAbout(ctx.user, team) return outputFilter(team) }, },