Update codegen for cleanup/less verbosity

This commit is contained in:
Tit Petric
2019-05-22 16:37:53 +02:00
parent 0611e4b9c3
commit 4c166d92c6
60 changed files with 779 additions and 1832 deletions
+17
View File
@@ -0,0 +1,17 @@
package handlers
import (
"net/http"
)
// Edit this file in `codegen/common/rest/handlers/util.go`;
// any changes under [service] will be overwritten by codegen.
func serveHTTP(value interface{}, w http.ResponseWriter, r *http.Request) bool {
switch fn := value.(type) {
case func(http.ResponseWriter, *http.Request):
fn(w, r)
return true
}
return false
}
+5 -10
View File
@@ -39,19 +39,14 @@ func New{name|expose}(h {name|expose}API) *{name|expose} {
resputil.JSON(w, err)
return
}
if value, err := h.{call.name|capitalize}(r.Context(), params); err != nil {
value, err := h.{call.name|capitalize}(r.Context(), params)
if err != nil {
logger.LogControllerError("{name|expose}.{call.name|capitalize}", r, err, params.Auditable())
resputil.JSON(w, err)
return
} else {
logger.LogControllerCall("{name|expose}.{call.name|capitalize}", r, params.Auditable())
switch fn := value.(type) {
case func(http.ResponseWriter, *http.Request):
fn(w, r)
return
}
}
logger.LogControllerCall("{name|expose}.{call.name|capitalize}", r, params.Auditable())
if !serveHTTP(value, w, r) {
resputil.JSON(w, value)
return
}
},
{/foreach}
+5 -10
View File
@@ -36,18 +36,14 @@ func New{name|expose}{call.name|capitalize}() *{name|expose}{call.name|capitaliz
func (r {name|expose}{call.name|capitalize}) Auditable() map[string]interface{} {
var out = map[string]interface{}{}
{foreach $call.parameters as $method => $params}{foreach $params as $param}
{if $param.sensitive}
{foreach $call.parameters as $method => $params}{foreach $params as $param}{if $param.sensitive}
out["{param.name}"] = "*masked*sensitive*data*"
{else}
{if $param.type === "*multipart.FileHeader"}
{elseif $param.type === "*multipart.FileHeader"}
out["{param.name}.size"] = r.{param.name|expose}.Size
out["{param.name}.filename"] = r.{param.name|expose}.Filename
{else}
{else}
out["{param.name}"] = r.{param.name|expose}
{/if}
{/if}
{/foreach}{/foreach}{newline}
{/if}{/foreach}{/foreach}{newline}
return out
}
@@ -104,8 +100,7 @@ func (r *{name|expose}{call.name|capitalize}) Fill(req *http.Request) (err error
if r.{param.name|expose}, err = {$parsers[$param.type]}(val); err != nil {
return err
}
{else}
r.{param.name|expose} = {if ($param.type !== "string")}{if isset($parsers[$param.type])}{$parsers[$param.type]}{else}{$param.type}{/if}(val){else}val{/if}{EOL}
{else} r.{param.name|expose} = {if ($param.type !== "string")}{if isset($parsers[$param.type])}{$parsers[$param.type]}{else}{$param.type}{/if}(val){else}val{/if}{EOL}
{/if}
}{/if}
{/foreach}