fix: Using correct permissions on datasource and application during crud page instead of edit permissions (#26746)
CRUD Page generation used edit datasource and edit application permissions till now. Updated the same to create page actions and create pages permissions respectively to support custom role creation on BE. Fixes #26738
This commit is contained in:
parent
32753c006a
commit
8014f0bc5d
|
|
@ -226,7 +226,7 @@ public class CreateDBTablePageSolutionCEImpl implements CreateDBTablePageSolutio
|
|||
Mono<NewPage> pageMono = getOrCreatePage(defaultApplicationId, defaultPageId, tableName, branchName);
|
||||
|
||||
Mono<DatasourceStorage> datasourceStorageMono = datasourceService
|
||||
.findById(datasourceId, datasourcePermission.getEditPermission())
|
||||
.findById(datasourceId, datasourcePermission.getActionCreatePermission())
|
||||
.switchIfEmpty(Mono.error(
|
||||
new AppsmithException(AppsmithError.ACL_NO_RESOURCE_FOUND, FieldName.DATASOURCE, datasourceId)))
|
||||
.flatMap(datasource -> datasourceStorageService.findByDatasourceAndEnvironmentIdForExecution(
|
||||
|
|
@ -495,7 +495,10 @@ public class CreateDBTablePageSolutionCEImpl implements CreateDBTablePageSolutio
|
|||
}
|
||||
|
||||
return applicationService
|
||||
.findBranchedApplicationId(branchName, defaultApplicationId, applicationPermission.getEditPermission())
|
||||
.findBranchedApplicationId(
|
||||
branchName, defaultApplicationId, applicationPermission.getPageCreatePermission())
|
||||
.switchIfEmpty(Mono.error(new AppsmithException(
|
||||
AppsmithError.NO_RESOURCE_FOUND, FieldName.APPLICATION, defaultApplicationId)))
|
||||
.flatMapMany(childApplicationId -> newPageService.findByApplicationId(
|
||||
childApplicationId, pagePermission.getEditPermission(), false))
|
||||
.collectList()
|
||||
|
|
|
|||
|
|
@ -6,4 +6,6 @@ public interface DatasourcePermissionCE {
|
|||
AclPermission getDeletePermission();
|
||||
|
||||
AclPermission getExecutePermission();
|
||||
|
||||
AclPermission getActionCreatePermission();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,4 +22,9 @@ public class DatasourcePermissionCEImpl implements DatasourcePermissionCE, Domai
|
|||
public AclPermission getExecutePermission() {
|
||||
return AclPermission.EXECUTE_DATASOURCES;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AclPermission getActionCreatePermission() {
|
||||
return AclPermission.MANAGE_DATASOURCES;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user