diff --git a/km-console/packages/layout-clusters-fe/src/pages/SecurityACLs/EditDrawer.tsx b/km-console/packages/layout-clusters-fe/src/pages/SecurityACLs/EditDrawer.tsx index e155f3da..1cc3a909 100644 --- a/km-console/packages/layout-clusters-fe/src/pages/SecurityACLs/EditDrawer.tsx +++ b/km-console/packages/layout-clusters-fe/src/pages/SecurityACLs/EditDrawer.tsx @@ -132,17 +132,35 @@ const AddDrawer = forwardRef((_, ref) => { form.validateFields().then((formData) => { const submitData = []; const { configType, principle, kafkaUser } = formData; - if (configType === 'custom') { // 1. 自定义权限 // TODO: 需要和后端联调 - const { resourceType, resourcePatternType, aclPermissionType, aclOperation, aclClientHost } = formData; + const { + resourceType, + resourcePatternType, + aclPermissionType, + aclOperation, + aclClientHost, + cluster, + topicName, + topicPatternType, + groupName, + groupPatternType, + transactionalId, + transactionalIdPatternType, + } = formData; submitData.push({ clusterId, kafkaUser: principle === 'all' ? '*' : kafkaUser, resourceType, - resourcePatternType, - resourceName: '*', + resourcePatternType: cluster + ? 3 + : topicPatternType + ? topicPatternType + : groupPatternType + ? groupPatternType + : transactionalIdPatternType, + resourceName: cluster ? cluster : topicName ? topicName : groupName ? groupName : transactionalId, aclPermissionType, aclOperation, aclClientHost, @@ -348,37 +366,43 @@ const AddDrawer = forwardRef((_, ref) => { {({ getFieldValue }) => getFieldValue(`${type}Principle`) === 'special' ? ( - ({ - validator: (rule: any, value: string) => { - if (!value) { - return Promise.reject(`${UpperCaseType}Name 不能为空`); + type !== 'transactionalId' ? ( + ({ + validator: (rule: any, value: string) => { + if (!value) { + return Promise.reject(`${UpperCaseType}Name 不能为空`); + } + if (type === 'topic' && getFieldValue(`${type}PatternType`) === ACL_PATTERN_TYPE['Literal']) { + return Utils.request(api.getTopicMetadata(clusterId as any, value)).then((res: any) => { + return res?.exist ? Promise.resolve() : Promise.reject('该 Topic 不存在'); + }); + } + return Promise.resolve(); + }, + }), + ]} + > + { + if (option?.value.includes(value)) { + return true; } - if (type === 'topic' && getFieldValue(`${type}PatternType`) === ACL_PATTERN_TYPE['Literal']) { - return Utils.request(api.getTopicMetadata(clusterId as any, value)).then((res: any) => { - return res?.exist ? Promise.resolve() : Promise.reject('该 Topic 不存在'); - }); - } - return Promise.resolve(); - }, - }), - ]} - > - { - if (option?.value.includes(value)) { - return true; - } - return false; - }} - options={type === 'topic' ? topicMetaData : groupMetaData} - placeholder={`请输入 ${type}Name`} - /> - + return false; + }} + options={type === 'topic' ? topicMetaData : groupMetaData} + placeholder={`请输入 ${type}Name`} + /> + + ) : ( + + + + ) ) : null } @@ -400,7 +424,7 @@ const AddDrawer = forwardRef((_, ref) => { Deny - { Literal Prefixed - + */} { {({ getFieldValue }) => { const type = getFieldValue('resourceType'); - if (type === ACL_RESOURCE_TYPE['Cluster'] || type === ACL_RESOURCE_TYPE['TransactionalId']) { + if (type === ACL_RESOURCE_TYPE['Cluster']) { //TODO需要和后端获取集群和事务接口联调 return ( { ); + } else if (type === ACL_RESOURCE_TYPE['TransactionalId']) { + return ; } else if (type === ACL_RESOURCE_TYPE['Topic']) { return ; } else if (type === ACL_RESOURCE_TYPE['Group']) {