!206 优化上传主机组入参校验
From: @hu-gang Reviewed-by: @Lostwayzxc Signed-off-by: @Lostwayzxc
This commit is contained in:
commit
d1909a6e3e
193
0001-Modify-host-group-input-parameter-verification.patch
Normal file
193
0001-Modify-host-group-input-parameter-verification.patch
Normal file
@ -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<Form>({
|
||||
* @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})(?<!_)$/.test(value)) {
|
||||
+ return Promise.reject(new Error(t('assests.validateMsg.hostGroup_one')))
|
||||
+ }
|
||||
return Promise.resolve()
|
||||
}
|
||||
|
||||
@@ -59,10 +62,8 @@ function validateGroupName(_rule: Rule, value: string) {
|
||||
* @param value
|
||||
*/
|
||||
function validateDesc(_rule: Rule, value: string) {
|
||||
- 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')))
|
||||
+ 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<string, { host_group_name: string; description: string; cluster_id: string }> = {}
|
||||
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() {
|
||||
<a-select v-model:value="form.cluster_id" :placeholder="t('assests.placeHolder.cluster')">
|
||||
<template v-for="cluster in clusters" :key="cluster.cluster_id">
|
||||
<a-select-option :value="cluster.cluster_id">
|
||||
- {{
|
||||
- cluster.cluster_name
|
||||
- }}
|
||||
+ {{ cluster.cluster_name }}
|
||||
</a-select-option>
|
||||
</template>
|
||||
</a-select>
|
||||
@@ -164,9 +157,7 @@ function handleClose() {
|
||||
:placeholder="t('assests.placeHolder.hostGroupInput')"
|
||||
>
|
||||
<template #suffix>
|
||||
- <a-tooltip
|
||||
- :title="$t('assests.tips.hostGroupName')"
|
||||
- >
|
||||
+ <a-tooltip :title="$t('assests.tips.hostGroupName')">
|
||||
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
|
||||
</a-tooltip>
|
||||
</template>
|
||||
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"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
||||
-
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user