mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-15 18:23:08 +03:00
66 lines
1.4 KiB
Plaintext
66 lines
1.4 KiB
Plaintext
// Code generated by github.com/vektah/gqlgen, DO NOT EDIT.
|
|
|
|
package {{ .PackageName }}
|
|
|
|
import (
|
|
{{- range $import := .Imports }}
|
|
{{- $import.Write }}
|
|
{{ end }}
|
|
)
|
|
|
|
{{ range $model := .Models }}
|
|
{{- if .IsInterface }}
|
|
type {{.GoType}} interface {}
|
|
{{- else }}
|
|
type {{.GoType}} struct {
|
|
{{- range $field := .Fields }}
|
|
{{- if $field.GoVarName }}
|
|
{{ $field.GoVarName }} {{$field.Signature}} `json:"{{$field.GQLName}}"`
|
|
{{- else }}
|
|
{{ $field.GoFKName }} {{$field.GoFKType}}
|
|
{{- end }}
|
|
{{- end }}
|
|
}
|
|
{{- end }}
|
|
{{- end}}
|
|
|
|
{{ range $enum := .Enums }}
|
|
type {{.GoType}} string
|
|
const (
|
|
{{ range $value := .Values -}}
|
|
{{with .Description}} {{.|prefixLines "// "}} {{end}}
|
|
{{$enum.GoType}}{{ .Name|toCamel }} {{$enum.GoType}} = {{.Name|quote}}
|
|
{{- end }}
|
|
)
|
|
|
|
func (e {{.GoType}}) IsValid() bool {
|
|
switch e {
|
|
case {{ range $index, $element := .Values}}{{if $index}},{{end}}{{ $enum.GoType }}{{ $element.Name|toCamel }}{{end}}:
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (e {{.GoType}}) String() string {
|
|
return string(e)
|
|
}
|
|
|
|
func (e *{{.GoType}}) UnmarshalGQL(v interface{}) error {
|
|
str, ok := v.(string)
|
|
if !ok {
|
|
return fmt.Errorf("enums must be strings")
|
|
}
|
|
|
|
*e = {{.GoType}}(str)
|
|
if !e.IsValid() {
|
|
return fmt.Errorf("%s is not a valid {{.GQLType}}", str)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (e {{.GoType}}) MarshalGQL(w io.Writer) {
|
|
fmt.Fprint(w, strconv.Quote(e.String()))
|
|
}
|
|
|
|
{{- end }}
|