INNER CODE UNIT · Go

func

movio/bramble · auth.go:122

func (o *OperationPermissions) FilterAuthorizedFields(op *ast.OperationDefinition) gqlerror.List {
	var res ast.SelectionSet
	var errs gqlerror.List

	switch op.Operation {
	case ast.Query:
		res, errs = filterFields([]string{"query"}, op.SelectionSet, o.AllowedRootQueryFields)
	case ast.Mutation:
		res, errs = filterFields([]string{"mutation"}, op.SelectionSet, o.AllowedRootMutationFields)
	case ast.Subscription:
		res, errs = filterFields([]string{"subscription"}, op.SelectionSet, o.AllowedRootSubscriptionFields)
	default:
		panic(fmt.Sprintf("invalid operation %q in operation filtering", op.Operation))
	}

	op.SelectionSet = res

	return errs

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…