diff --git a/codegen.sh b/codegen.sh index 8a957f7df..bd662eb54 100755 --- a/codegen.sh +++ b/codegen.sh @@ -144,6 +144,7 @@ function specs { if [ -d "codegen/$SRC" ]; then yellow "> README $SRC" codegen/codegen.php $SRC + rsync -a codegen/common/ $SRC/ green "OK" fi done diff --git a/codegen/common/rest/handlers/util.go b/codegen/common/rest/handlers/util.go new file mode 100644 index 000000000..287c61d5d --- /dev/null +++ b/codegen/common/rest/handlers/util.go @@ -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 +} diff --git a/codegen/templates/http_handlers_inline.tpl b/codegen/templates/http_handlers_inline.tpl index 6dc78e393..45a6b3055 100644 --- a/codegen/templates/http_handlers_inline.tpl +++ b/codegen/templates/http_handlers_inline.tpl @@ -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} diff --git a/codegen/templates/http_request_inline.tpl b/codegen/templates/http_request_inline.tpl index 659296646..d2a81dabd 100644 --- a/codegen/templates/http_request_inline.tpl +++ b/codegen/templates/http_request_inline.tpl @@ -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} diff --git a/compose/rest/handlers/attachment.go b/compose/rest/handlers/attachment.go index d37328280..5aa3ca824 100644 --- a/compose/rest/handlers/attachment.go +++ b/compose/rest/handlers/attachment.go @@ -55,19 +55,14 @@ func NewAttachment(h AttachmentAPI) *Attachment { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Attachment.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Attachment.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Attachment.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewAttachment(h AttachmentAPI) *Attachment { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Attachment.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Attachment.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Attachment.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewAttachment(h AttachmentAPI) *Attachment { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Attachment.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Attachment.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Attachment.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Original: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewAttachment(h AttachmentAPI) *Attachment { resputil.JSON(w, err) return } - if value, err := h.Original(r.Context(), params); err != nil { + value, err := h.Original(r.Context(), params) + if err != nil { logger.LogControllerError("Attachment.Original", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Attachment.Original", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Attachment.Original", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Preview: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewAttachment(h AttachmentAPI) *Attachment { resputil.JSON(w, err) return } - if value, err := h.Preview(r.Context(), params); err != nil { + value, err := h.Preview(r.Context(), params) + if err != nil { logger.LogControllerError("Attachment.Preview", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Attachment.Preview", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Attachment.Preview", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/compose/rest/handlers/chart.go b/compose/rest/handlers/chart.go index 5dccacc58..3514b9683 100644 --- a/compose/rest/handlers/chart.go +++ b/compose/rest/handlers/chart.go @@ -55,19 +55,14 @@ func NewChart(h ChartAPI) *Chart { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Chart.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Chart.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Chart.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewChart(h ChartAPI) *Chart { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Chart.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Chart.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Chart.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewChart(h ChartAPI) *Chart { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Chart.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Chart.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Chart.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewChart(h ChartAPI) *Chart { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Chart.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Chart.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Chart.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewChart(h ChartAPI) *Chart { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Chart.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Chart.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Chart.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/compose/rest/handlers/module.go b/compose/rest/handlers/module.go index f494a4876..8144a177a 100644 --- a/compose/rest/handlers/module.go +++ b/compose/rest/handlers/module.go @@ -55,19 +55,14 @@ func NewModule(h ModuleAPI) *Module { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Module.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Module.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Module.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewModule(h ModuleAPI) *Module { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Module.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Module.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Module.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewModule(h ModuleAPI) *Module { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Module.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Module.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Module.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewModule(h ModuleAPI) *Module { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Module.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Module.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Module.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewModule(h ModuleAPI) *Module { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Module.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Module.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Module.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/compose/rest/handlers/namespace.go b/compose/rest/handlers/namespace.go index 769c4f096..ecfeb75d1 100644 --- a/compose/rest/handlers/namespace.go +++ b/compose/rest/handlers/namespace.go @@ -55,19 +55,14 @@ func NewNamespace(h NamespaceAPI) *Namespace { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Namespace.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Namespace.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Namespace.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewNamespace(h NamespaceAPI) *Namespace { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Namespace.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Namespace.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Namespace.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewNamespace(h NamespaceAPI) *Namespace { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Namespace.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Namespace.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Namespace.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewNamespace(h NamespaceAPI) *Namespace { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Namespace.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Namespace.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Namespace.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewNamespace(h NamespaceAPI) *Namespace { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Namespace.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Namespace.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Namespace.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/compose/rest/handlers/notification.go b/compose/rest/handlers/notification.go index 52e89f16e..2dfe375fa 100644 --- a/compose/rest/handlers/notification.go +++ b/compose/rest/handlers/notification.go @@ -47,19 +47,14 @@ func NewNotification(h NotificationAPI) *Notification { resputil.JSON(w, err) return } - if value, err := h.EmailSend(r.Context(), params); err != nil { + value, err := h.EmailSend(r.Context(), params) + if err != nil { logger.LogControllerError("Notification.EmailSend", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Notification.EmailSend", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Notification.EmailSend", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/compose/rest/handlers/page.go b/compose/rest/handlers/page.go index c5373d6e0..bf9b991c9 100644 --- a/compose/rest/handlers/page.go +++ b/compose/rest/handlers/page.go @@ -61,19 +61,14 @@ func NewPage(h PageAPI) *Page { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Page.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Page.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Page.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -84,19 +79,14 @@ func NewPage(h PageAPI) *Page { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Page.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Page.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Page.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -107,19 +97,14 @@ func NewPage(h PageAPI) *Page { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Page.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Page.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Page.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Tree: func(w http.ResponseWriter, r *http.Request) { @@ -130,19 +115,14 @@ func NewPage(h PageAPI) *Page { resputil.JSON(w, err) return } - if value, err := h.Tree(r.Context(), params); err != nil { + value, err := h.Tree(r.Context(), params) + if err != nil { logger.LogControllerError("Page.Tree", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Page.Tree", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Page.Tree", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -153,19 +133,14 @@ func NewPage(h PageAPI) *Page { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Page.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Page.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Page.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Reorder: func(w http.ResponseWriter, r *http.Request) { @@ -176,19 +151,14 @@ func NewPage(h PageAPI) *Page { resputil.JSON(w, err) return } - if value, err := h.Reorder(r.Context(), params); err != nil { + value, err := h.Reorder(r.Context(), params) + if err != nil { logger.LogControllerError("Page.Reorder", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Page.Reorder", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Page.Reorder", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -199,19 +169,14 @@ func NewPage(h PageAPI) *Page { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Page.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Page.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Page.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Upload: func(w http.ResponseWriter, r *http.Request) { @@ -222,19 +187,14 @@ func NewPage(h PageAPI) *Page { resputil.JSON(w, err) return } - if value, err := h.Upload(r.Context(), params); err != nil { + value, err := h.Upload(r.Context(), params) + if err != nil { logger.LogControllerError("Page.Upload", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Page.Upload", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Page.Upload", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/compose/rest/handlers/permissions.go b/compose/rest/handlers/permissions.go index e0c5a8531..ec3d51177 100644 --- a/compose/rest/handlers/permissions.go +++ b/compose/rest/handlers/permissions.go @@ -55,19 +55,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Effective: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Effective(r.Context(), params); err != nil { + value, err := h.Effective(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Effective", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Effective", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Effective", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/compose/rest/handlers/record.go b/compose/rest/handlers/record.go index a06992d28..2d83c51ff 100644 --- a/compose/rest/handlers/record.go +++ b/compose/rest/handlers/record.go @@ -59,19 +59,14 @@ func NewRecord(h RecordAPI) *Record { resputil.JSON(w, err) return } - if value, err := h.Report(r.Context(), params); err != nil { + value, err := h.Report(r.Context(), params) + if err != nil { logger.LogControllerError("Record.Report", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Record.Report", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Record.Report", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, List: func(w http.ResponseWriter, r *http.Request) { @@ -82,19 +77,14 @@ func NewRecord(h RecordAPI) *Record { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Record.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Record.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Record.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -105,19 +95,14 @@ func NewRecord(h RecordAPI) *Record { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Record.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Record.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Record.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -128,19 +113,14 @@ func NewRecord(h RecordAPI) *Record { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Record.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Record.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Record.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -151,19 +131,14 @@ func NewRecord(h RecordAPI) *Record { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Record.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Record.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Record.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -174,19 +149,14 @@ func NewRecord(h RecordAPI) *Record { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Record.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Record.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Record.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Upload: func(w http.ResponseWriter, r *http.Request) { @@ -197,19 +167,14 @@ func NewRecord(h RecordAPI) *Record { resputil.JSON(w, err) return } - if value, err := h.Upload(r.Context(), params); err != nil { + value, err := h.Upload(r.Context(), params) + if err != nil { logger.LogControllerError("Record.Upload", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Record.Upload", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Record.Upload", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/compose/rest/handlers/trigger.go b/compose/rest/handlers/trigger.go index af3e0be50..e09b26078 100644 --- a/compose/rest/handlers/trigger.go +++ b/compose/rest/handlers/trigger.go @@ -55,19 +55,14 @@ func NewTrigger(h TriggerAPI) *Trigger { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Trigger.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Trigger.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Trigger.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewTrigger(h TriggerAPI) *Trigger { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Trigger.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Trigger.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Trigger.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewTrigger(h TriggerAPI) *Trigger { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Trigger.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Trigger.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Trigger.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewTrigger(h TriggerAPI) *Trigger { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Trigger.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Trigger.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Trigger.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewTrigger(h TriggerAPI) *Trigger { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Trigger.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Trigger.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Trigger.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/compose/rest/handlers/util.go b/compose/rest/handlers/util.go new file mode 100644 index 000000000..287c61d5d --- /dev/null +++ b/compose/rest/handlers/util.go @@ -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 +} diff --git a/compose/rest/request/attachment.go b/compose/rest/request/attachment.go index 7b1269dc4..6e9b758cc 100644 --- a/compose/rest/request/attachment.go +++ b/compose/rest/request/attachment.go @@ -52,23 +52,14 @@ func (r AttachmentList) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["pageID"] = r.PageID - out["moduleID"] = r.ModuleID - out["recordID"] = r.RecordID - out["fieldName"] = r.FieldName - out["page"] = r.Page - out["perPage"] = r.PerPage - out["sign"] = r.Sign - out["userID"] = r.UserID - out["kind"] = r.Kind - out["namespaceID"] = r.NamespaceID return out @@ -102,35 +93,27 @@ func (r *AttachmentList) Fill(req *http.Request) (err error) { } if val, ok := get["pageID"]; ok { - r.PageID = parseUInt64(val) } if val, ok := get["moduleID"]; ok { - r.ModuleID = parseUInt64(val) } if val, ok := get["recordID"]; ok { - r.RecordID = parseUInt64(val) } if val, ok := get["fieldName"]; ok { - r.FieldName = val } if val, ok := get["page"]; ok { - r.Page = parseUint(val) } if val, ok := get["perPage"]; ok { - r.PerPage = parseUint(val) } if val, ok := get["sign"]; ok { - r.Sign = val } if val, ok := get["userID"]; ok { - r.UserID = parseUInt64(val) } r.Kind = chi.URLParam(req, "kind") @@ -158,13 +141,9 @@ func (r AttachmentRead) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["attachmentID"] = r.AttachmentID - out["kind"] = r.Kind - out["namespaceID"] = r.NamespaceID - out["sign"] = r.Sign - out["userID"] = r.UserID return out @@ -201,11 +180,9 @@ func (r *AttachmentRead) Fill(req *http.Request) (err error) { r.Kind = chi.URLParam(req, "kind") r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) if val, ok := get["sign"]; ok { - r.Sign = val } if val, ok := get["userID"]; ok { - r.UserID = parseUInt64(val) } @@ -231,13 +208,9 @@ func (r AttachmentDelete) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["attachmentID"] = r.AttachmentID - out["kind"] = r.Kind - out["namespaceID"] = r.NamespaceID - out["sign"] = r.Sign - out["userID"] = r.UserID return out @@ -274,11 +247,9 @@ func (r *AttachmentDelete) Fill(req *http.Request) (err error) { r.Kind = chi.URLParam(req, "kind") r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) if val, ok := get["sign"]; ok { - r.Sign = val } if val, ok := get["userID"]; ok { - r.UserID = parseUInt64(val) } @@ -306,17 +277,11 @@ func (r AttachmentOriginal) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["download"] = r.Download - out["sign"] = r.Sign - out["userID"] = r.UserID - out["attachmentID"] = r.AttachmentID - out["name"] = r.Name - out["kind"] = r.Kind - out["namespaceID"] = r.NamespaceID return out @@ -350,15 +315,12 @@ func (r *AttachmentOriginal) Fill(req *http.Request) (err error) { } if val, ok := get["download"]; ok { - r.Download = parseBool(val) } if val, ok := get["sign"]; ok { - r.Sign = val } if val, ok := get["userID"]; ok { - r.UserID = parseUInt64(val) } r.AttachmentID = parseUInt64(chi.URLParam(req, "attachmentID")) @@ -389,15 +351,10 @@ func (r AttachmentPreview) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["attachmentID"] = r.AttachmentID - out["ext"] = r.Ext - out["kind"] = r.Kind - out["namespaceID"] = r.NamespaceID - out["sign"] = r.Sign - out["userID"] = r.UserID return out @@ -435,11 +392,9 @@ func (r *AttachmentPreview) Fill(req *http.Request) (err error) { r.Kind = chi.URLParam(req, "kind") r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) if val, ok := get["sign"]; ok { - r.Sign = val } if val, ok := get["userID"]; ok { - r.UserID = parseUInt64(val) } diff --git a/compose/rest/request/chart.go b/compose/rest/request/chart.go index f56207fe8..39499a94a 100644 --- a/compose/rest/request/chart.go +++ b/compose/rest/request/chart.go @@ -49,11 +49,8 @@ func (r ChartList) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["query"] = r.Query - out["page"] = r.Page - out["perPage"] = r.PerPage - out["namespaceID"] = r.NamespaceID return out @@ -87,15 +84,12 @@ func (r *ChartList) Fill(req *http.Request) (err error) { } if val, ok := get["query"]; ok { - r.Query = val } if val, ok := get["page"]; ok { - r.Page = parseUint(val) } if val, ok := get["perPage"]; ok { - r.PerPage = parseUint(val) } r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) @@ -120,9 +114,7 @@ func (r ChartCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["config"] = r.Config - out["name"] = r.Name - out["namespaceID"] = r.NamespaceID return out @@ -162,7 +154,6 @@ func (r *ChartCreate) Fill(req *http.Request) (err error) { } } if val, ok := post["name"]; ok { - r.Name = val } r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) @@ -186,7 +177,6 @@ func (r ChartRead) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["chartID"] = r.ChartID - out["namespaceID"] = r.NamespaceID return out @@ -244,13 +234,9 @@ func (r ChartUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["chartID"] = r.ChartID - out["namespaceID"] = r.NamespaceID - out["config"] = r.Config - out["name"] = r.Name - out["updatedAt"] = r.UpdatedAt return out @@ -292,7 +278,6 @@ func (r *ChartUpdate) Fill(req *http.Request) (err error) { } } if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["updatedAt"]; ok { @@ -321,7 +306,6 @@ func (r ChartDelete) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["chartID"] = r.ChartID - out["namespaceID"] = r.NamespaceID return out diff --git a/compose/rest/request/module.go b/compose/rest/request/module.go index 770cac3fe..7a6a4263b 100644 --- a/compose/rest/request/module.go +++ b/compose/rest/request/module.go @@ -50,11 +50,8 @@ func (r ModuleList) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["query"] = r.Query - out["page"] = r.Page - out["perPage"] = r.PerPage - out["namespaceID"] = r.NamespaceID return out @@ -88,15 +85,12 @@ func (r *ModuleList) Fill(req *http.Request) (err error) { } if val, ok := get["query"]; ok { - r.Query = val } if val, ok := get["page"]; ok { - r.Page = parseUint(val) } if val, ok := get["perPage"]; ok { - r.PerPage = parseUint(val) } r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) @@ -122,11 +116,8 @@ func (r ModuleCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["name"] = r.Name - out["fields"] = r.Fields - out["meta"] = r.Meta - out["namespaceID"] = r.NamespaceID return out @@ -160,7 +151,6 @@ func (r *ModuleCreate) Fill(req *http.Request) (err error) { } if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["meta"]; ok { @@ -190,7 +180,6 @@ func (r ModuleRead) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["moduleID"] = r.ModuleID - out["namespaceID"] = r.NamespaceID return out @@ -249,15 +238,10 @@ func (r ModuleUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["moduleID"] = r.ModuleID - out["namespaceID"] = r.NamespaceID - out["name"] = r.Name - out["fields"] = r.Fields - out["meta"] = r.Meta - out["updatedAt"] = r.UpdatedAt return out @@ -293,7 +277,6 @@ func (r *ModuleUpdate) Fill(req *http.Request) (err error) { r.ModuleID = parseUInt64(chi.URLParam(req, "moduleID")) r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["meta"]; ok { @@ -328,7 +311,6 @@ func (r ModuleDelete) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["moduleID"] = r.ModuleID - out["namespaceID"] = r.NamespaceID return out diff --git a/compose/rest/request/namespace.go b/compose/rest/request/namespace.go index 9dee9c68f..62b3e417f 100644 --- a/compose/rest/request/namespace.go +++ b/compose/rest/request/namespace.go @@ -48,9 +48,7 @@ func (r NamespaceList) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["query"] = r.Query - out["page"] = r.Page - out["perPage"] = r.PerPage return out @@ -84,15 +82,12 @@ func (r *NamespaceList) Fill(req *http.Request) (err error) { } if val, ok := get["query"]; ok { - r.Query = val } if val, ok := get["page"]; ok { - r.Page = parseUint(val) } if val, ok := get["perPage"]; ok { - r.PerPage = parseUint(val) } @@ -117,11 +112,8 @@ func (r NamespaceCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["name"] = r.Name - out["slug"] = r.Slug - out["enabled"] = r.Enabled - out["meta"] = r.Meta return out @@ -155,15 +147,12 @@ func (r *NamespaceCreate) Fill(req *http.Request) (err error) { } if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["slug"]; ok { - r.Slug = val } if val, ok := post["enabled"]; ok { - r.Enabled = parseBool(val) } if val, ok := post["meta"]; ok { @@ -247,15 +236,10 @@ func (r NamespaceUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["namespaceID"] = r.NamespaceID - out["name"] = r.Name - out["slug"] = r.Slug - out["enabled"] = r.Enabled - out["meta"] = r.Meta - out["updatedAt"] = r.UpdatedAt return out @@ -290,15 +274,12 @@ func (r *NamespaceUpdate) Fill(req *http.Request) (err error) { r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["slug"]; ok { - r.Slug = val } if val, ok := post["enabled"]; ok { - r.Enabled = parseBool(val) } if val, ok := post["meta"]; ok { diff --git a/compose/rest/request/notification.go b/compose/rest/request/notification.go index e92bacfec..c529a32a8 100644 --- a/compose/rest/request/notification.go +++ b/compose/rest/request/notification.go @@ -49,13 +49,9 @@ func (r NotificationEmailSend) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["to"] = r.To - out["cc"] = r.Cc - out["replyTo"] = r.ReplyTo - out["subject "] = r.Subject - out["content"] = r.Content return out @@ -89,11 +85,9 @@ func (r *NotificationEmailSend) Fill(req *http.Request) (err error) { } if val, ok := post["replyTo"]; ok { - r.ReplyTo = val } if val, ok := post["subject "]; ok { - r.Subject = val } if val, ok := post["content"]; ok { diff --git a/compose/rest/request/page.go b/compose/rest/request/page.go index 535877c1d..09b0e9ccb 100644 --- a/compose/rest/request/page.go +++ b/compose/rest/request/page.go @@ -49,13 +49,9 @@ func (r PageList) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["selfID"] = r.SelfID - out["query"] = r.Query - out["page"] = r.Page - out["perPage"] = r.PerPage - out["namespaceID"] = r.NamespaceID return out @@ -89,19 +85,15 @@ func (r *PageList) Fill(req *http.Request) (err error) { } if val, ok := get["selfID"]; ok { - r.SelfID = parseUInt64(val) } if val, ok := get["query"]; ok { - r.Query = val } if val, ok := get["page"]; ok { - r.Page = parseUint(val) } if val, ok := get["perPage"]; ok { - r.PerPage = parseUint(val) } r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) @@ -130,17 +122,11 @@ func (r PageCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["selfID"] = r.SelfID - out["moduleID"] = r.ModuleID - out["title"] = r.Title - out["description"] = r.Description - out["visible"] = r.Visible - out["blocks"] = r.Blocks - out["namespaceID"] = r.NamespaceID return out @@ -174,23 +160,18 @@ func (r *PageCreate) Fill(req *http.Request) (err error) { } if val, ok := post["selfID"]; ok { - r.SelfID = parseUInt64(val) } if val, ok := post["moduleID"]; ok { - r.ModuleID = parseUInt64(val) } if val, ok := post["title"]; ok { - r.Title = val } if val, ok := post["description"]; ok { - r.Description = val } if val, ok := post["visible"]; ok { - r.Visible = parseBool(val) } if val, ok := post["blocks"]; ok { @@ -220,7 +201,6 @@ func (r PageRead) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["pageID"] = r.PageID - out["namespaceID"] = r.NamespaceID return out @@ -332,19 +312,12 @@ func (r PageUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["pageID"] = r.PageID - out["namespaceID"] = r.NamespaceID - out["selfID"] = r.SelfID - out["moduleID"] = r.ModuleID - out["title"] = r.Title - out["description"] = r.Description - out["visible"] = r.Visible - out["blocks"] = r.Blocks return out @@ -380,23 +353,18 @@ func (r *PageUpdate) Fill(req *http.Request) (err error) { r.PageID = parseUInt64(chi.URLParam(req, "pageID")) r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) if val, ok := post["selfID"]; ok { - r.SelfID = parseUInt64(val) } if val, ok := post["moduleID"]; ok { - r.ModuleID = parseUInt64(val) } if val, ok := post["title"]; ok { - r.Title = val } if val, ok := post["description"]; ok { - r.Description = val } if val, ok := post["visible"]; ok { - r.Visible = parseBool(val) } if val, ok := post["blocks"]; ok { @@ -426,9 +394,7 @@ func (r PageReorder) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["selfID"] = r.SelfID - out["namespaceID"] = r.NamespaceID - out["pageIDs"] = r.PageIDs return out @@ -483,7 +449,6 @@ func (r PageDelete) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["pageID"] = r.PageID - out["namespaceID"] = r.NamespaceID return out @@ -539,9 +504,7 @@ func (r PageUpload) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["pageID"] = r.PageID - out["namespaceID"] = r.NamespaceID - out["upload.size"] = r.Upload.Size out["upload.filename"] = r.Upload.Filename diff --git a/compose/rest/request/permissions.go b/compose/rest/request/permissions.go index 8a9ff4250..e270f9a08 100644 --- a/compose/rest/request/permissions.go +++ b/compose/rest/request/permissions.go @@ -123,7 +123,6 @@ func (r *PermissionsEffective) Fill(req *http.Request) (err error) { } if val, ok := get["resource"]; ok { - r.Resource = val } @@ -248,7 +247,6 @@ func (r PermissionsUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["roleID"] = r.RoleID - out["rules"] = r.Rules return out diff --git a/compose/rest/request/record.go b/compose/rest/request/record.go index 07503dc3a..ee42a7e46 100644 --- a/compose/rest/request/record.go +++ b/compose/rest/request/record.go @@ -49,13 +49,9 @@ func (r RecordReport) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["metrics"] = r.Metrics - out["dimensions"] = r.Dimensions - out["filter"] = r.Filter - out["namespaceID"] = r.NamespaceID - out["moduleID"] = r.ModuleID return out @@ -89,15 +85,12 @@ func (r *RecordReport) Fill(req *http.Request) (err error) { } if val, ok := get["metrics"]; ok { - r.Metrics = val } if val, ok := get["dimensions"]; ok { - r.Dimensions = val } if val, ok := get["filter"]; ok { - r.Filter = val } r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) @@ -126,15 +119,10 @@ func (r RecordList) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["filter"] = r.Filter - out["page"] = r.Page - out["perPage"] = r.PerPage - out["sort"] = r.Sort - out["namespaceID"] = r.NamespaceID - out["moduleID"] = r.ModuleID return out @@ -168,19 +156,15 @@ func (r *RecordList) Fill(req *http.Request) (err error) { } if val, ok := get["filter"]; ok { - r.Filter = val } if val, ok := get["page"]; ok { - r.Page = parseUint(val) } if val, ok := get["perPage"]; ok { - r.PerPage = parseUint(val) } if val, ok := get["sort"]; ok { - r.Sort = val } r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) @@ -206,9 +190,7 @@ func (r RecordCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["values"] = r.Values - out["namespaceID"] = r.NamespaceID - out["moduleID"] = r.ModuleID return out @@ -264,9 +246,7 @@ func (r RecordRead) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["recordID"] = r.RecordID - out["namespaceID"] = r.NamespaceID - out["moduleID"] = r.ModuleID return out @@ -324,11 +304,8 @@ func (r RecordUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["recordID"] = r.RecordID - out["namespaceID"] = r.NamespaceID - out["moduleID"] = r.ModuleID - out["values"] = r.Values return out @@ -385,9 +362,7 @@ func (r RecordDelete) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["recordID"] = r.RecordID - out["namespaceID"] = r.NamespaceID - out["moduleID"] = r.ModuleID return out @@ -446,13 +421,9 @@ func (r RecordUpload) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["recordID"] = r.RecordID - out["fieldName"] = r.FieldName - out["namespaceID"] = r.NamespaceID - out["moduleID"] = r.ModuleID - out["upload.size"] = r.Upload.Size out["upload.filename"] = r.Upload.Filename diff --git a/compose/rest/request/trigger.go b/compose/rest/request/trigger.go index 75e1b4040..9e213823c 100644 --- a/compose/rest/request/trigger.go +++ b/compose/rest/request/trigger.go @@ -49,13 +49,9 @@ func (r TriggerList) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["moduleID"] = r.ModuleID - out["query"] = r.Query - out["page"] = r.Page - out["perPage"] = r.PerPage - out["namespaceID"] = r.NamespaceID return out @@ -89,19 +85,15 @@ func (r *TriggerList) Fill(req *http.Request) (err error) { } if val, ok := get["moduleID"]; ok { - r.ModuleID = parseUInt64(val) } if val, ok := get["query"]; ok { - r.Query = val } if val, ok := get["page"]; ok { - r.Page = parseUint(val) } if val, ok := get["perPage"]; ok { - r.PerPage = parseUint(val) } r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) @@ -130,17 +122,11 @@ func (r TriggerCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["moduleID"] = r.ModuleID - out["name"] = r.Name - out["actions"] = r.Actions - out["enabled"] = r.Enabled - out["source"] = r.Source - out["updatedAt"] = r.UpdatedAt - out["namespaceID"] = r.NamespaceID return out @@ -174,19 +160,15 @@ func (r *TriggerCreate) Fill(req *http.Request) (err error) { } if val, ok := post["moduleID"]; ok { - r.ModuleID = parseUInt64(val) } if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["enabled"]; ok { - r.Enabled = parseBool(val) } if val, ok := post["source"]; ok { - r.Source = val } if val, ok := post["updatedAt"]; ok { @@ -216,7 +198,6 @@ func (r TriggerRead) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["triggerID"] = r.TriggerID - out["namespaceID"] = r.NamespaceID return out @@ -276,17 +257,11 @@ func (r TriggerUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["triggerID"] = r.TriggerID - out["namespaceID"] = r.NamespaceID - out["moduleID"] = r.ModuleID - out["name"] = r.Name - out["actions"] = r.Actions - out["enabled"] = r.Enabled - out["source"] = r.Source return out @@ -322,19 +297,15 @@ func (r *TriggerUpdate) Fill(req *http.Request) (err error) { r.TriggerID = parseUInt64(chi.URLParam(req, "triggerID")) r.NamespaceID = parseUInt64(chi.URLParam(req, "namespaceID")) if val, ok := post["moduleID"]; ok { - r.ModuleID = parseUInt64(val) } if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["enabled"]; ok { - r.Enabled = parseBool(val) } if val, ok := post["source"]; ok { - r.Source = val } @@ -357,7 +328,6 @@ func (r TriggerDelete) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["triggerID"] = r.TriggerID - out["namespaceID"] = r.NamespaceID return out diff --git a/messaging/rest/handlers/activity.go b/messaging/rest/handlers/activity.go index 74119f3eb..5670db0a1 100644 --- a/messaging/rest/handlers/activity.go +++ b/messaging/rest/handlers/activity.go @@ -47,19 +47,14 @@ func NewActivity(h ActivityAPI) *Activity { resputil.JSON(w, err) return } - if value, err := h.Send(r.Context(), params); err != nil { + value, err := h.Send(r.Context(), params) + if err != nil { logger.LogControllerError("Activity.Send", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Activity.Send", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Activity.Send", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/handlers/attachment.go b/messaging/rest/handlers/attachment.go index 338213dbc..4e9adb0f6 100644 --- a/messaging/rest/handlers/attachment.go +++ b/messaging/rest/handlers/attachment.go @@ -49,19 +49,14 @@ func NewAttachment(h AttachmentAPI) *Attachment { resputil.JSON(w, err) return } - if value, err := h.Original(r.Context(), params); err != nil { + value, err := h.Original(r.Context(), params) + if err != nil { logger.LogControllerError("Attachment.Original", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Attachment.Original", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Attachment.Original", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Preview: func(w http.ResponseWriter, r *http.Request) { @@ -72,19 +67,14 @@ func NewAttachment(h AttachmentAPI) *Attachment { resputil.JSON(w, err) return } - if value, err := h.Preview(r.Context(), params); err != nil { + value, err := h.Preview(r.Context(), params) + if err != nil { logger.LogControllerError("Attachment.Preview", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Attachment.Preview", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Attachment.Preview", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/handlers/channel.go b/messaging/rest/handlers/channel.go index e438d1ad1..5b9170288 100644 --- a/messaging/rest/handlers/channel.go +++ b/messaging/rest/handlers/channel.go @@ -69,19 +69,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -92,19 +87,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -115,19 +105,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, State: func(w http.ResponseWriter, r *http.Request) { @@ -138,19 +123,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.State(r.Context(), params); err != nil { + value, err := h.State(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.State", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.State", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.State", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, SetFlag: func(w http.ResponseWriter, r *http.Request) { @@ -161,19 +141,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.SetFlag(r.Context(), params); err != nil { + value, err := h.SetFlag(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.SetFlag", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.SetFlag", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.SetFlag", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, RemoveFlag: func(w http.ResponseWriter, r *http.Request) { @@ -184,19 +159,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.RemoveFlag(r.Context(), params); err != nil { + value, err := h.RemoveFlag(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.RemoveFlag", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.RemoveFlag", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.RemoveFlag", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -207,19 +177,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Members: func(w http.ResponseWriter, r *http.Request) { @@ -230,19 +195,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.Members(r.Context(), params); err != nil { + value, err := h.Members(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.Members", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.Members", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.Members", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Join: func(w http.ResponseWriter, r *http.Request) { @@ -253,19 +213,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.Join(r.Context(), params); err != nil { + value, err := h.Join(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.Join", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.Join", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.Join", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Part: func(w http.ResponseWriter, r *http.Request) { @@ -276,19 +231,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.Part(r.Context(), params); err != nil { + value, err := h.Part(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.Part", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.Part", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.Part", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Invite: func(w http.ResponseWriter, r *http.Request) { @@ -299,19 +249,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.Invite(r.Context(), params); err != nil { + value, err := h.Invite(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.Invite", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.Invite", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.Invite", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Attach: func(w http.ResponseWriter, r *http.Request) { @@ -322,19 +267,14 @@ func NewChannel(h ChannelAPI) *Channel { resputil.JSON(w, err) return } - if value, err := h.Attach(r.Context(), params); err != nil { + value, err := h.Attach(r.Context(), params) + if err != nil { logger.LogControllerError("Channel.Attach", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Channel.Attach", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Channel.Attach", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/handlers/commands.go b/messaging/rest/handlers/commands.go index d3fb3057c..caeaeedfe 100644 --- a/messaging/rest/handlers/commands.go +++ b/messaging/rest/handlers/commands.go @@ -47,19 +47,14 @@ func NewCommands(h CommandsAPI) *Commands { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Commands.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Commands.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Commands.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/handlers/message.go b/messaging/rest/handlers/message.go index 1a8c63124..12bb87d10 100644 --- a/messaging/rest/handlers/message.go +++ b/messaging/rest/handlers/message.go @@ -69,19 +69,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Message.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, ExecuteCommand: func(w http.ResponseWriter, r *http.Request) { @@ -92,19 +87,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.ExecuteCommand(r.Context(), params); err != nil { + value, err := h.ExecuteCommand(r.Context(), params) + if err != nil { logger.LogControllerError("Message.ExecuteCommand", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.ExecuteCommand", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.ExecuteCommand", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, MarkAsRead: func(w http.ResponseWriter, r *http.Request) { @@ -115,19 +105,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.MarkAsRead(r.Context(), params); err != nil { + value, err := h.MarkAsRead(r.Context(), params) + if err != nil { logger.LogControllerError("Message.MarkAsRead", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.MarkAsRead", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.MarkAsRead", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Edit: func(w http.ResponseWriter, r *http.Request) { @@ -138,19 +123,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.Edit(r.Context(), params); err != nil { + value, err := h.Edit(r.Context(), params) + if err != nil { logger.LogControllerError("Message.Edit", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.Edit", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.Edit", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -161,19 +141,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Message.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, ReplyCreate: func(w http.ResponseWriter, r *http.Request) { @@ -184,19 +159,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.ReplyCreate(r.Context(), params); err != nil { + value, err := h.ReplyCreate(r.Context(), params) + if err != nil { logger.LogControllerError("Message.ReplyCreate", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.ReplyCreate", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.ReplyCreate", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, PinCreate: func(w http.ResponseWriter, r *http.Request) { @@ -207,19 +177,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.PinCreate(r.Context(), params); err != nil { + value, err := h.PinCreate(r.Context(), params) + if err != nil { logger.LogControllerError("Message.PinCreate", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.PinCreate", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.PinCreate", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, PinRemove: func(w http.ResponseWriter, r *http.Request) { @@ -230,19 +195,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.PinRemove(r.Context(), params); err != nil { + value, err := h.PinRemove(r.Context(), params) + if err != nil { logger.LogControllerError("Message.PinRemove", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.PinRemove", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.PinRemove", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, BookmarkCreate: func(w http.ResponseWriter, r *http.Request) { @@ -253,19 +213,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.BookmarkCreate(r.Context(), params); err != nil { + value, err := h.BookmarkCreate(r.Context(), params) + if err != nil { logger.LogControllerError("Message.BookmarkCreate", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.BookmarkCreate", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.BookmarkCreate", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, BookmarkRemove: func(w http.ResponseWriter, r *http.Request) { @@ -276,19 +231,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.BookmarkRemove(r.Context(), params); err != nil { + value, err := h.BookmarkRemove(r.Context(), params) + if err != nil { logger.LogControllerError("Message.BookmarkRemove", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.BookmarkRemove", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.BookmarkRemove", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, ReactionCreate: func(w http.ResponseWriter, r *http.Request) { @@ -299,19 +249,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.ReactionCreate(r.Context(), params); err != nil { + value, err := h.ReactionCreate(r.Context(), params) + if err != nil { logger.LogControllerError("Message.ReactionCreate", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.ReactionCreate", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.ReactionCreate", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, ReactionRemove: func(w http.ResponseWriter, r *http.Request) { @@ -322,19 +267,14 @@ func NewMessage(h MessageAPI) *Message { resputil.JSON(w, err) return } - if value, err := h.ReactionRemove(r.Context(), params); err != nil { + value, err := h.ReactionRemove(r.Context(), params) + if err != nil { logger.LogControllerError("Message.ReactionRemove", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Message.ReactionRemove", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Message.ReactionRemove", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/handlers/permissions.go b/messaging/rest/handlers/permissions.go index d5b90b8ca..7cbbbeda4 100644 --- a/messaging/rest/handlers/permissions.go +++ b/messaging/rest/handlers/permissions.go @@ -55,19 +55,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Effective: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Effective(r.Context(), params); err != nil { + value, err := h.Effective(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Effective", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Effective", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Effective", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/handlers/search.go b/messaging/rest/handlers/search.go index a72978ea3..dcfa6382f 100644 --- a/messaging/rest/handlers/search.go +++ b/messaging/rest/handlers/search.go @@ -49,19 +49,14 @@ func NewSearch(h SearchAPI) *Search { resputil.JSON(w, err) return } - if value, err := h.Messages(r.Context(), params); err != nil { + value, err := h.Messages(r.Context(), params) + if err != nil { logger.LogControllerError("Search.Messages", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Search.Messages", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Search.Messages", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Threads: func(w http.ResponseWriter, r *http.Request) { @@ -72,19 +67,14 @@ func NewSearch(h SearchAPI) *Search { resputil.JSON(w, err) return } - if value, err := h.Threads(r.Context(), params); err != nil { + value, err := h.Threads(r.Context(), params) + if err != nil { logger.LogControllerError("Search.Threads", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Search.Threads", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Search.Threads", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/handlers/status.go b/messaging/rest/handlers/status.go index 14ce2c736..209f6c0e0 100644 --- a/messaging/rest/handlers/status.go +++ b/messaging/rest/handlers/status.go @@ -51,19 +51,14 @@ func NewStatus(h StatusAPI) *Status { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Status.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Status.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Status.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Set: func(w http.ResponseWriter, r *http.Request) { @@ -74,19 +69,14 @@ func NewStatus(h StatusAPI) *Status { resputil.JSON(w, err) return } - if value, err := h.Set(r.Context(), params); err != nil { + value, err := h.Set(r.Context(), params) + if err != nil { logger.LogControllerError("Status.Set", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Status.Set", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Status.Set", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -97,19 +87,14 @@ func NewStatus(h StatusAPI) *Status { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Status.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Status.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Status.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/handlers/util.go b/messaging/rest/handlers/util.go new file mode 100644 index 000000000..287c61d5d --- /dev/null +++ b/messaging/rest/handlers/util.go @@ -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 +} diff --git a/messaging/rest/handlers/webhooks.go b/messaging/rest/handlers/webhooks.go index 570074b66..d77a607e5 100644 --- a/messaging/rest/handlers/webhooks.go +++ b/messaging/rest/handlers/webhooks.go @@ -55,19 +55,14 @@ func NewWebhooks(h WebhooksAPI) *Webhooks { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Webhooks.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Webhooks.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Webhooks.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewWebhooks(h WebhooksAPI) *Webhooks { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Webhooks.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Webhooks.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Webhooks.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewWebhooks(h WebhooksAPI) *Webhooks { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Webhooks.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Webhooks.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Webhooks.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Get: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewWebhooks(h WebhooksAPI) *Webhooks { resputil.JSON(w, err) return } - if value, err := h.Get(r.Context(), params); err != nil { + value, err := h.Get(r.Context(), params) + if err != nil { logger.LogControllerError("Webhooks.Get", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Webhooks.Get", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Webhooks.Get", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewWebhooks(h WebhooksAPI) *Webhooks { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Webhooks.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Webhooks.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Webhooks.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/handlers/webhooks_public.go b/messaging/rest/handlers/webhooks_public.go index 768264fb6..deecef05b 100644 --- a/messaging/rest/handlers/webhooks_public.go +++ b/messaging/rest/handlers/webhooks_public.go @@ -49,19 +49,14 @@ func NewWebhooksPublic(h WebhooksPublicAPI) *WebhooksPublic { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("WebhooksPublic.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("WebhooksPublic.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("WebhooksPublic.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -72,19 +67,14 @@ func NewWebhooksPublic(h WebhooksPublicAPI) *WebhooksPublic { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("WebhooksPublic.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("WebhooksPublic.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("WebhooksPublic.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/messaging/rest/request/activity.go b/messaging/rest/request/activity.go index c8989a076..a94672f85 100644 --- a/messaging/rest/request/activity.go +++ b/messaging/rest/request/activity.go @@ -45,9 +45,7 @@ func (r ActivitySend) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["messageID"] = r.MessageID - out["kind"] = r.Kind return out @@ -81,15 +79,12 @@ func (r *ActivitySend) Fill(req *http.Request) (err error) { } if val, ok := post["channelID"]; ok { - r.ChannelID = parseUInt64(val) } if val, ok := post["messageID"]; ok { - r.MessageID = parseUInt64(val) } if val, ok := post["kind"]; ok { - r.Kind = val } diff --git a/messaging/rest/request/attachment.go b/messaging/rest/request/attachment.go index 139168b5d..07a8174fa 100644 --- a/messaging/rest/request/attachment.go +++ b/messaging/rest/request/attachment.go @@ -47,13 +47,9 @@ func (r AttachmentOriginal) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["download"] = r.Download - out["sign"] = r.Sign - out["userID"] = r.UserID - out["name"] = r.Name - out["attachmentID"] = r.AttachmentID return out @@ -87,15 +83,12 @@ func (r *AttachmentOriginal) Fill(req *http.Request) (err error) { } if val, ok := get["download"]; ok { - r.Download = parseBool(val) } if val, ok := get["sign"]; ok { - r.Sign = val } if val, ok := get["userID"]; ok { - r.UserID = parseUInt64(val) } r.Name = chi.URLParam(req, "name") @@ -122,11 +115,8 @@ func (r AttachmentPreview) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["ext"] = r.Ext - out["attachmentID"] = r.AttachmentID - out["sign"] = r.Sign - out["userID"] = r.UserID return out @@ -162,11 +152,9 @@ func (r *AttachmentPreview) Fill(req *http.Request) (err error) { r.Ext = chi.URLParam(req, "ext") r.AttachmentID = parseUInt64(chi.URLParam(req, "attachmentID")) if val, ok := get["sign"]; ok { - r.Sign = val } if val, ok := get["userID"]; ok { - r.UserID = parseUInt64(val) } diff --git a/messaging/rest/request/channel.go b/messaging/rest/request/channel.go index acc3c173a..dd80ce4dd 100644 --- a/messaging/rest/request/channel.go +++ b/messaging/rest/request/channel.go @@ -75,7 +75,6 @@ func (r *ChannelList) Fill(req *http.Request) (err error) { } if val, ok := get["query"]; ok { - r.Query = val } @@ -100,11 +99,8 @@ func (r ChannelCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["name"] = r.Name - out["topic"] = r.Topic - out["type"] = r.Type - out["members"] = r.Members return out @@ -138,15 +134,12 @@ func (r *ChannelCreate) Fill(req *http.Request) (err error) { } if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["topic"]; ok { - r.Topic = val } if val, ok := post["type"]; ok { - r.Type = val } @@ -172,13 +165,9 @@ func (r ChannelUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["name"] = r.Name - out["topic"] = r.Topic - out["type"] = r.Type - out["organisationID"] = r.OrganisationID return out @@ -213,19 +202,15 @@ func (r *ChannelUpdate) Fill(req *http.Request) (err error) { r.ChannelID = parseUInt64(chi.URLParam(req, "channelID")) if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["topic"]; ok { - r.Topic = val } if val, ok := post["type"]; ok { - r.Type = val } if val, ok := post["organisationID"]; ok { - r.OrganisationID = parseUInt64(val) } @@ -248,7 +233,6 @@ func (r ChannelState) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["state"] = r.State return out @@ -283,7 +267,6 @@ func (r *ChannelState) Fill(req *http.Request) (err error) { r.ChannelID = parseUInt64(chi.URLParam(req, "channelID")) if val, ok := post["state"]; ok { - r.State = val } @@ -306,7 +289,6 @@ func (r ChannelSetFlag) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["flag"] = r.Flag return out @@ -341,7 +323,6 @@ func (r *ChannelSetFlag) Fill(req *http.Request) (err error) { r.ChannelID = parseUInt64(chi.URLParam(req, "channelID")) if val, ok := post["flag"]; ok { - r.Flag = val } @@ -517,7 +498,6 @@ func (r ChannelJoin) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["userID"] = r.UserID return out @@ -572,7 +552,6 @@ func (r ChannelPart) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["userID"] = r.UserID return out @@ -627,7 +606,6 @@ func (r ChannelInvite) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["userID"] = r.UserID return out @@ -682,9 +660,7 @@ func (r ChannelAttach) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["replyTo"] = r.ReplyTo - out["upload.size"] = r.Upload.Size out["upload.filename"] = r.Upload.Filename @@ -720,7 +696,6 @@ func (r *ChannelAttach) Fill(req *http.Request) (err error) { r.ChannelID = parseUInt64(chi.URLParam(req, "channelID")) if val, ok := post["replyTo"]; ok { - r.ReplyTo = parseUInt64(val) } if _, r.Upload, err = req.FormFile("upload"); err != nil { diff --git a/messaging/rest/request/message.go b/messaging/rest/request/message.go index 28daa7a28..2e80029e7 100644 --- a/messaging/rest/request/message.go +++ b/messaging/rest/request/message.go @@ -78,7 +78,6 @@ func (r *MessageCreate) Fill(req *http.Request) (err error) { } if val, ok := post["message"]; ok { - r.Message = val } r.ChannelID = parseUInt64(chi.URLParam(req, "channelID")) @@ -104,11 +103,8 @@ func (r MessageExecuteCommand) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["command"] = r.Command - out["channelID"] = r.ChannelID - out["input"] = r.Input - out["params"] = r.Params return out @@ -144,7 +140,6 @@ func (r *MessageExecuteCommand) Fill(req *http.Request) (err error) { r.Command = chi.URLParam(req, "command") r.ChannelID = parseUInt64(chi.URLParam(req, "channelID")) if val, ok := post["input"]; ok { - r.Input = val } @@ -168,9 +163,7 @@ func (r MessageMarkAsRead) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["threadID"] = r.ThreadID - out["lastReadMessageID"] = r.LastReadMessageID return out @@ -205,11 +198,9 @@ func (r *MessageMarkAsRead) Fill(req *http.Request) (err error) { r.ChannelID = parseUInt64(chi.URLParam(req, "channelID")) if val, ok := post["threadID"]; ok { - r.ThreadID = parseUInt64(val) } if val, ok := post["lastReadMessageID"]; ok { - r.LastReadMessageID = parseUInt64(val) } @@ -233,9 +224,7 @@ func (r MessageEdit) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["messageID"] = r.MessageID - out["channelID"] = r.ChannelID - out["message"] = "*masked*sensitive*data*" return out @@ -271,7 +260,6 @@ func (r *MessageEdit) Fill(req *http.Request) (err error) { r.MessageID = parseUInt64(chi.URLParam(req, "messageID")) r.ChannelID = parseUInt64(chi.URLParam(req, "channelID")) if val, ok := post["message"]; ok { - r.Message = val } @@ -294,7 +282,6 @@ func (r MessageDelete) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["messageID"] = r.MessageID - out["channelID"] = r.ChannelID return out @@ -350,9 +337,7 @@ func (r MessageReplyCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["messageID"] = r.MessageID - out["channelID"] = r.ChannelID - out["message"] = "*masked*sensitive*data*" return out @@ -388,7 +373,6 @@ func (r *MessageReplyCreate) Fill(req *http.Request) (err error) { r.MessageID = parseUInt64(chi.URLParam(req, "messageID")) r.ChannelID = parseUInt64(chi.URLParam(req, "channelID")) if val, ok := post["message"]; ok { - r.Message = val } @@ -411,7 +395,6 @@ func (r MessagePinCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["messageID"] = r.MessageID - out["channelID"] = r.ChannelID return out @@ -466,7 +449,6 @@ func (r MessagePinRemove) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["messageID"] = r.MessageID - out["channelID"] = r.ChannelID return out @@ -521,7 +503,6 @@ func (r MessageBookmarkCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["messageID"] = r.MessageID - out["channelID"] = r.ChannelID return out @@ -576,7 +557,6 @@ func (r MessageBookmarkRemove) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["messageID"] = r.MessageID - out["channelID"] = r.ChannelID return out @@ -632,9 +612,7 @@ func (r MessageReactionCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["messageID"] = r.MessageID - out["reaction"] = r.Reaction - out["channelID"] = r.ChannelID return out @@ -691,9 +669,7 @@ func (r MessageReactionRemove) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["messageID"] = r.MessageID - out["reaction"] = r.Reaction - out["channelID"] = r.ChannelID return out diff --git a/messaging/rest/request/permissions.go b/messaging/rest/request/permissions.go index 8a9ff4250..e270f9a08 100644 --- a/messaging/rest/request/permissions.go +++ b/messaging/rest/request/permissions.go @@ -123,7 +123,6 @@ func (r *PermissionsEffective) Fill(req *http.Request) (err error) { } if val, ok := get["resource"]; ok { - r.Resource = val } @@ -248,7 +247,6 @@ func (r PermissionsUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["roleID"] = r.RoleID - out["rules"] = r.Rules return out diff --git a/messaging/rest/request/search.go b/messaging/rest/request/search.go index a43fc49c9..10504e6f1 100644 --- a/messaging/rest/request/search.go +++ b/messaging/rest/request/search.go @@ -54,27 +54,16 @@ func (r SearchMessages) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["afterMessageID"] = r.AfterMessageID - out["beforeMessageID"] = r.BeforeMessageID - out["fromMessageID"] = r.FromMessageID - out["toMessageID"] = r.ToMessageID - out["threadID"] = r.ThreadID - out["userID"] = r.UserID - out["type"] = r.Type - out["pinnedOnly"] = r.PinnedOnly - out["bookmarkedOnly"] = r.BookmarkedOnly - out["limit"] = r.Limit - out["query"] = r.Query return out @@ -114,19 +103,15 @@ func (r *SearchMessages) Fill(req *http.Request) (err error) { } if val, ok := get["afterMessageID"]; ok { - r.AfterMessageID = parseUInt64(val) } if val, ok := get["beforeMessageID"]; ok { - r.BeforeMessageID = parseUInt64(val) } if val, ok := get["fromMessageID"]; ok { - r.FromMessageID = parseUInt64(val) } if val, ok := get["toMessageID"]; ok { - r.ToMessageID = parseUInt64(val) } @@ -143,19 +128,15 @@ func (r *SearchMessages) Fill(req *http.Request) (err error) { } if val, ok := get["pinnedOnly"]; ok { - r.PinnedOnly = parseBool(val) } if val, ok := get["bookmarkedOnly"]; ok { - r.BookmarkedOnly = parseBool(val) } if val, ok := get["limit"]; ok { - r.Limit = parseUint(val) } if val, ok := get["query"]; ok { - r.Query = val } @@ -179,9 +160,7 @@ func (r SearchThreads) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["limit"] = r.Limit - out["query"] = r.Query return out @@ -221,11 +200,9 @@ func (r *SearchThreads) Fill(req *http.Request) (err error) { } if val, ok := get["limit"]; ok { - r.Limit = parseUint(val) } if val, ok := get["query"]; ok { - r.Query = val } diff --git a/messaging/rest/request/status.go b/messaging/rest/request/status.go index 4acb3c03f..5cff55127 100644 --- a/messaging/rest/request/status.go +++ b/messaging/rest/request/status.go @@ -91,9 +91,7 @@ func (r StatusSet) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["icon"] = r.Icon - out["message"] = r.Message - out["expires"] = r.Expires return out @@ -127,15 +125,12 @@ func (r *StatusSet) Fill(req *http.Request) (err error) { } if val, ok := post["icon"]; ok { - r.Icon = val } if val, ok := post["message"]; ok { - r.Message = val } if val, ok := post["expires"]; ok { - r.Expires = val } diff --git a/messaging/rest/request/webhooks.go b/messaging/rest/request/webhooks.go index ed471dc5d..0e30c044f 100644 --- a/messaging/rest/request/webhooks.go +++ b/messaging/rest/request/webhooks.go @@ -46,7 +46,6 @@ func (r WebhooksList) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["userID"] = r.UserID return out @@ -80,11 +79,9 @@ func (r *WebhooksList) Fill(req *http.Request) (err error) { } if val, ok := get["channelID"]; ok { - r.ChannelID = parseUInt64(val) } if val, ok := get["userID"]; ok { - r.UserID = parseUInt64(val) } @@ -113,17 +110,11 @@ func (r WebhooksCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["channelID"] = r.ChannelID - out["kind"] = r.Kind - out["userID"] = r.UserID - out["trigger"] = r.Trigger - out["url"] = r.Url - out["username"] = r.Username - out["avatar.size"] = r.Avatar.Size out["avatar.filename"] = r.Avatar.Filename @@ -160,27 +151,21 @@ func (r *WebhooksCreate) Fill(req *http.Request) (err error) { } if val, ok := post["channelID"]; ok { - r.ChannelID = parseUInt64(val) } if val, ok := post["kind"]; ok { - r.Kind = types.WebhookKind(val) } if val, ok := post["userID"]; ok { - r.UserID = parseUInt64(val) } if val, ok := post["trigger"]; ok { - r.Trigger = val } if val, ok := post["url"]; ok { - r.Url = val } if val, ok := post["username"]; ok { - r.Username = val } if _, r.Avatar, err = req.FormFile("avatar"); err != nil { @@ -188,7 +173,6 @@ func (r *WebhooksCreate) Fill(req *http.Request) (err error) { } if val, ok := post["avatarURL"]; ok { - r.AvatarURL = val } @@ -218,19 +202,12 @@ func (r WebhooksUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["webhookID"] = r.WebhookID - out["channelID"] = r.ChannelID - out["kind"] = r.Kind - out["userID"] = r.UserID - out["trigger"] = r.Trigger - out["url"] = r.Url - out["username"] = r.Username - out["avatar.size"] = r.Avatar.Size out["avatar.filename"] = r.Avatar.Filename @@ -268,27 +245,21 @@ func (r *WebhooksUpdate) Fill(req *http.Request) (err error) { r.WebhookID = parseUInt64(chi.URLParam(req, "webhookID")) if val, ok := post["channelID"]; ok { - r.ChannelID = parseUInt64(val) } if val, ok := post["kind"]; ok { - r.Kind = types.WebhookKind(val) } if val, ok := post["userID"]; ok { - r.UserID = parseUInt64(val) } if val, ok := post["trigger"]; ok { - r.Trigger = val } if val, ok := post["url"]; ok { - r.Url = val } if val, ok := post["username"]; ok { - r.Username = val } if _, r.Avatar, err = req.FormFile("avatar"); err != nil { @@ -296,7 +267,6 @@ func (r *WebhooksUpdate) Fill(req *http.Request) (err error) { } if val, ok := post["avatarURL"]; ok { - r.AvatarURL = val } diff --git a/messaging/rest/request/webhooks_public.go b/messaging/rest/request/webhooks_public.go index 7c067f9eb..51785e41b 100644 --- a/messaging/rest/request/webhooks_public.go +++ b/messaging/rest/request/webhooks_public.go @@ -44,7 +44,6 @@ func (r WebhooksPublicDelete) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["webhookID"] = r.WebhookID - out["webhookToken"] = r.WebhookToken return out @@ -102,13 +101,9 @@ func (r WebhooksPublicCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["username"] = r.Username - out["avatarURL"] = r.AvatarURL - out["content"] = r.Content - out["webhookID"] = r.WebhookID - out["webhookToken"] = r.WebhookToken return out @@ -142,15 +137,12 @@ func (r *WebhooksPublicCreate) Fill(req *http.Request) (err error) { } if val, ok := get["username"]; ok { - r.Username = val } if val, ok := get["avatarURL"]; ok { - r.AvatarURL = val } if val, ok := get["content"]; ok { - r.Content = val } r.WebhookID = parseUInt64(chi.URLParam(req, "webhookID")) diff --git a/system/rest/handlers/application.go b/system/rest/handlers/application.go index e269ba7aa..f4d1bd8e0 100644 --- a/system/rest/handlers/application.go +++ b/system/rest/handlers/application.go @@ -55,19 +55,14 @@ func NewApplication(h ApplicationAPI) *Application { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Application.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Application.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Application.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewApplication(h ApplicationAPI) *Application { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Application.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Application.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Application.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewApplication(h ApplicationAPI) *Application { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Application.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Application.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Application.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewApplication(h ApplicationAPI) *Application { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Application.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Application.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Application.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewApplication(h ApplicationAPI) *Application { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Application.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Application.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Application.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/system/rest/handlers/auth.go b/system/rest/handlers/auth.go index cd50304bc..221c12d58 100644 --- a/system/rest/handlers/auth.go +++ b/system/rest/handlers/auth.go @@ -53,19 +53,14 @@ func NewAuth(h AuthAPI) *Auth { resputil.JSON(w, err) return } - if value, err := h.Settings(r.Context(), params); err != nil { + value, err := h.Settings(r.Context(), params) + if err != nil { logger.LogControllerError("Auth.Settings", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Auth.Settings", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Auth.Settings", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Check: func(w http.ResponseWriter, r *http.Request) { @@ -76,19 +71,14 @@ func NewAuth(h AuthAPI) *Auth { resputil.JSON(w, err) return } - if value, err := h.Check(r.Context(), params); err != nil { + value, err := h.Check(r.Context(), params) + if err != nil { logger.LogControllerError("Auth.Check", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Auth.Check", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Auth.Check", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, ExchangeAuthToken: func(w http.ResponseWriter, r *http.Request) { @@ -99,19 +89,14 @@ func NewAuth(h AuthAPI) *Auth { resputil.JSON(w, err) return } - if value, err := h.ExchangeAuthToken(r.Context(), params); err != nil { + value, err := h.ExchangeAuthToken(r.Context(), params) + if err != nil { logger.LogControllerError("Auth.ExchangeAuthToken", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Auth.ExchangeAuthToken", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Auth.ExchangeAuthToken", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Logout: func(w http.ResponseWriter, r *http.Request) { @@ -122,19 +107,14 @@ func NewAuth(h AuthAPI) *Auth { resputil.JSON(w, err) return } - if value, err := h.Logout(r.Context(), params); err != nil { + value, err := h.Logout(r.Context(), params) + if err != nil { logger.LogControllerError("Auth.Logout", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Auth.Logout", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Auth.Logout", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/system/rest/handlers/auth_internal.go b/system/rest/handlers/auth_internal.go index dc578b195..984fdb223 100644 --- a/system/rest/handlers/auth_internal.go +++ b/system/rest/handlers/auth_internal.go @@ -59,19 +59,14 @@ func NewAuthInternal(h AuthInternalAPI) *AuthInternal { resputil.JSON(w, err) return } - if value, err := h.Login(r.Context(), params); err != nil { + value, err := h.Login(r.Context(), params) + if err != nil { logger.LogControllerError("AuthInternal.Login", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("AuthInternal.Login", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("AuthInternal.Login", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Signup: func(w http.ResponseWriter, r *http.Request) { @@ -82,19 +77,14 @@ func NewAuthInternal(h AuthInternalAPI) *AuthInternal { resputil.JSON(w, err) return } - if value, err := h.Signup(r.Context(), params); err != nil { + value, err := h.Signup(r.Context(), params) + if err != nil { logger.LogControllerError("AuthInternal.Signup", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("AuthInternal.Signup", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("AuthInternal.Signup", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, RequestPasswordReset: func(w http.ResponseWriter, r *http.Request) { @@ -105,19 +95,14 @@ func NewAuthInternal(h AuthInternalAPI) *AuthInternal { resputil.JSON(w, err) return } - if value, err := h.RequestPasswordReset(r.Context(), params); err != nil { + value, err := h.RequestPasswordReset(r.Context(), params) + if err != nil { logger.LogControllerError("AuthInternal.RequestPasswordReset", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("AuthInternal.RequestPasswordReset", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("AuthInternal.RequestPasswordReset", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, ExchangePasswordResetToken: func(w http.ResponseWriter, r *http.Request) { @@ -128,19 +113,14 @@ func NewAuthInternal(h AuthInternalAPI) *AuthInternal { resputil.JSON(w, err) return } - if value, err := h.ExchangePasswordResetToken(r.Context(), params); err != nil { + value, err := h.ExchangePasswordResetToken(r.Context(), params) + if err != nil { logger.LogControllerError("AuthInternal.ExchangePasswordResetToken", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("AuthInternal.ExchangePasswordResetToken", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("AuthInternal.ExchangePasswordResetToken", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, ResetPassword: func(w http.ResponseWriter, r *http.Request) { @@ -151,19 +131,14 @@ func NewAuthInternal(h AuthInternalAPI) *AuthInternal { resputil.JSON(w, err) return } - if value, err := h.ResetPassword(r.Context(), params); err != nil { + value, err := h.ResetPassword(r.Context(), params) + if err != nil { logger.LogControllerError("AuthInternal.ResetPassword", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("AuthInternal.ResetPassword", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("AuthInternal.ResetPassword", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, ConfirmEmail: func(w http.ResponseWriter, r *http.Request) { @@ -174,19 +149,14 @@ func NewAuthInternal(h AuthInternalAPI) *AuthInternal { resputil.JSON(w, err) return } - if value, err := h.ConfirmEmail(r.Context(), params); err != nil { + value, err := h.ConfirmEmail(r.Context(), params) + if err != nil { logger.LogControllerError("AuthInternal.ConfirmEmail", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("AuthInternal.ConfirmEmail", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("AuthInternal.ConfirmEmail", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, ChangePassword: func(w http.ResponseWriter, r *http.Request) { @@ -197,19 +167,14 @@ func NewAuthInternal(h AuthInternalAPI) *AuthInternal { resputil.JSON(w, err) return } - if value, err := h.ChangePassword(r.Context(), params); err != nil { + value, err := h.ChangePassword(r.Context(), params) + if err != nil { logger.LogControllerError("AuthInternal.ChangePassword", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("AuthInternal.ChangePassword", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("AuthInternal.ChangePassword", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/system/rest/handlers/organisation.go b/system/rest/handlers/organisation.go index 8e5dcee5b..5dccd0d43 100644 --- a/system/rest/handlers/organisation.go +++ b/system/rest/handlers/organisation.go @@ -57,19 +57,14 @@ func NewOrganisation(h OrganisationAPI) *Organisation { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Organisation.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Organisation.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Organisation.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -80,19 +75,14 @@ func NewOrganisation(h OrganisationAPI) *Organisation { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Organisation.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Organisation.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Organisation.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -103,19 +93,14 @@ func NewOrganisation(h OrganisationAPI) *Organisation { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Organisation.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Organisation.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Organisation.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -126,19 +111,14 @@ func NewOrganisation(h OrganisationAPI) *Organisation { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Organisation.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Organisation.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Organisation.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -149,19 +129,14 @@ func NewOrganisation(h OrganisationAPI) *Organisation { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Organisation.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Organisation.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Organisation.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Archive: func(w http.ResponseWriter, r *http.Request) { @@ -172,19 +147,14 @@ func NewOrganisation(h OrganisationAPI) *Organisation { resputil.JSON(w, err) return } - if value, err := h.Archive(r.Context(), params); err != nil { + value, err := h.Archive(r.Context(), params) + if err != nil { logger.LogControllerError("Organisation.Archive", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Organisation.Archive", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Organisation.Archive", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/system/rest/handlers/permissions.go b/system/rest/handlers/permissions.go index cedaac393..348ff94a8 100644 --- a/system/rest/handlers/permissions.go +++ b/system/rest/handlers/permissions.go @@ -55,19 +55,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Effective: func(w http.ResponseWriter, r *http.Request) { @@ -78,19 +73,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Effective(r.Context(), params); err != nil { + value, err := h.Effective(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Effective", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Effective", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Effective", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -101,19 +91,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -124,19 +109,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -147,19 +127,14 @@ func NewPermissions(h PermissionsAPI) *Permissions { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Permissions.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Permissions.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Permissions.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/system/rest/handlers/role.go b/system/rest/handlers/role.go index 27bc8924a..c51fd7861 100644 --- a/system/rest/handlers/role.go +++ b/system/rest/handlers/role.go @@ -67,19 +67,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Role.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -90,19 +85,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("Role.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -113,19 +103,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Role.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -136,19 +121,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("Role.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -159,19 +139,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("Role.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Archive: func(w http.ResponseWriter, r *http.Request) { @@ -182,19 +157,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.Archive(r.Context(), params); err != nil { + value, err := h.Archive(r.Context(), params) + if err != nil { logger.LogControllerError("Role.Archive", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.Archive", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.Archive", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Move: func(w http.ResponseWriter, r *http.Request) { @@ -205,19 +175,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.Move(r.Context(), params); err != nil { + value, err := h.Move(r.Context(), params) + if err != nil { logger.LogControllerError("Role.Move", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.Move", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.Move", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Merge: func(w http.ResponseWriter, r *http.Request) { @@ -228,19 +193,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.Merge(r.Context(), params); err != nil { + value, err := h.Merge(r.Context(), params) + if err != nil { logger.LogControllerError("Role.Merge", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.Merge", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.Merge", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, MemberList: func(w http.ResponseWriter, r *http.Request) { @@ -251,19 +211,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.MemberList(r.Context(), params); err != nil { + value, err := h.MemberList(r.Context(), params) + if err != nil { logger.LogControllerError("Role.MemberList", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.MemberList", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.MemberList", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, MemberAdd: func(w http.ResponseWriter, r *http.Request) { @@ -274,19 +229,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.MemberAdd(r.Context(), params); err != nil { + value, err := h.MemberAdd(r.Context(), params) + if err != nil { logger.LogControllerError("Role.MemberAdd", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.MemberAdd", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.MemberAdd", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, MemberRemove: func(w http.ResponseWriter, r *http.Request) { @@ -297,19 +247,14 @@ func NewRole(h RoleAPI) *Role { resputil.JSON(w, err) return } - if value, err := h.MemberRemove(r.Context(), params); err != nil { + value, err := h.MemberRemove(r.Context(), params) + if err != nil { logger.LogControllerError("Role.MemberRemove", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Role.MemberRemove", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Role.MemberRemove", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/system/rest/handlers/settings.go b/system/rest/handlers/settings.go index 9cca74952..324ac914c 100644 --- a/system/rest/handlers/settings.go +++ b/system/rest/handlers/settings.go @@ -53,19 +53,14 @@ func NewSettings(h SettingsAPI) *Settings { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("Settings.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Settings.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Settings.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -76,19 +71,14 @@ func NewSettings(h SettingsAPI) *Settings { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("Settings.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Settings.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Settings.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Get: func(w http.ResponseWriter, r *http.Request) { @@ -99,19 +89,14 @@ func NewSettings(h SettingsAPI) *Settings { resputil.JSON(w, err) return } - if value, err := h.Get(r.Context(), params); err != nil { + value, err := h.Get(r.Context(), params) + if err != nil { logger.LogControllerError("Settings.Get", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Settings.Get", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Settings.Get", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Set: func(w http.ResponseWriter, r *http.Request) { @@ -122,19 +107,14 @@ func NewSettings(h SettingsAPI) *Settings { resputil.JSON(w, err) return } - if value, err := h.Set(r.Context(), params); err != nil { + value, err := h.Set(r.Context(), params) + if err != nil { logger.LogControllerError("Settings.Set", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("Settings.Set", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("Settings.Set", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/system/rest/handlers/user.go b/system/rest/handlers/user.go index e77babf29..d97ba4e29 100644 --- a/system/rest/handlers/user.go +++ b/system/rest/handlers/user.go @@ -59,19 +59,14 @@ func NewUser(h UserAPI) *User { resputil.JSON(w, err) return } - if value, err := h.List(r.Context(), params); err != nil { + value, err := h.List(r.Context(), params) + if err != nil { logger.LogControllerError("User.List", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("User.List", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("User.List", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Create: func(w http.ResponseWriter, r *http.Request) { @@ -82,19 +77,14 @@ func NewUser(h UserAPI) *User { resputil.JSON(w, err) return } - if value, err := h.Create(r.Context(), params); err != nil { + value, err := h.Create(r.Context(), params) + if err != nil { logger.LogControllerError("User.Create", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("User.Create", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("User.Create", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Update: func(w http.ResponseWriter, r *http.Request) { @@ -105,19 +95,14 @@ func NewUser(h UserAPI) *User { resputil.JSON(w, err) return } - if value, err := h.Update(r.Context(), params); err != nil { + value, err := h.Update(r.Context(), params) + if err != nil { logger.LogControllerError("User.Update", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("User.Update", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("User.Update", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Read: func(w http.ResponseWriter, r *http.Request) { @@ -128,19 +113,14 @@ func NewUser(h UserAPI) *User { resputil.JSON(w, err) return } - if value, err := h.Read(r.Context(), params); err != nil { + value, err := h.Read(r.Context(), params) + if err != nil { logger.LogControllerError("User.Read", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("User.Read", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("User.Read", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Delete: func(w http.ResponseWriter, r *http.Request) { @@ -151,19 +131,14 @@ func NewUser(h UserAPI) *User { resputil.JSON(w, err) return } - if value, err := h.Delete(r.Context(), params); err != nil { + value, err := h.Delete(r.Context(), params) + if err != nil { logger.LogControllerError("User.Delete", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("User.Delete", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("User.Delete", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Suspend: func(w http.ResponseWriter, r *http.Request) { @@ -174,19 +149,14 @@ func NewUser(h UserAPI) *User { resputil.JSON(w, err) return } - if value, err := h.Suspend(r.Context(), params); err != nil { + value, err := h.Suspend(r.Context(), params) + if err != nil { logger.LogControllerError("User.Suspend", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("User.Suspend", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("User.Suspend", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, Unsuspend: func(w http.ResponseWriter, r *http.Request) { @@ -197,19 +167,14 @@ func NewUser(h UserAPI) *User { resputil.JSON(w, err) return } - if value, err := h.Unsuspend(r.Context(), params); err != nil { + value, err := h.Unsuspend(r.Context(), params) + if err != nil { logger.LogControllerError("User.Unsuspend", r, err, params.Auditable()) resputil.JSON(w, err) - return - } else { - logger.LogControllerCall("User.Unsuspend", r, params.Auditable()) - switch fn := value.(type) { - case func(http.ResponseWriter, *http.Request): - fn(w, r) - return - } + } + logger.LogControllerCall("User.Unsuspend", r, params.Auditable()) + if !serveHTTP(value, w, r) { resputil.JSON(w, value) - return } }, } diff --git a/system/rest/handlers/util.go b/system/rest/handlers/util.go new file mode 100644 index 000000000..287c61d5d --- /dev/null +++ b/system/rest/handlers/util.go @@ -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 +} diff --git a/system/rest/request/application.go b/system/rest/request/application.go index 5940dd39c..dff68dace 100644 --- a/system/rest/request/application.go +++ b/system/rest/request/application.go @@ -94,11 +94,8 @@ func (r ApplicationCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["name"] = r.Name - out["enabled"] = r.Enabled - out["unify"] = r.Unify - out["config"] = r.Config return out @@ -132,11 +129,9 @@ func (r *ApplicationCreate) Fill(req *http.Request) (err error) { } if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["enabled"]; ok { - r.Enabled = parseBool(val) } if val, ok := post["unify"]; ok { @@ -174,13 +169,9 @@ func (r ApplicationUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["applicationID"] = r.ApplicationID - out["name"] = r.Name - out["enabled"] = r.Enabled - out["unify"] = r.Unify - out["config"] = r.Config return out @@ -215,11 +206,9 @@ func (r *ApplicationUpdate) Fill(req *http.Request) (err error) { r.ApplicationID = parseUInt64(chi.URLParam(req, "applicationID")) if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["enabled"]; ok { - r.Enabled = parseBool(val) } if val, ok := post["unify"]; ok { diff --git a/system/rest/request/auth.go b/system/rest/request/auth.go index 0d706709a..97c17aa86 100644 --- a/system/rest/request/auth.go +++ b/system/rest/request/auth.go @@ -167,7 +167,6 @@ func (r *AuthExchangeAuthToken) Fill(req *http.Request) (err error) { } if val, ok := post["token"]; ok { - r.Token = val } diff --git a/system/rest/request/auth_internal.go b/system/rest/request/auth_internal.go index e70f95ae7..5c00614e3 100644 --- a/system/rest/request/auth_internal.go +++ b/system/rest/request/auth_internal.go @@ -44,7 +44,6 @@ func (r AuthInternalLogin) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["email"] = r.Email - out["password"] = "*masked*sensitive*data*" return out @@ -78,11 +77,9 @@ func (r *AuthInternalLogin) Fill(req *http.Request) (err error) { } if val, ok := post["email"]; ok { - r.Email = val } if val, ok := post["password"]; ok { - r.Password = val } @@ -108,13 +105,10 @@ func (r AuthInternalSignup) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["email"] = r.Email - out["username"] = r.Username - out["password"] = "*masked*sensitive*data*" out["handle"] = r.Handle - out["name"] = r.Name return out @@ -148,23 +142,18 @@ func (r *AuthInternalSignup) Fill(req *http.Request) (err error) { } if val, ok := post["email"]; ok { - r.Email = val } if val, ok := post["username"]; ok { - r.Username = val } if val, ok := post["password"]; ok { - r.Password = val } if val, ok := post["handle"]; ok { - r.Handle = val } if val, ok := post["name"]; ok { - r.Name = val } @@ -218,7 +207,6 @@ func (r *AuthInternalRequestPasswordReset) Fill(req *http.Request) (err error) { } if val, ok := post["email"]; ok { - r.Email = val } @@ -272,7 +260,6 @@ func (r *AuthInternalExchangePasswordResetToken) Fill(req *http.Request) (err er } if val, ok := post["token"]; ok { - r.Token = val } @@ -295,7 +282,6 @@ func (r AuthInternalResetPassword) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["token"] = r.Token - out["password"] = "*masked*sensitive*data*" return out @@ -329,11 +315,9 @@ func (r *AuthInternalResetPassword) Fill(req *http.Request) (err error) { } if val, ok := post["token"]; ok { - r.Token = val } if val, ok := post["password"]; ok { - r.Password = val } @@ -387,7 +371,6 @@ func (r *AuthInternalConfirmEmail) Fill(req *http.Request) (err error) { } if val, ok := post["token"]; ok { - r.Token = val } @@ -444,11 +427,9 @@ func (r *AuthInternalChangePassword) Fill(req *http.Request) (err error) { } if val, ok := post["oldPassword"]; ok { - r.OldPassword = val } if val, ok := post["newPassword"]; ok { - r.NewPassword = val } diff --git a/system/rest/request/organisation.go b/system/rest/request/organisation.go index 61ef80b85..eef0c1399 100644 --- a/system/rest/request/organisation.go +++ b/system/rest/request/organisation.go @@ -75,7 +75,6 @@ func (r *OrganisationList) Fill(req *http.Request) (err error) { } if val, ok := get["query"]; ok { - r.Query = val } @@ -129,7 +128,6 @@ func (r *OrganisationCreate) Fill(req *http.Request) (err error) { } if val, ok := post["name"]; ok { - r.Name = val } @@ -152,7 +150,6 @@ func (r OrganisationUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["id"] = r.ID - out["name"] = r.Name return out @@ -187,7 +184,6 @@ func (r *OrganisationUpdate) Fill(req *http.Request) (err error) { r.ID = parseUInt64(chi.URLParam(req, "id")) if val, ok := post["name"]; ok { - r.Name = val } @@ -292,7 +288,6 @@ func (r *OrganisationRead) Fill(req *http.Request) (err error) { } if val, ok := get["id"]; ok { - r.ID = parseUInt64(val) } diff --git a/system/rest/request/permissions.go b/system/rest/request/permissions.go index 8a9ff4250..e270f9a08 100644 --- a/system/rest/request/permissions.go +++ b/system/rest/request/permissions.go @@ -123,7 +123,6 @@ func (r *PermissionsEffective) Fill(req *http.Request) (err error) { } if val, ok := get["resource"]; ok { - r.Resource = val } @@ -248,7 +247,6 @@ func (r PermissionsUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["roleID"] = r.RoleID - out["rules"] = r.Rules return out diff --git a/system/rest/request/role.go b/system/rest/request/role.go index db0ff7e30..b1e19e0df 100644 --- a/system/rest/request/role.go +++ b/system/rest/request/role.go @@ -75,7 +75,6 @@ func (r *RoleList) Fill(req *http.Request) (err error) { } if val, ok := get["query"]; ok { - r.Query = val } @@ -98,7 +97,6 @@ func (r RoleCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["name"] = r.Name - out["members"] = r.Members return out @@ -132,7 +130,6 @@ func (r *RoleCreate) Fill(req *http.Request) (err error) { } if val, ok := post["name"]; ok { - r.Name = val } @@ -156,9 +153,7 @@ func (r RoleUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["roleID"] = r.RoleID - out["name"] = r.Name - out["members"] = r.Members return out @@ -193,7 +188,6 @@ func (r *RoleUpdate) Fill(req *http.Request) (err error) { r.RoleID = parseUInt64(chi.URLParam(req, "roleID")) if val, ok := post["name"]; ok { - r.Name = val } @@ -369,7 +363,6 @@ func (r RoleMove) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["roleID"] = r.RoleID - out["organisationID"] = r.OrganisationID return out @@ -404,7 +397,6 @@ func (r *RoleMove) Fill(req *http.Request) (err error) { r.RoleID = parseUInt64(chi.URLParam(req, "roleID")) if val, ok := post["organisationID"]; ok { - r.OrganisationID = parseUInt64(val) } @@ -427,7 +419,6 @@ func (r RoleMerge) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["roleID"] = r.RoleID - out["destination"] = r.Destination return out @@ -462,7 +453,6 @@ func (r *RoleMerge) Fill(req *http.Request) (err error) { r.RoleID = parseUInt64(chi.URLParam(req, "roleID")) if val, ok := post["destination"]; ok { - r.Destination = parseUInt64(val) } @@ -536,7 +526,6 @@ func (r RoleMemberAdd) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["roleID"] = r.RoleID - out["userID"] = r.UserID return out @@ -591,7 +580,6 @@ func (r RoleMemberRemove) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["roleID"] = r.RoleID - out["userID"] = r.UserID return out diff --git a/system/rest/request/settings.go b/system/rest/request/settings.go index f7f053c74..368166e14 100644 --- a/system/rest/request/settings.go +++ b/system/rest/request/settings.go @@ -77,7 +77,6 @@ func (r *SettingsList) Fill(req *http.Request) (err error) { } if val, ok := get["prefix"]; ok { - r.Prefix = val } @@ -156,7 +155,6 @@ func (r SettingsGet) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["ownerID"] = r.OwnerID - out["key"] = r.Key return out @@ -190,7 +188,6 @@ func (r *SettingsGet) Fill(req *http.Request) (err error) { } if val, ok := get["ownerID"]; ok { - r.OwnerID = parseUInt64(val) } r.Key = chi.URLParam(req, "key") @@ -215,9 +212,7 @@ func (r SettingsSet) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["key"] = r.Key - out["ownerID"] = r.OwnerID - out["value"] = r.Value return out @@ -252,7 +247,6 @@ func (r *SettingsSet) Fill(req *http.Request) (err error) { r.Key = chi.URLParam(req, "key") if val, ok := post["ownerID"]; ok { - r.OwnerID = parseUInt64(val) } if val, ok := post["value"]; ok { diff --git a/system/rest/request/user.go b/system/rest/request/user.go index 4177da3cc..17862197f 100644 --- a/system/rest/request/user.go +++ b/system/rest/request/user.go @@ -47,9 +47,7 @@ func (r UserList) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["query"] = r.Query - out["username"] = r.Username - out["email"] = r.Email return out @@ -83,15 +81,12 @@ func (r *UserList) Fill(req *http.Request) (err error) { } if val, ok := get["query"]; ok { - r.Query = val } if val, ok := get["username"]; ok { - r.Username = val } if val, ok := get["email"]; ok { - r.Email = val } @@ -116,11 +111,8 @@ func (r UserCreate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["email"] = r.Email - out["name"] = r.Name - out["handle"] = r.Handle - out["kind"] = r.Kind return out @@ -154,19 +146,15 @@ func (r *UserCreate) Fill(req *http.Request) (err error) { } if val, ok := post["email"]; ok { - r.Email = val } if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["handle"]; ok { - r.Handle = val } if val, ok := post["kind"]; ok { - r.Kind = types.UserKind(val) } @@ -192,13 +180,9 @@ func (r UserUpdate) Auditable() map[string]interface{} { var out = map[string]interface{}{} out["userID"] = r.UserID - out["email"] = r.Email - out["name"] = r.Name - out["handle"] = r.Handle - out["kind"] = r.Kind return out @@ -233,19 +217,15 @@ func (r *UserUpdate) Fill(req *http.Request) (err error) { r.UserID = parseUInt64(chi.URLParam(req, "userID")) if val, ok := post["email"]; ok { - r.Email = val } if val, ok := post["name"]; ok { - r.Name = val } if val, ok := post["handle"]; ok { - r.Handle = val } if val, ok := post["kind"]; ok { - r.Kind = types.UserKind(val) }