diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceService.java index 50b5150817..1c9e80b4c4 100644 --- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceService.java +++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceService.java @@ -95,9 +95,10 @@ public interface StreamSourceService { * Paging query source information based on conditions. * * @param request paging request. + * @param operator Operator's name. * @return source list */ - PageResult listByCondition(SourcePageRequest request); + PageResult listByCondition(SourcePageRequest request, String operator); /** * Paging query source information based on conditions. diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java index c2746e0d0a..0f9296d4d2 100644 --- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java +++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java @@ -223,10 +223,17 @@ public Map> getSourcesMap(InlongGroupInfo groupInfo, } @Override - public PageResult listByCondition(SourcePageRequest request) { + public PageResult listByCondition(SourcePageRequest request, String operator) { PageHelper.startPage(request.getPageNum(), request.getPageSize()); OrderFieldEnum.checkOrderField(request); OrderTypeEnum.checkOrderType(request); + InlongGroupEntity groupEntity = + groupMapper.selectByGroupId(request.getInlongGroupId()); + if (groupEntity == null) { + throw new BusinessException(ErrorCodeEnum.GROUP_NOT_FOUND); + } + userService.checkUser(groupEntity.getInCharges(), operator, + "Current user does not have permission to list source info"); Page entityPage = (Page) sourceMapper.selectByCondition(request); // Encapsulate the paging query results into the PageInfo object to obtain related paging information Map> sourceMap = Maps.newHashMap(); @@ -557,6 +564,12 @@ private void chkUnmodifiableParams(SourceRequest request) { @Override public List addDataAddTask(DataAddTaskRequest request, String operator) { LOGGER.info("begin to add data add task info: {}", request); + InlongGroupEntity groupEntity = groupMapper.selectByGroupId(request.getGroupId()); + if (groupEntity == null) { + throw new BusinessException(ErrorCodeEnum.GROUP_NOT_FOUND, + String.format("InlongGroup does not exist with InlongGroupId=%s", request.getGroupId())); + } + userService.checkUser(request.getGroupId(), operator, "current user not allowed to add data add task"); String auditVersion = String.valueOf(sourceMapper.selectDataAddTaskCount(request.getGroupId(), null)); request.setAuditVersion(auditVersion); List agentIpList = request.getAgentIpList(); diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java index 4253747ee1..e60a2f8bb8 100644 --- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java +++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java @@ -83,7 +83,7 @@ public Response get(@PathVariable Integer id) { @RequestMapping(value = "/source/list", method = RequestMethod.POST) @ApiOperation(value = "List stream sources by paginating") public Response> listByCondition(@RequestBody SourcePageRequest request) { - return Response.success(sourceService.listByCondition(request)); + return Response.success(sourceService.listByCondition(request, LoginUserUtils.getLoginUser().getName())); } @RequestMapping(value = "/source/update", method = RequestMethod.POST)