visitFieldDefinition(field) { if (!field.permissionsConfig) { // eslint-disable-next-line no-param-reassign field.permissionsConfig = { all: [], any: [], }; } field.permissionsConfig.all.push(...(this.args.all || [])); field.permissionsConfig.any.push(...(this.args.any || [])); this.wrapField(field); }
// static getDirectiveDeclaration(directiveName = 'requiresPermissions') { // return new GraphQLDirective({ // name: directiveName, // locations: [DirectiveLocation.FIELD_DEFINITION], // }); // } visitObject(type) { const fields = type.getFields(); Object.keys(fields).forEach(fieldName => { const field = fields[fieldName]; if (!field.permissionsConfig) { field.permissionsConfig = { all: [], any: [], }; } field.permissionsConfig.all.push(...(this.args.all || [])); field.permissionsConfig.any.push(...(this.args.any || [])); this.wrapField(field); }); }
visitFieldDefinition(field) { if (!field.permissionsConfig) { // eslint-disable-next-line no-param-reassign field.permissionsConfig = { all: [], any: [], }; } field.permissionsConfig.all.push(...(this.args.all || [])); field.permissionsConfig.any.push(...(this.args.any || [])); this.wrapField(field); }
// static getDirectiveDeclaration(directiveName = 'requiresPermissions') { // return new GraphQLDirective({ // name: directiveName, // locations: [DirectiveLocation.FIELD_DEFINITION], // }); // } visitObject(type) { const fields = type.getFields(); Object.keys(fields).forEach(fieldName => { const field = fields[fieldName]; if (!field.permissionsConfig) { field.permissionsConfig = { all: [], any: [], }; } field.permissionsConfig.all.push(...(this.args.all || [])); field.permissionsConfig.any.push(...(this.args.any || [])); this.wrapField(field); }); }