diff --git a/compose/service/values/validator.go b/compose/service/values/validator.go index b70a46df9..983a48fd5 100644 --- a/compose/service/values/validator.go +++ b/compose/service/values/validator.go @@ -3,15 +3,16 @@ package values import ( "context" "fmt" - "github.com/cortezaproject/corteza-server/compose/types" - "github.com/cortezaproject/corteza-server/pkg/expr" - "github.com/cortezaproject/corteza-server/pkg/slice" - "github.com/cortezaproject/corteza-server/store" "math/big" "net/mail" "net/url" "strings" "time" + + "github.com/cortezaproject/corteza-server/compose/types" + "github.com/cortezaproject/corteza-server/pkg/expr" + "github.com/cortezaproject/corteza-server/pkg/slice" + "github.com/cortezaproject/corteza-server/store" ) // Validator package provides tooling to validate @@ -324,6 +325,10 @@ func (vldtr validator) vNumber(v *types.RecordValue, f *types.ModuleField, r *ty } func (vldtr validator) vRecord(ctx context.Context, s store.Storer, v *types.RecordValue, f *types.ModuleField, r *types.Record, m *types.Module) []types.RecordValueError { + if vldtr.recordRefCheckerFn == nil { + return nil + } + if ok, err := vldtr.recordRefCheckerFn(ctx, s, v, f, m); err != nil { return e2s(makeInternalErr(f, err)) } else if !ok { diff --git a/pkg/envoy/resource/compose_record_shaper.go b/pkg/envoy/resource/compose_record_shaper.go index e93653084..1eba32574 100644 --- a/pkg/envoy/resource/compose_record_shaper.go +++ b/pkg/envoy/resource/compose_record_shaper.go @@ -73,10 +73,14 @@ func (crt *composeRecordShaper) mapValues(ov map[string]string, fm MappingTplSet mx[m.Cell] = m } - for k, v := range ov { - if m, has := mx[k]; has { - nv[m.Field] = v - } else { + if len(mx) > 0 { + for k, v := range ov { + if m, has := mx[k]; has { + nv[m.Field] = v + } + } + } else { + for k, v := range ov { nv[k] = v } }