From b26b482f6e72a7fd57bab18adadd31f6110611fe Mon Sep 17 00:00:00 2001 From: Hu Gang <18768366022@163.com> Date: Sat, 30 Nov 2024 15:29:49 +0800 Subject: [PATCH] modify host group input parameter verification --- ...t-group-input-parameter-verification.patch | 193 ++++++++++++++++++ aops-hermes.spec | 6 +- 2 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 0001-Modify-host-group-input-parameter-verification.patch diff --git a/0001-Modify-host-group-input-parameter-verification.patch b/0001-Modify-host-group-input-parameter-verification.patch new file mode 100644 index 0000000..8402b94 --- /dev/null +++ b/0001-Modify-host-group-input-parameter-verification.patch @@ -0,0 +1,193 @@ +From 1e59894bd65c00ecc8d7b546b034df40c79c6494 Mon Sep 17 00:00:00 2001 +From: Hu Gang <18768366022@163.com> +Date: Wed, 27 Nov 2024 11:25:40 +0800 +Subject: [PATCH] Modify host group input parameter verification + +--- + .eslintignore | 1 + + .eslintrc.js | 3 ++ + src/locales/lang/en.json | 4 +- + src/locales/lang/zh-cn.json | 4 +- + .../assests/components/AddHostGroupModal.vue | 41 ++++++++----------- + src/views/execution/Scripts.vue | 8 +++- + 6 files changed, 30 insertions(+), 31 deletions(-) + +diff --git a/.eslintignore b/.eslintignore +index 2b26093..b33de94 100644 +--- a/.eslintignore ++++ b/.eslintignore +@@ -4,3 +4,4 @@ package.json + + .vscode + .idea ++.eslintrc.js +diff --git a/.eslintrc.js b/.eslintrc.js +index c83a20c..5942158 100644 +--- a/.eslintrc.js ++++ b/.eslintrc.js +@@ -32,5 +32,8 @@ module.exports = { + indent: ["error", 2], + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-unused-expressions": 'off', ++ "vue/valid-define-props": "off", ++ "vue/valid-define-emits": "off", ++ "vue/multi-word-component-names": "off" + }, + } +diff --git a/src/locales/lang/en.json b/src/locales/lang/en.json +index 4440bbe..a9f9f06 100644 +--- a/src/locales/lang/en.json ++++ b/src/locales/lang/en.json +@@ -138,9 +138,9 @@ + "descriptionTwo": "There cannot be a >< symbol", + "hostGroup": "Please select the host group", + "hostGroup_input": "Please enter a host group name", +- "hostGroup_one": "It must start with a lowercase letter and cannot end with an underscore.", ++ "hostGroup_one": "The host group name must start with a lowercase letter and not end with an underscore.", + "hostGroup_three": "The name should consist of numbers, lowercase letters, and underscores.", +- "hostGroup_two": "It must start with a lowercase letter and cannot end with an underscore.", ++ "hostGroup_two": "The host group name should be less than 20 characters long.", + "hostName": "The host name length should be less than 50", + "hostName_one": "No leading or trailing spaces are allowed", + "hostName_two": "No full spaces allowed", +diff --git a/src/locales/lang/zh-cn.json b/src/locales/lang/zh-cn.json +index e8d58d5..207110f 100644 +--- a/src/locales/lang/zh-cn.json ++++ b/src/locales/lang/zh-cn.json +@@ -138,9 +138,9 @@ + "descriptionTwo": "不能有><符号", + "hostGroup": "请选择所属主机组", + "hostGroup_input": "请输入主机组名称", +- "hostGroup_one": "以小写字母开头,且结尾不能是英文下划线", ++ "hostGroup_one": "主机组名称以小写字母开头,且不以英文下划线结尾", + "hostGroup_three": "名称应由数字、小写字母、英文下划线组成", +- "hostGroup_two": "以小写字母开头,且结尾不能是英文下划线", ++ "hostGroup_two": "主机组名称长度应小于20", + "hostName": "主机名长度应小于50", + "hostName_one": "首尾不允许空格", + "hostName_two": "不允许全空格", +diff --git a/src/views/assests/components/AddHostGroupModal.vue b/src/views/assests/components/AddHostGroupModal.vue +index 205e904..ecac117 100644 +--- a/src/views/assests/components/AddHostGroupModal.vue ++++ b/src/views/assests/components/AddHostGroupModal.vue +@@ -44,12 +44,15 @@ const form = reactive
({ + * @param value + */ + function validateGroupName(_rule: Rule, value: string) { +- if (/[^0-9a-z_]/.test(value)) +- return Promise.reject(new Error(t('assests.validateMsg.hostGroup_one'))) +- if (/^[^a-z]/.test(value)) ++ if (!value) { ++ return Promise.resolve() ++ } ++ if (value.length > 20) { + return Promise.reject(new Error(t('assests.validateMsg.hostGroup_two'))) +- if (value.endsWith('_')) +- return Promise.reject(new Error(t('assests.validateMsg.hostGroup_three'))) ++ } ++ if (!/^[a-z](?:[^\n]{0,18})(? 60) +- return Promise.reject(new Error(t('assests.validateMsg.descriptionOne'))) +- if (/[<>]/.test(value)) +- return Promise.reject(new Error(t('assests.validateMsg.descriptionTwo'))) ++ if (value.length > 60) return Promise.reject(new Error(t('assests.validateMsg.descriptionOne'))) ++ if (/[<>]/.test(value)) return Promise.reject(new Error(t('assests.validateMsg.descriptionTwo'))) + return Promise.resolve() + } + +@@ -74,10 +75,7 @@ async function addNewHostGroup() { + try { + await formRef.value.validate() + +- const params: Record< +- string, +- { host_group_name: string, description: string, cluster_id: string } +- > = {} ++ const params: Record = {} + params[form.cluster_id!] = { + description: form.desc, + host_group_name: form.hostName, +@@ -91,19 +89,16 @@ async function addNewHostGroup() { + message: t('common.fail'), + description: Object.values(res)[0].label, + }) +- } +- else { ++ } else { + message.success(t('common.succeed')) + } + visible.value = false + emits('success') + formRef.value.resetFields() + } +- } +- catch { ++ } catch { + isLoading.value = false +- } +- finally { ++ } finally { + isLoading.value = false + } + } +@@ -139,9 +134,7 @@ function handleClose() { + + + +@@ -164,9 +157,7 @@ function handleClose() { + :placeholder="t('assests.placeHolder.hostGroupInput')" + > + +diff --git a/src/views/execution/Scripts.vue b/src/views/execution/Scripts.vue +index ae98301..00959f7 100644 +--- a/src/views/execution/Scripts.vue ++++ b/src/views/execution/Scripts.vue +@@ -108,6 +108,11 @@ function handleRefresh() { + getScripts() + } + ++function handleNewScriptCanceled() { ++ tableState.selectedScriptId = '' ++ isModalVisible.value = false ++} ++ + onMounted(() => { + getScripts() + }) +@@ -168,9 +173,8 @@ onMounted(() => { + :visible="isModalVisible" + :script-id="tableState.selectedScriptId" + @success="handleSuccess" +- @cancel="isModalVisible = false" ++ @cancel="handleNewScriptCanceled" + /> + + + +- +-- +2.33.0 + diff --git a/aops-hermes.spec b/aops-hermes.spec index 147786f..2e340a2 100644 --- a/aops-hermes.spec +++ b/aops-hermes.spec @@ -2,12 +2,13 @@ Name: aops-hermes Version: v2.1.1 -Release: 1 +Release: 2 Summary: Web for an intelligent diagnose frame License: MulanPSL2 URL: https://gitee.com/openeuler/%{name} Source0: %{name}-%{version}.tar.gz Source1: node_modules.tar.gz +Patch001: 0001-Modify-host-group-input-parameter-verification.patch BuildRequires: nodejs @@ -36,6 +37,9 @@ cp -r deploy/aops-hermes.service %{buildroot}/usr/lib/systemd/system/ %changelog +* Sat Nov 30 2024 Hu gang<18768366022@163.com> - v2.1.1-2 +- modify host group input parameter verification + * Mon Nov 18 2024 Hu gang<18768366022@163.com> - v2.1.1-1 - Integrate Authhub and Osmind in Aops - Fixed some international translation issues