Browse Source

fix: prevent duplicate group assignment (#1081)

Nicolas Giard 5 years ago
parent
commit
c5ce6bcbaa
1 changed files with 7 additions and 0 deletions
  1. 7 0
      server/graph/resolvers/group.js

+ 7 - 0
server/graph/resolvers/group.js

@@ -34,6 +34,13 @@ module.exports = {
       if (!usr) {
       if (!usr) {
         throw new gql.GraphQLError('Invalid User ID')
         throw new gql.GraphQLError('Invalid User ID')
       }
       }
+      const relExist = await WIKI.models.knex('userGroups').where({
+        userId: args.userId,
+        groupId: args.groupId
+      }).first()
+      if (relExist) {
+        throw new gql.GraphQLError('User is already assigned to group.')
+      }
       await grp.$relatedQuery('users').relate(usr.id)
       await grp.$relatedQuery('users').relate(usr.id)
       return {
       return {
         responseResult: graphHelper.generateSuccess('User has been assigned to group.')
         responseResult: graphHelper.generateSuccess('User has been assigned to group.')