Prechádzať zdrojové kódy

delete checkAuth method, using hasProjectAndPerm instead. (#1109)

* move updateTaskState into try/catch block in case of exception

* fix NPE

* using conf.getInt instead of getString

* for AbstractZKClient, remove the log, for it will print the same log message in createZNodePath.
for AlertDao, correct the spelling.

* duplicate

* refactor getTaskWorkerGroupId

* add friendly log

* update hearbeat thread num = 1

* fix the bug when worker execute task using queue. and remove checking Tenant user anymore in TaskScheduleThread

* 1. move verifyTaskInstanceIsNull after taskInstance
2. keep verifyTenantIsNull/verifyTaskInstanceIsNull clean and readable

* fix the message

* delete before check to avoid KeeperException$NoNodeException

* fix the message

* check processInstance state before delete tenant

* check processInstance state before delete worker group

* refactor

* merge api constants into common constatns

* update the resource perm

* update the dataSource perm

* fix CheckUtils.checkUserParams method

* update AlertGroupService, extends from BaseService, remove duplicate methods

* refactor

* modify method name

* add hasProjectAndPerm method

* using checkProject instead of getResultStatus

* delete checkAuth method, using hasProjectAndPerm instead.
Tboy 5 rokov pred
rodič
commit
6b0f9b7b21

+ 17 - 33
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/SchedulerService.java

@@ -104,9 +104,9 @@ public class SchedulerService extends BaseService {
         Project project = projectMapper.queryByName(projectName);
 
         // check project auth
-        Map<String, Object> checkResult = checkAuth(loginUser, projectName, project);
-        if (checkResult != null) {
-            return checkResult;
+        boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result);
+        if (!hasProjectAndPerm) {
+            return result;
         }
 
         // check work flow define release state
@@ -186,9 +186,9 @@ public class SchedulerService extends BaseService {
         Project project = projectMapper.queryByName(projectName);
 
         // check project auth
-        Map<String, Object> checkResult = checkAuth(loginUser, projectName, project);
-        if (checkResult != null) {
-            return checkResult;
+        boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result);
+        if (!hasProjectAndPerm) {
+            return result;
         }
 
         // check schedule exists
@@ -276,9 +276,10 @@ public class SchedulerService extends BaseService {
         Map<String, Object> result = new HashMap<String, Object>(5);
 
         Project project = projectMapper.queryByName(projectName);
-        Map<String, Object> checkResult = checkAuth(loginUser, projectName, project);
-        if (checkResult != null) {
-            return checkResult;
+        // check project auth
+        boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result);
+        if (!hasProjectAndPerm) {
+            return result;
         }
 
         // check schedule exists
@@ -389,9 +390,9 @@ public class SchedulerService extends BaseService {
         Project project = projectMapper.queryByName(projectName);
 
         // check project auth
-        Map<String, Object> checkResult = checkAuth(loginUser, projectName, project);
-        if (checkResult != null) {
-            return checkResult;
+        boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result);
+        if (!hasProjectAndPerm) {
+            return result;
         }
 
         ProcessDefinition processDefinition = processDao.findProcessDefineById(processDefineId);
@@ -426,9 +427,9 @@ public class SchedulerService extends BaseService {
         Project project = projectMapper.queryByName(projectName);
 
         // check project auth
-        Map<String, Object> checkResult = checkAuth(loginUser, projectName, project);
-        if (checkResult != null) {
-            return checkResult;
+        boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result);
+        if (!hasProjectAndPerm) {
+            return result;
         }
 
         List<Schedule> schedules = scheduleMapper.querySchedulerListByProjectName(projectName);
@@ -500,23 +501,6 @@ public class SchedulerService extends BaseService {
         return false;
     }
 
-    /**
-     *
-     * @param loginUser
-     * @param projectName
-     * @param project
-     * @return
-     */
-    private Map<String, Object> checkAuth(User loginUser, String projectName, Project project) {
-        // check project auth
-        Map<String, Object> checkResult = projectService.checkProjectAndAuth(loginUser, project, projectName);
-        Status resultEnum = (Status) checkResult.get(Constants.STATUS);
-        if (resultEnum != Status.SUCCESS) {
-            return checkResult;
-        }
-        return null;
-    }
-
     /**
      * delete schedule by id
      *
@@ -589,7 +573,7 @@ public class SchedulerService extends BaseService {
             return result;
         }
         List<Date> selfFireDateList = CronUtils.getSelfFireDateList(startTime, endTime,cronExpression);
-        result.put(Constants.DATA_LIST, selfFireDateList.stream().map(t -> DateUtils.dateToString(t)).limit(org.apache.dolphinscheduler.common.Constants.PREVIEW_SCHEDULE_EXECUTE_COUNT));
+        result.put(Constants.DATA_LIST, selfFireDateList.stream().map(t -> DateUtils.dateToString(t)).limit(Constants.PREVIEW_SCHEDULE_EXECUTE_COUNT));
         putMsg(result, Status.SUCCESS);
         return result;
     }