This is an automated email from the ASF dual-hosted git repository.
dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push:
new 2b5146c6d7 [INLONG-8442][Manager] Support delete tenant and tenant
role (#8463)
2b5146c6d7 is described below
commit 2b5146c6d71658a35a52b1d44b1cf8272375520d
Author: castor <[email protected]>
AuthorDate: Fri Jul 7 23:09:06 2023 +0800
[INLONG-8442][Manager] Support delete tenant and tenant role (#8463)
Co-authored-by: castorqin <[email protected]>
---
.../inlong/manager/service/tenant/InlongTenantService.java | 7 +++++++
.../manager/service/tenant/InlongTenantServiceImpl.java | 12 ++++++++++++
.../inlong/manager/service/user/TenantRoleService.java | 8 ++++++++
.../inlong/manager/service/user/TenantRoleServiceImpl.java | 11 +++++++++++
.../manager/web/controller/InlongTenantController.java | 8 ++++++++
.../manager/web/controller/InlongTenantRoleController.java | 7 +++++++
6 files changed, 53 insertions(+)
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantService.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantService.java
index 909a73018d..0d76ce0e13 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantService.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantService.java
@@ -61,4 +61,11 @@ public interface InlongTenantService {
*/
Boolean update(InlongTenantRequest request);
+ /**
+ * Delete tenant by name
+ *
+ * @param name tenant name
+ * @return true= delete success/ false = delete fail
+ */
+ Boolean delete(String name);
}
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
index 48b059ba6c..6aea00c35b 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
@@ -21,6 +21,7 @@ import
org.apache.inlong.manager.common.consts.InlongConstants;
import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
import org.apache.inlong.manager.common.exceptions.BusinessException;
import org.apache.inlong.manager.common.util.CommonBeanUtils;
+import org.apache.inlong.manager.common.util.Preconditions;
import org.apache.inlong.manager.dao.entity.InlongTenantEntity;
import org.apache.inlong.manager.dao.mapper.InlongTenantEntityMapper;
import org.apache.inlong.manager.pojo.common.PageResult;
@@ -121,6 +122,17 @@ public class InlongTenantServiceImpl implements
InlongTenantService {
return true;
}
+ @Override
+ public Boolean delete(String name) {
+ String operator = LoginUserUtils.getLoginUser().getName();
+ log.info("begin to delete inlong tenant name={} by user={}", name,
operator);
+ InlongTenantEntity inlongTenantEntity =
inlongTenantEntityMapper.selectByName(name);
+ int success =
inlongTenantEntityMapper.deleteById(inlongTenantEntity.getId());
+ Preconditions.expectTrue(success == 1, "delete failed");
+ log.info("success delete inlong tenant name={} by user={}", name,
operator);
+ return true;
+ }
+
private void setTargetTenantList(InlongTenantPageRequest request, UserInfo
userInfo) {
request.setKeyword(null);
if (isInlongRoles(userInfo)) {
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleService.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleService.java
index ec9e9f4e6c..6add8e0a28 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleService.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleService.java
@@ -58,4 +58,12 @@ public interface TenantRoleService {
* List tenant by given username
*/
List<String> listTenantByUsername(String username);
+
+ /**
+ * Delete tenant role by id
+ *
+ * @param id tenant role
+ * @return true = delete success/ false = delete fail
+ */
+ Boolean delete(Integer id);
}
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
index af1ec7c1ed..a0c038c3de 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
@@ -27,6 +27,7 @@ import
org.apache.inlong.manager.dao.entity.TenantUserRoleEntity;
import org.apache.inlong.manager.dao.mapper.InlongTenantEntityMapper;
import org.apache.inlong.manager.dao.mapper.TenantUserRoleEntityMapper;
import org.apache.inlong.manager.pojo.common.PageResult;
+import org.apache.inlong.manager.pojo.user.LoginUserUtils;
import org.apache.inlong.manager.pojo.user.TenantRoleInfo;
import org.apache.inlong.manager.pojo.user.TenantRolePageRequest;
import org.apache.inlong.manager.pojo.user.TenantRoleRequest;
@@ -126,4 +127,14 @@ public class TenantRoleServiceImpl implements
TenantRoleService {
return tenantUserRoleEntityMapper.listByUsername(username);
}
+ @Override
+ public Boolean delete(Integer id) {
+ String operator = LoginUserUtils.getLoginUser().getName();
+ log.info("begin to delete inlong tenant role id={} by user={}", id,
operator);
+ int success = tenantUserRoleEntityMapper.deleteById(id);
+ Preconditions.expectTrue(success == 1, "delete tenant role failed");
+ log.info("success delete inlong tenant role id={} by user={}", id,
operator);
+ return true;
+ }
+
}
diff --git
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongTenantController.java
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongTenantController.java
index 8a078f653c..1726244396 100644
---
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongTenantController.java
+++
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongTenantController.java
@@ -82,4 +82,12 @@ public class InlongTenantController {
return Response.success(tenantService.update(request));
}
+ @RequestMapping(value = "/tenant/delete/{name}", method =
RequestMethod.GET)
+ @ApiOperation(value = "Delete inlong tenant by name")
+ @ApiImplicitParam(name = "name", dataTypeClass = String.class, required =
true)
+ @RequiresRoles(logical = Logical.OR, value = {INLONG_ADMIN})
+ public Response<Boolean> delete(@PathVariable String name) {
+ return Response.success(tenantService.delete(name));
+ }
+
}
diff --git
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongTenantRoleController.java
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongTenantRoleController.java
index 6806fd9e1e..39a9484d7c 100644
---
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongTenantRoleController.java
+++
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongTenantRoleController.java
@@ -81,4 +81,11 @@ public class InlongTenantRoleController {
return Response.success(tenantRoleService.listByCondition(request));
}
+ @RequestMapping(value = "/role/tenant/delete/{id}", method =
RequestMethod.DELETE)
+ @ApiOperation(value = "Delete tenant role by ID")
+ @ApiImplicitParam(name = "id", dataTypeClass = Integer.class, required =
true)
+ @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ public Response<Boolean> delete(@PathVariable int id) {
+ return Response.success(tenantRoleService.delete(id));
+ }
}