| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							
- /* global wiki */
 
- const gql = require('graphql')
 
- module.exports = {
 
-   Query: {
 
-     rights(obj, args, context, info) {
 
-       return wiki.db.Right.findAll({ where: args })
 
-     }
 
-   },
 
-   Mutation: {
 
-     addRightToGroup(obj, args) {
 
-       return wiki.db.Group.findById(args.groupId).then(grp => {
 
-         if (!grp) {
 
-           throw new gql.GraphQLError('Invalid Group ID')
 
-         }
 
-         return wiki.db.Right.create({
 
-           path: args.path,
 
-           role: args.role,
 
-           exact: args.exact,
 
-           allow: args.allow,
 
-           group: grp
 
-         })
 
-       })
 
-     },
 
-     removeRightFromGroup(obj, args) {
 
-       return wiki.db.Right.destroy({
 
-         where: {
 
-           id: args.rightId
 
-         },
 
-         limit: 1
 
-       })
 
-     },
 
-     modifyRight(obj, args) {
 
-       return wiki.db.Right.update({
 
-         path: args.path,
 
-         role: args.role,
 
-         exact: args.exact,
 
-         allow: args.allow
 
-       }, {
 
-         where: {
 
-           id: args.id
 
-         }
 
-       })
 
-     }
 
-   },
 
-   Right: {
 
-     group(rt) {
 
-       return rt.getGroup()
 
-     }
 
-   }
 
- }
 
 
  |