fix: Adding user permissions in the response of move JS object between pages (#19212)

Fixes https://github.com/appsmithorg/appsmith/issues/19129
This commit is contained in:
Trisha Anand 2022-12-26 18:32:23 +05:30 committed by GitHub
parent ed05814abf
commit 54fb76d2d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 4 deletions

View File

@ -1,5 +1,6 @@
package com.appsmith.server.services.ce;
import com.appsmith.external.models.ActionDTO;
import com.appsmith.external.models.DefaultResources;
import com.appsmith.external.models.Policy;
import com.appsmith.server.acl.AclPermission;
@ -11,7 +12,6 @@ import com.appsmith.server.domains.NewPage;
import com.appsmith.server.domains.Page;
import com.appsmith.server.dtos.ActionCollectionDTO;
import com.appsmith.server.dtos.ActionCollectionViewDTO;
import com.appsmith.external.models.ActionDTO;
import com.appsmith.server.exceptions.AppsmithError;
import com.appsmith.server.exceptions.AppsmithException;
import com.appsmith.server.helpers.DefaultResourcesUtils;
@ -50,9 +50,6 @@ import java.util.Set;
import java.util.stream.Collectors;
import static com.appsmith.external.helpers.AppsmithBeanUtils.copyNewFieldValuesIntoOldObject;
import static com.appsmith.server.acl.AclPermission.EXECUTE_ACTIONS;
import static com.appsmith.server.acl.AclPermission.MANAGE_ACTIONS;
import static com.appsmith.server.acl.AclPermission.READ_ACTIONS;
import static java.lang.Boolean.TRUE;
@Slf4j
@ -317,6 +314,7 @@ public class ActionCollectionServiceCEImpl extends BaseService<ActionCollectionR
return dbActionCollection;
})
.flatMap(actionCollection -> this.update(id, actionCollection))
.flatMap(repository::setUserPermissionsInObject)
.flatMap(actionCollection -> this.generateActionCollectionByViewMode(actionCollection, false)
.flatMap(actionCollectionDTO1 -> this.populateActionCollectionByViewMode(
actionCollection.getUnpublishedCollection(),

View File

@ -808,6 +808,10 @@ public class ActionCollectionServiceImplTest {
.when(responseUtils.updateLayoutDTOWithDefaultResources(Mockito.any()))
.thenReturn(layout);
Mockito
.when(actionCollectionRepository.setUserPermissionsInObject(Mockito.any()))
.thenReturn(Mono.just(oldActionCollection));
final Mono<LayoutDTO> layoutDTOMono = layoutCollectionService.refactorCollectionName(refactorActionCollectionNameDTO, null);
StepVerifier
@ -872,6 +876,10 @@ public class ActionCollectionServiceImplTest {
.when(reactiveMongoTemplate.updateFirst(Mockito.any(), Mockito.any(), Mockito.any(Class.class)))
.thenReturn(Mono.just(UpdateResult.acknowledged(1, 1L, new BsonObjectId())));
Mockito
.when(actionCollectionRepository.setUserPermissionsInObject(Mockito.any()))
.thenReturn(Mono.just(oldActionCollection));
LayoutDTO layout = new LayoutDTO();
final JSONObject jsonObject = new JSONObject();
jsonObject.put("key", "value");
@ -977,6 +985,10 @@ public class ActionCollectionServiceImplTest {
.when(layoutActionService.updateLayout(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any()))
.thenReturn(Mono.just(layout));
Mockito
.when(actionCollectionRepository.setUserPermissionsInObject(Mockito.any()))
.thenReturn(Mono.just(actionCollection));
final Mono<ActionCollectionDTO> actionCollectionDTOMono = layoutCollectionService.moveCollection(actionCollectionMoveDTO);
StepVerifier