From 0008f4dfa15f6336e0629d308746b3feaf353595 Mon Sep 17 00:00:00 2001 From: andig Date: Fri, 1 Aug 2025 17:36:10 +0200 Subject: [PATCH] Config UI: remove deprecated params for single device (#22669) --- server/http_config_metadata_handler.go | 32 +++++++++++++++----------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/server/http_config_metadata_handler.go b/server/http_config_metadata_handler.go index 2a373ad01..ba687b070 100644 --- a/server/http_config_metadata_handler.go +++ b/server/http_config_metadata_handler.go @@ -32,20 +32,8 @@ func templatesHandler(w http.ResponseWriter, r *http.Request) { lang := getLang(r) templates.EncoderLanguage(lang) - if name := r.URL.Query().Get("name"); name != "" { - res, err := templates.ByName(class, name) - if err != nil { - jsonError(w, http.StatusBadRequest, err) - return - } - - jsonWrite(w, res) - return - } - // filter deprecated properties - res := make([]templates.Template, 0) - for _, t := range templates.ByClass(class) { + filterParams := func(t templates.Template) templates.Template { params := make([]templates.Param, 0, len(t.Params)) for _, p := range t.Params { if p.Deprecated == nil || !*p.Deprecated { @@ -53,7 +41,23 @@ func templatesHandler(w http.ResponseWriter, r *http.Request) { } } t.Params = params - res = append(res, t) + return t + } + + if name := r.URL.Query().Get("name"); name != "" { + res, err := templates.ByName(class, name) + if err != nil { + jsonError(w, http.StatusBadRequest, err) + return + } + + jsonWrite(w, filterParams(res)) + return + } + + var res []templates.Template + for _, t := range templates.ByClass(class) { + res = append(res, filterParams(t)) } jsonWrite(w, res)