entc/gen: fix Go keywords conflicts when using enums (#276)

Co-authored-by: heavycharged <41610989+heavycharged@users.noreply.github.com>
This commit is contained in:
danforth
2020-01-09 17:28:05 +02:00
committed by Ariel Mashraki
parent b93958ebf4
commit faf5be3b28

View File

@@ -124,13 +124,14 @@ var (
}
{{ $name := $f.Validator -}}
// {{ $name }} is a validator for the "{{ $f.Name }}" field enum values. It is called by the builders before save.
func {{ $name }}({{ $f.Name }} {{ $enum }}) error {
switch {{ $f.Name }} {
{{ $arg := receiver $f.BuilderField }}
// {{ $name }} is a validator for the "{{ $arg }}" field enum values. It is called by the builders before save.
func {{ $name }}({{ $arg }} {{ $enum }}) error {
switch {{ $arg }} {
case {{ range $i, $e := $f.Enums }}{{ if ne $i 0 }},{{ end }}{{ $f.StructField }}{{ pascal $e }}{{ end }}:
return nil
default:
return fmt.Errorf("{{ $.Package }}: invalid enum value for {{ $f.Name }} field: %q", {{ $f.Name }})
return fmt.Errorf("{{ $.Package }}: invalid enum value for {{ $f.Name }} field: %q", {{ $arg }})
}
}
{{ end }}