// Code generated by protoc-gen-gotemplate {{- $file := .File}} package {{.File.Package}} import ( "moul.io/protoc-gen-gotemplate/examples/import/output/models/article" "moul.io/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 */}}