From dca29174ea329ce00844f131f54a3a1d3c6a44d4 Mon Sep 17 00:00:00 2001 From: zhengkunwang <31820853+zhengkunwang223@users.noreply.github.com> Date: Mon, 4 Mar 2024 11:53:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=90=8C=E6=AD=A5=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E5=A2=9E=E5=8A=A0=20data.yml=20=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E6=80=A7=E9=AA=8C=E8=AF=81=20(#4058)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs https://github.com/1Panel-dev/1Panel/issues/4052 --- backend/app/service/app_utils.go | 9 +++++++++ backend/constant/errs.go | 1 + backend/i18n/lang/en.yaml | 1 + backend/i18n/lang/zh-Hant.yaml | 1 + backend/i18n/lang/zh.yaml | 1 + 5 files changed, 13 insertions(+) diff --git a/backend/app/service/app_utils.go b/backend/app/service/app_utils.go index 4e22f9266..3dbff1b84 100644 --- a/backend/app/service/app_utils.go +++ b/backend/app/service/app_utils.go @@ -992,6 +992,15 @@ func handleLocalAppDetail(versionDir string, appDetail *model.AppDetail) error { if err != nil { return buserr.WithMap(constant.ErrFileParseApp, map[string]interface{}{"name": "data.yml", "err": err.Error()}, err) } + var appParam dto.AppForm + if err = json.Unmarshal(dataJson, &appParam); err != nil { + return buserr.WithMap(constant.ErrFileParseApp, map[string]interface{}{"name": "data.yml", "err": err.Error()}, err) + } + for _, formField := range appParam.FormFields { + if strings.Contains(formField.EnvKey, " ") { + return buserr.WithName(constant.ErrAppParamKey, formField.EnvKey) + } + } appDetail.Params = string(dataJson) return nil } diff --git a/backend/constant/errs.go b/backend/constant/errs.go index 3b72fb9b7..fc1d701c7 100644 --- a/backend/constant/errs.go +++ b/backend/constant/errs.go @@ -62,6 +62,7 @@ var ( ErrAppNameExist = "ErrAppNameExist" ErrFileNotFound = "ErrFileNotFound" ErrFileParseApp = "ErrFileParseApp" + ErrAppParamKey = "ErrAppParamKey" ) // website diff --git a/backend/i18n/lang/en.yaml b/backend/i18n/lang/en.yaml index eb03f72fa..26b56cc72 100644 --- a/backend/i18n/lang/en.yaml +++ b/backend/i18n/lang/en.yaml @@ -60,6 +60,7 @@ ErrAppNameExist: 'App name is already exist' AppStoreIsSyncing: 'The App Store is syncing, please try again later' ErrGetCompose: "Failed to obtain docker-compose.yml file! {{ .detail }}" ErrAppWarn: "Abnormal status, please check the log" +ErrAppParamKey: "Parameter {{ .name }} field exception" #file ErrFileCanNotRead: "File can not read" diff --git a/backend/i18n/lang/zh-Hant.yaml b/backend/i18n/lang/zh-Hant.yaml index ab966701f..df28f8727 100644 --- a/backend/i18n/lang/zh-Hant.yaml +++ b/backend/i18n/lang/zh-Hant.yaml @@ -60,6 +60,7 @@ ErrAppNameExist: '應用名稱已存在' AppStoreIsSyncing: '應用程式商店正在同步中,請稍後再試' ErrGetCompose: "docker-compose.yml 檔案取得失敗!{{ .detail }}" ErrAppWarn: "狀態異常,請查看日誌" +ErrAppParamKey: "參數 {{ .name }} 欄位異常" #file ErrFileCanNotRead: "此文件不支持預覽" diff --git a/backend/i18n/lang/zh.yaml b/backend/i18n/lang/zh.yaml index c9b0ea4b4..c6d0e132b 100644 --- a/backend/i18n/lang/zh.yaml +++ b/backend/i18n/lang/zh.yaml @@ -60,6 +60,7 @@ ErrAppNameExist: '应用名称已存在' AppStoreIsSyncing: '应用商店正在同步中,请稍后再试' ErrGetCompose: "docker-compose.yml 文件获取失败!{{ .detail }}" ErrAppWarn: "状态异常,请查看日志" +ErrAppParamKey: "参数 {{ .name }} 字段异常" #file ErrFileCanNotRead: "此文件不支持预览"