From bb8db4f6f3fde7e3a4766591ac55fbe67a6722e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=AE=B8=E6=99=93=E4=B8=9C?= <763795151@qq.com>
Date: Sat, 4 Sep 2021 18:21:47 +0800
Subject: [PATCH] add delete acl entry from acl detail
---
.../console/controller/AclAuthController.java | 11 +++++++
.../console/service/impl/AclServiceImpl.java | 2 +-
.../scala/kafka/console/KafkaAclConsole.scala | 4 +++
ui/src/utils/api.js | 4 +++
ui/src/views/acl/Acl.vue | 3 +-
ui/src/views/acl/AclDetail.vue | 30 +++++++++++++++++--
6 files changed, 49 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/xuxd/kafka/console/controller/AclAuthController.java b/src/main/java/com/xuxd/kafka/console/controller/AclAuthController.java
index c2322b3..f6ba89b 100644
--- a/src/main/java/com/xuxd/kafka/console/controller/AclAuthController.java
+++ b/src/main/java/com/xuxd/kafka/console/controller/AclAuthController.java
@@ -72,6 +72,17 @@ public class AclAuthController {
return aclService.addConsumerAcl(param.toTopicEntry(), param.toGroupEntry());
}
+ /**
+ * delete acl .
+ *
+ * @param entry entry
+ * @return
+ */
+ @DeleteMapping
+ public Object deleteAclByUser(@RequestBody AclEntry entry) {
+ return aclService.deleteAcl(entry);
+ }
+
/**
* delete user acl .
*
diff --git a/src/main/java/com/xuxd/kafka/console/service/impl/AclServiceImpl.java b/src/main/java/com/xuxd/kafka/console/service/impl/AclServiceImpl.java
index 23ec897..5c8b849 100644
--- a/src/main/java/com/xuxd/kafka/console/service/impl/AclServiceImpl.java
+++ b/src/main/java/com/xuxd/kafka/console/service/impl/AclServiceImpl.java
@@ -123,7 +123,7 @@ public class AclServiceImpl implements AclService, SmartInitializingSingleton {
}
@Override public ResponseData deleteAcl(AclEntry entry) {
- return aclConsole.deleteAcl(entry, false, false, false) ? ResponseData.create().success() : ResponseData.create().failed();
+ return aclConsole.deleteAcl(entry) ? ResponseData.create().success() : ResponseData.create().failed();
}
@Override public ResponseData addAcl(AclEntry entry) {
diff --git a/src/main/scala/kafka/console/KafkaAclConsole.scala b/src/main/scala/kafka/console/KafkaAclConsole.scala
index 1aef66d..cd17676 100644
--- a/src/main/scala/kafka/console/KafkaAclConsole.scala
+++ b/src/main/scala/kafka/console/KafkaAclConsole.scala
@@ -121,6 +121,10 @@ class KafkaAclConsole(config: KafkaConfig) extends KafkaConsole(config: KafkaCon
}).asInstanceOf[Boolean]
}
+ def deleteAcl(entry: AclEntry): Boolean = {
+ deleteAcl(Collections.singleton(entry.toAclBindingFilter))
+ }
+
def deleteUserAcl(entry: AclEntry): Boolean = {
val filter: AclBindingFilter = entry.toAclBindingFilter
val delFilter = new AclBindingFilter(new ResourcePatternFilter(ResourceType.ANY, null, filter.patternFilter().patternType()),
diff --git a/ui/src/utils/api.js b/ui/src/utils/api.js
index 98483f6..efe9f28 100644
--- a/ui/src/utils/api.js
+++ b/ui/src/utils/api.js
@@ -39,4 +39,8 @@ export const KafkaAclApi = {
url: "/acl/detail",
method: "post",
},
+ deleteAcl: {
+ url: "/acl",
+ method: "delete",
+ },
};
diff --git a/ui/src/views/acl/Acl.vue b/ui/src/views/acl/Acl.vue
index f2e5d45..6327921 100644
--- a/ui/src/views/acl/Acl.vue
+++ b/ui/src/views/acl/Acl.vue
@@ -328,7 +328,7 @@ function getAclList(data, requestParameters) {
}
const columns = [
- { title: "用户名", dataIndex: "username", key: "username" },
+ { title: "用户名", dataIndex: "username", key: "username", width: 200 },
{
title: "topic列表",
dataIndex: "topicList",
@@ -347,6 +347,7 @@ const columns = [
title: "操作",
key: "operation",
scopedSlots: { customRender: "operation" },
+ width: 350,
},
];
diff --git a/ui/src/views/acl/AclDetail.vue b/ui/src/views/acl/AclDetail.vue
index 2e30a66..358dbef 100644
--- a/ui/src/views/acl/AclDetail.vue
+++ b/ui/src/views/acl/AclDetail.vue
@@ -23,7 +23,16 @@
}
"
>>
- {{ text }}
+
+
+ 删除
+
+
@@ -98,8 +107,23 @@ export default {
this.$message.error(res.msg);
} else {
this.data = res.data.list;
- // this.data.slice(0, data.length);
- // this.data.push(...res.data.list);
+ }
+ });
+ },
+ onDelete(record) {
+ const param = Object.assign({}, record);
+ delete param["null"];
+ const api = KafkaAclApi.deleteAcl;
+ request({
+ url: api.url,
+ method: api.method,
+ data: param,
+ }).then((res) => {
+ if (res.code != 0) {
+ this.$message.error(res.msg);
+ } else {
+ this.$message.success(res.msg);
+ this.getAclDetail();
}
});
},