summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Schneider2016-11-25 12:16:15 +0100
committerSven Schneider2016-11-25 12:18:02 +0100
commit10dba4e2d3efa6f48011eed3b43b41991c4f3b44 (patch)
tree2397549afd7575ae1a0b127022ac3af843984a0c
parenta4761b3febfde9c1506480c4e027ee8a7135fbb3 (diff)
downloadaur-10dba4e2d3efa6f48011eed3b43b41991c4f3b44.tar.gz
update version to r1.a4761b3
-rw-r--r--.SRCINFO6
-rw-r--r--0001-Fix-default-values-of-input-objects.patch97
-rw-r--r--PKGBUILD12
3 files changed, 112 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 19cef942df2b..56c930a5de09 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Wed Feb 24 23:02:54 UTC 2016
+# Fri Nov 25 11:15:36 UTC 2016
pkgbase = go-graphql-go
pkgdesc = GraphQL for Go
- pkgver = 361.26c58bd
+ pkgver = r1.a4761b3
pkgrel = 1
url = https://github.com/graphql-go/graphql
arch = x86_64
@@ -12,6 +12,8 @@ pkgbase = go-graphql-go
depends = go
options = !strip
options = !emptydirs
+ source = 0001-Fix-default-values-of-input-objects.patch
+ sha512sums = 0f09d2ddaca40734f6a0ad5bcd9fd7b1868539335e88d66b592a548e4414993878973ac2560c339bfc5126607fc143d01c3e69b9731d50059441c39606c8a2d2
pkgname = go-graphql-go
diff --git a/0001-Fix-default-values-of-input-objects.patch b/0001-Fix-default-values-of-input-objects.patch
new file mode 100644
index 000000000000..a56bab58422b
--- /dev/null
+++ b/0001-Fix-default-values-of-input-objects.patch
@@ -0,0 +1,97 @@
+From 29075f857c0b49389c6c4193c8044e0673e45aa8 Mon Sep 17 00:00:00 2001
+From: Sven Schneider <>
+Date: Wed, 13 Apr 2016 15:38:45 +0200
+Subject: [PATCH] Fix default values of input objects.
+
+When a query did not specify a field in an input object this field was
+ignored, even if a default value was set for it.
+---
+ executor_test.go | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ values.go | 8 ++++++--
+ 2 files changed, 56 insertions(+), 2 deletions(-)
+
+diff --git a/executor_test.go b/executor_test.go
+index 7922d8c..74911b2 100644
+--- a/executor_test.go
++++ b/executor_test.go
+@@ -1230,6 +1230,56 @@ func TestQuery_ExecutionDoesNotAddErrorsFromFieldResolveFn(t *testing.T) {
+ }
+ }
+
++func TestQuery_InputObjectUsesFieldDefaultValueFn(t *testing.T) {
++ inputType := graphql.NewInputObject(graphql.InputObjectConfig{
++ Name: "Input",
++ Fields: graphql.InputObjectConfigFieldMap{
++ "default": &graphql.InputObjectFieldConfig{
++ Type: graphql.String,
++ DefaultValue: "bar",
++ },
++ },
++ })
++ q := graphql.NewObject(graphql.ObjectConfig{
++ Name: "Query",
++ Fields: graphql.Fields{
++ "a": &graphql.Field{
++ Type: graphql.String,
++ Args: graphql.FieldConfigArgument{
++ "foo": &graphql.ArgumentConfig{
++ Type: graphql.NewNonNull(inputType),
++ },
++ },
++ Resolve: func(p graphql.ResolveParams) (interface{}, error) {
++ val := p.Args["foo"].(map[string]interface{})
++ def, ok := val["default"]
++ if !ok || def == nil {
++ return nil, errors.New("queryError: No 'default' param")
++ }
++ if def.(string) != "bar" {
++ return nil, errors.New("queryError: 'default' param has wrong value")
++ }
++ return "ok", nil
++ },
++ },
++ },
++ })
++ schema, err := graphql.NewSchema(graphql.SchemaConfig{
++ Query: q,
++ })
++ if err != nil {
++ t.Fatalf("unexpected error, got: %v", err)
++ }
++ query := `{ a(foo: {}) }`
++ result := graphql.Do(graphql.Params{
++ Schema: schema,
++ RequestString: query,
++ })
++ if len(result.Errors) != 0 {
++ t.Fatalf("wrong result, unexpected errors: %+v", result.Errors)
++ }
++}
++
+ func TestMutation_ExecutionAddsErrorsFromFieldResolveFn(t *testing.T) {
+ mError := errors.New("mutationError")
+ q := graphql.NewObject(graphql.ObjectConfig{
+diff --git a/values.go b/values.go
+index 6b3ff16..ada4407 100644
+--- a/values.go
++++ b/values.go
+@@ -364,10 +364,14 @@ func valueFromAST(valueAST ast.Value, ttype Input, variables map[string]interfac
+ obj := map[string]interface{}{}
+ for fieldName, field := range ttype.Fields() {
+ fieldAST, ok := fieldASTs[fieldName]
++ fieldValue := field.DefaultValue
+ if !ok || fieldAST == nil {
+- continue
++ if fieldValue == nil {
++ continue
++ }
++ } else {
++ fieldValue = valueFromAST(fieldAST.Value, field.Type, variables)
+ }
+- fieldValue := valueFromAST(fieldAST.Value, field.Type, variables)
+ if isNullish(fieldValue) {
+ fieldValue = field.DefaultValue
+ }
+--
+2.8.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 1f985c5ea445..fd7ea6a8f13e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Sven Schneider <archlinux.sandmann@googlemail.com>
pkgname=go-graphql-go
-pkgver=361.26c58bd
+pkgver=r1.a4761b3
pkgrel=1
pkgdesc="GraphQL for Go"
arch=('x86_64' 'i686')
@@ -10,10 +10,20 @@ license=('MIT')
depends=('go')
makedepends=('rsync')
options=('!strip' '!emptydirs')
+source=(0001-Fix-default-values-of-input-objects.patch)
+sha512sums=('0f09d2ddaca40734f6a0ad5bcd9fd7b1868539335e88d66b592a548e4414993878973ac2560c339bfc5126607fc143d01c3e69b9731d50059441c39606c8a2d2')
_gourl='github.com/graphql-go/graphql'
+#pkgver() {
+# cd "${srcdir}/src/github.com/graphql-go"
+# printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+#}
+
build() {
GOPATH="${srcdir}" go get -v -x ${_gourl}
+
+ cd "${srcdir}"/src/github.com/graphql-go/graphql
+ patch < "${srcdir}"/0001-Fix-default-values-of-input-objects.patch
}
package() {