4b9116a5dd
This function allows you to prefix your field of type message with what you defined in the option go_package. Moreover it handles message embedded. In this commit, I rename gometalinter gas option in gosec.
41 lines
1.6 KiB
Cheetah
41 lines
1.6 KiB
Cheetah
// Code generated by protoc-gen-gotemplate
|
|
{{- $file := .File}}
|
|
package {{.File.Package}}
|
|
|
|
import (
|
|
"github.com/moul/protoc-gen-gotemplate/examples/import/output/models/article"
|
|
"github.com/moul/protoc-gen-gotemplate/examples/import/output/models/common"
|
|
)
|
|
|
|
type Repository interface {
|
|
{{range $m := .Service.Method}}{{with $t := $m.InputType | getMessageType $.File}} {{$m.Name}}({{range $f := $t.Field}}{{$f.Name|lowerCamelCase}} {{$f| goTypeWithPackage }} {{end}}) ({{with $out := $m.OutputType | getMessageType $.File}}{{range $f := $out.Field}}{{$f | goTypeWithPackage}}, {{end}}{{end}} error){{end}}{{end}}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ------------------------- Public SDK -----------------------------
|
|
{{$pkg := "pb"}}
|
|
|
|
|
|
{{range $m := .Service.Method}}
|
|
{{with $t := $m.InputType | getMessageType $.File}}
|
|
{{if and (not $m.ServerStreaming) (not $m.ClientStreaming)}}
|
|
{{/* ----------------------------- nominal case ---------------------------- */}}
|
|
// {{$m.Name}} : {{$m | httpVerb}} {{$m | httpPath}}
|
|
func (sdk *Sdk) {{$m.Name}}(ctx context.Context, {{if $t.OneofDecl}} req *{{$pkg}}.{{$m.Name}}Request,{{else}}{{range $f := $t.Field}}
|
|
{{$f.Name|lowerCamelCase}} {{$f| goTypeWithGoPackage $.File}},{{end}}{{end}} token, requestID string)({{with $out := $m.OutputType | getMessageType $.File}}{{range $f := $out.Field}}{{$f.Name|lowerCamelCase}} {{$f | goTypeWithGoPackage $.File}}, {{end}}{{end}}err error) {
|
|
|
|
out := &{{$pkg}}.{{$m.Name}}Response{}
|
|
_ = out
|
|
|
|
{{with $out := $m.OutputType | getMessageType $.File}}
|
|
return {{range $f := $out.Field}}out.{{$f.Name|camelCase}}, {{end}}nil
|
|
{{end}} {{/* with */}}
|
|
}
|
|
|
|
{{end}} {{/* streaming ifs */}}
|
|
{{end}}{{end}} {{/* range with */}} |