Fix getFullStakeholder by removing visibility authority.

This commit is contained in:
Konstantinos Triantafyllou 2024-05-30 22:54:50 +03:00
parent a73db0e081
commit 4325e1fdb0
2 changed files with 19 additions and 26 deletions

View File

@ -1,12 +1,10 @@
package eu.dnetlib.uoamonitorservice.controllers;
import eu.dnetlib.uoaadmintoolslibrary.entities.Portal;
import eu.dnetlib.uoaadmintoolslibrary.handlers.ForbiddenException;
import eu.dnetlib.uoaadmintoolslibrary.services.PortalService;
import eu.dnetlib.uoamonitorservice.dto.copy;
import eu.dnetlib.uoamonitorservice.dto.StakeholderFull;
import eu.dnetlib.uoamonitorservice.dto.copy;
import eu.dnetlib.uoamonitorservice.entities.Stakeholder;
import eu.dnetlib.uoamonitorservice.generics.StakeholderGeneric;
import eu.dnetlib.uoamonitorservice.primitives.Visibility;
import eu.dnetlib.uoamonitorservice.service.CommonService;
import eu.dnetlib.uoamonitorservice.service.StakeholderService;
@ -17,7 +15,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.stream.Collectors;
@RestController
@CrossOrigin(origins = "*")

View File

@ -40,7 +40,7 @@ public class StakeholderService {
}
public Stakeholder findByPath(String stakeholderId) {
if(stakeholderId.equals("-1")) {
if (stakeholderId.equals("-1")) {
return null;
}
return dao.findById(stakeholderId).orElseThrow(() -> new EntityNotFoundException("Stakeholder with id: " + stakeholderId + " not found"));
@ -81,29 +81,25 @@ public class StakeholderService {
}
public StakeholderFull getFullStakeholder(Stakeholder stakeholder) {
if (this.commonService.hasVisibilityAuthority(stakeholder.getType(), stakeholder.getAlias(), stakeholder)) {
if(!stakeholder.isCopy() && stakeholder.getDefaultId() != null) {
Stakeholder defaultStakeholder = this.findByPath(stakeholder.getDefaultId());
if(defaultStakeholder != null) {
return new StakeholderFull(stakeholder,
defaultStakeholder.getTopics().stream()
.map(topicId -> topicService.getFullTopic(stakeholder.getType(), stakeholder.getAlias(), topicId))
.collect(Collectors.toList()));
}
if (!stakeholder.isCopy() && stakeholder.getDefaultId() != null) {
Stakeholder defaultStakeholder = this.findByPath(stakeholder.getDefaultId());
if (defaultStakeholder != null) {
return new StakeholderFull(stakeholder,
defaultStakeholder.getTopics().stream()
.map(topicId -> topicService.getFullTopic(stakeholder.getType(), stakeholder.getAlias(), topicId))
.collect(Collectors.toList()));
}
return new StakeholderFull(stakeholder,
stakeholder.getTopics().stream()
.map(topicId -> topicService.getFullTopic(stakeholder.getType(), stakeholder.getAlias(), topicId))
.collect(Collectors.toList()));
} else {
return null;
}
return new StakeholderFull(stakeholder,
stakeholder.getTopics().stream()
.map(topicId -> topicService.getFullTopic(stakeholder.getType(), stakeholder.getAlias(), topicId))
.collect(Collectors.toList()));
}
public Stakeholder buildStakeholder(Stakeholder stakeholder, String copyId) {
if(stakeholder.getDefaultId() == null) {
if (stakeholder.getDefaultId() == null) {
stakeholder.setCopy(false);
if(copyId == null) {
if (copyId == null) {
stakeholder.setTopics(new ArrayList<>());
} else {
Stakeholder copyFrom = this.findByPath(copyId);
@ -111,9 +107,9 @@ public class StakeholderService {
}
} else {
stakeholder.setTopics(new ArrayList<>());
if(stakeholder.isCopy()) {
if (stakeholder.isCopy()) {
Stakeholder defaultStakeholder = this.findByPath(stakeholder.getDefaultId());
if(defaultStakeholder != null) {
if (defaultStakeholder != null) {
stakeholder.setTopics(defaultStakeholder.getTopics().stream().map(this.topicService::build).collect(Collectors.toList()));
}
}
@ -131,9 +127,9 @@ public class StakeholderService {
});
stakeholder.setTopics(new ArrayList<>());
} else {
if(old.getTopics().isEmpty() && old.getDefaultId() != null) {
if (old.getTopics().isEmpty() && old.getDefaultId() != null) {
Stakeholder defaultStakeholder = this.findByPath(stakeholder.getDefaultId());
if(defaultStakeholder != null) {
if (defaultStakeholder != null) {
stakeholder.setTopics(defaultStakeholder.getTopics().stream().map(this.topicService::build).collect(Collectors.toList()));
}
}