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