diff --git a/internal/config/convert/convert.go b/internal/config/convert/convert.go index 555b0f027c..2bd0550886 100644 --- a/internal/config/convert/convert.go +++ b/internal/config/convert/convert.go @@ -59,6 +59,9 @@ func gen(n *yaml.Node) (interface{}, error) { } + case yaml.AliasNode: + return gen(n.Alias) + default: return nil, fmt.Errorf("unknown yaml value: %s (%s)", n.Value, n.Tag) diff --git a/internal/config/convert/convert_test.go b/internal/config/convert/convert_test.go new file mode 100644 index 0000000000..11e62ba571 --- /dev/null +++ b/internal/config/convert/convert_test.go @@ -0,0 +1,47 @@ +package convert + +import ( + "testing" + + "gopkg.in/yaml.v3" +) + +const anchor = ` +sql: + - schema: query.sql + queries: query.sql + engine: postgresql + codegen: + - out: gateway/src/gateway/services/organization + plugin: py + options: &base-options + query_parameter_limit: 1 + package: gateway + output_models_file_name: null + emit_module: true + emit_generators: false + emit_async: true + + - schema: query.sql + queries: query.sql + engine: postgresql + codegen: + - out: gateway/src/gateway/services/project + plugin: py + options: *base-options +` + +type config struct { + SQL yaml.Node `yaml:"sql"` +} + +func TestAlias(t *testing.T) { + var a config + err := yaml.Unmarshal([]byte(anchor), &a) + if err != nil { + t.Fatal(err) + } + if _, err := gen(&a.SQL); err != nil { + t.Fatal(err) + } +}