From 1f0f16a8328d6a22a7ec9532c94fda648b4f1c08 Mon Sep 17 00:00:00 2001 From: Darren Shepherd Date: Sun, 4 Mar 2018 22:05:03 -0700 Subject: [PATCH] Change defaulting logic --- parse/builder/builder.go | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/parse/builder/builder.go b/parse/builder/builder.go index ad1c806f..c38693cf 100644 --- a/parse/builder/builder.go +++ b/parse/builder/builder.go @@ -89,11 +89,6 @@ func (b *Builder) copyInputs(schema *types.Schema, input map[string]interface{}, } } - // Don't copy empty strings - if !(value == "" && field.Type == "string") { - result[fieldName] = value - } - if op.IsList() && field.Type == "date" && value != "" { ts, err := convert.ToTimestamp(value) if err == nil { @@ -117,8 +112,8 @@ func (b *Builder) copyInputs(schema *types.Schema, input map[string]interface{}, func (b *Builder) checkDefaultAndRequired(schema *types.Schema, input map[string]interface{}, op Operation, result map[string]interface{}) error { for fieldName, field := range schema.ResourceFields { - _, hasKey := result[fieldName] - if op == Create && !hasKey && field.Default != nil { + val, hasKey := result[fieldName] + if op == Create && (!hasKey || val == "") && field.Default != nil { result[fieldName] = field.Default }