From ca3be03ae7a789cc96ec491159ceec08b77c6174 Mon Sep 17 00:00:00 2001 From: zhengkunwang <31820853+zhengkunwang223@users.noreply.github.com> Date: Tue, 5 Mar 2024 18:10:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9C=AC=E5=9C=B0=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=A2=9E=E5=8A=A0=E6=A0=A1=E9=AA=8C=20(#4071?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/service/app_utils.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/backend/app/service/app_utils.go b/backend/app/service/app_utils.go index 3dbff1b84..cc7a171f2 100644 --- a/backend/app/service/app_utils.go +++ b/backend/app/service/app_utils.go @@ -1001,6 +1001,34 @@ func handleLocalAppDetail(versionDir string, appDetail *model.AppDetail) error { return buserr.WithName(constant.ErrAppParamKey, formField.EnvKey) } } + + var dataMap map[string]interface{} + err = yaml.Unmarshal(paramByte, &dataMap) + if err != nil { + return buserr.WithMap(constant.ErrFileParseApp, map[string]interface{}{"name": "data.yml", "err": err.Error()}, err) + } + + additionalProperties, ok := dataMap["additionalProperties"].(map[string]interface{}) + if !ok { + return buserr.WithName(constant.ErrAppParamKey, "additionalProperties") + } + + formFieldsInterface, ok := additionalProperties["formFields"] + if ok { + formFields, ok := formFieldsInterface.([]interface{}) + if !ok { + return buserr.WithName(constant.ErrAppParamKey, "formFields") + } + for _, item := range formFields { + field := item.(map[string]interface{}) + for key, value := range field { + if value == nil { + return buserr.WithName(constant.ErrAppParamKey, key) + } + } + } + } + appDetail.Params = string(dataJson) return nil }