This is an automated email from the ASF dual-hosted git repository.

xxyu pushed a commit to branch kylin5
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 40b34bd2a868bd2faa73f12d1f34e4d37fa2e90a
Author: Hang Jia <754332...@qq.com>
AuthorDate: Thu Apr 6 18:05:08 2023 +0800

    [DIRTY] kylin 4.X role Operation &Management design index behavior correct 
(#30257)
---
 .../kap/secondstorage/management/SecondStorageService.java   | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git 
a/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/SecondStorageService.java
 
b/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/SecondStorageService.java
index 0859aa12c3..ff8ed15e2d 100644
--- 
a/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/SecondStorageService.java
+++ 
b/src/second-storage/core-ui/src/main/java/io/kyligence/kap/secondstorage/management/SecondStorageService.java
@@ -977,6 +977,12 @@ public class SecondStorageService extends BasicService 
implements SecondStorageU
         }
     }
 
+    public void isProjectOperationDesign(String project) {
+        if (!KylinConfig.getInstanceFromEnv().isUTEnv()) {
+            aclEvaluate.checkProjectOperationDesignPermission(project);
+        }
+    }
+
     public void isGlobalAdmin() {
         if (!KylinConfig.getInstanceFromEnv().isUTEnv()) {
             aclEvaluate.checkIsGlobalAdmin();
@@ -1001,7 +1007,7 @@ public class SecondStorageService extends BasicService 
implements SecondStorageU
 
     public UpdateIndexResponse updateIndexByColumnName(String project, String 
modelId, List<String> primaryIndexNames,
             Set<String> secondaryColumnNames) {
-        isProjectAdmin(project);
+        isProjectOperationDesign(project);
         checkUpdateIndex(project, modelId);
         checkColumnExist(project, modelId, primaryIndexNames);
         checkColumnExist(project, modelId, secondaryColumnNames);
@@ -1071,7 +1077,7 @@ public class SecondStorageService extends BasicService 
implements SecondStorageU
     }
 
     public void deletePrimaryIndex(String project, String modelId, long 
layoutId) {
-        isProjectAdmin(project);
+        isProjectOperationDesign(project);
         checkUpdateIndex(project, modelId);
         val layoutEntity = checkoutLayoutId(project, modelId, layoutId);
         EnhancedUnitOfWork.doInTransactionWithCheckAndRetry(() -> {
@@ -1081,7 +1087,7 @@ public class SecondStorageService extends BasicService 
implements SecondStorageU
     }
 
     public String deleteSecondaryIndex(String project, String modelId, long 
layoutId) {
-        isProjectAdmin(project);
+        isProjectOperationDesign(project);
         checkUpdateIndex(project, modelId);
         val layoutEntity = checkoutLayoutId(project, modelId, layoutId);
         return EnhancedUnitOfWork.doInTransactionWithCheckAndRetry(

Reply via email to