diff options
| author | Paul-Christian Volkmer | 2023-09-25 13:57:04 +0200 |
|---|---|---|
| committer | Paul-Christian Volkmer | 2023-09-25 13:57:04 +0200 |
| commit | c8387c5094d2921bac478508d1f00e29d250d772 (patch) | |
| tree | 9ec9879a673442acd4ad7768c669b1f316619d22 | |
| parent | 4949bfcc64fe7323458884121f10d2fdf95b1a73 (diff) | |
Use DelegatingDataBasedPermissionEvaluator
This will check person pool and form/procedure permissions to access ECOG status
| -rw-r--r-- | src/main/java/DNPM/analyzer/DNPMHelper.java | 11 | ||||
| -rw-r--r-- | src/test/java/DNPM/DNPMHelperTest.java | 13 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/main/java/DNPM/analyzer/DNPMHelper.java b/src/main/java/DNPM/analyzer/DNPMHelper.java index c6d3d47..376333e 100644 --- a/src/main/java/DNPM/analyzer/DNPMHelper.java +++ b/src/main/java/DNPM/analyzer/DNPMHelper.java @@ -1,9 +1,9 @@ package DNPM.analyzer; import DNPM.VerweisVon; +import DNPM.security.DelegatingDataBasedPermissionEvaluator; import DNPM.security.IllegalSecuredObjectAccessException; import DNPM.security.PermissionType; -import DNPM.security.PersonPoolBasedPermissionEvaluator; import DNPM.services.systemtherapie.SystemtherapieService; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -33,16 +33,16 @@ public class DNPMHelper extends BackendService { private final SystemtherapieService systemtherapieService; - private final PersonPoolBasedPermissionEvaluator personPoolBasedPermissionEvaluator; + private final DelegatingDataBasedPermissionEvaluator delegatingDataBasedPermissionEvaluator; public DNPMHelper( final IOnkostarApi onkostarApi, final SystemtherapieService systemtherapieService, - final PersonPoolBasedPermissionEvaluator permissionEvaluator + final DelegatingDataBasedPermissionEvaluator permissionEvaluator ) { this.onkostarApi = onkostarApi; this.systemtherapieService = systemtherapieService; - this.personPoolBasedPermissionEvaluator = permissionEvaluator; + this.delegatingDataBasedPermissionEvaluator = permissionEvaluator; } @Override @@ -237,7 +237,6 @@ public class DNPMHelper extends BackendService { } - // TODO Achtung, keine Sicherheitsprüfung, darüber kann für jeden Patienten die Liste mit ECOG-Status abgerufen werden! public List<SystemtherapieService.EcogStatusWithDate> getEcogStatus(final Map<String, Object> input) { var pid = AnalyzerUtils.getRequiredId(input, "PatientId"); if (pid.isEmpty()) { @@ -251,7 +250,7 @@ public class DNPMHelper extends BackendService { return List.of(); } - if (personPoolBasedPermissionEvaluator.hasPermission(SecurityContextHolder.getContext().getAuthentication(), patient, PermissionType.READ)) { + if (delegatingDataBasedPermissionEvaluator.hasPermission(SecurityContextHolder.getContext().getAuthentication(), patient, PermissionType.READ)) { return systemtherapieService.ecogStatus(patient); } diff --git a/src/test/java/DNPM/DNPMHelperTest.java b/src/test/java/DNPM/DNPMHelperTest.java index edebf7b..3bcaaef 100644 --- a/src/test/java/DNPM/DNPMHelperTest.java +++ b/src/test/java/DNPM/DNPMHelperTest.java @@ -1,6 +1,7 @@ package DNPM; import DNPM.analyzer.DNPMHelper; +import DNPM.security.DelegatingDataBasedPermissionEvaluator; import DNPM.security.IllegalSecuredObjectAccessException; import DNPM.security.PermissionType; import DNPM.security.PersonPoolBasedPermissionEvaluator; @@ -36,7 +37,7 @@ class DNPMHelperTest { private SystemtherapieService systemtherapieService; - private PersonPoolBasedPermissionEvaluator personPoolBasedPermissionEvaluator; + private DelegatingDataBasedPermissionEvaluator delegatingDataBasedPermissionEvaluator; private DNPMHelper dnpmHelper; @@ -44,12 +45,12 @@ class DNPMHelperTest { void setup( @Mock IOnkostarApi onkostarApi, @Mock SystemtherapieService systemtherapieService, - @Mock PersonPoolBasedPermissionEvaluator personPoolBasedPermissionEvaluator + @Mock DelegatingDataBasedPermissionEvaluator delegatingDataBasedPermissionEvaluator ) { this.onkostarApi = onkostarApi; this.systemtherapieService = systemtherapieService; - this.personPoolBasedPermissionEvaluator = personPoolBasedPermissionEvaluator; - this.dnpmHelper = new DNPMHelper(onkostarApi, systemtherapieService, personPoolBasedPermissionEvaluator); + this.delegatingDataBasedPermissionEvaluator = delegatingDataBasedPermissionEvaluator; + this.dnpmHelper = new DNPMHelper(onkostarApi, systemtherapieService, delegatingDataBasedPermissionEvaluator); } @Test @@ -257,7 +258,7 @@ class DNPMHelperTest { @Test void testShouldReturnEcogStatusList() { - when(personPoolBasedPermissionEvaluator.hasPermission(any(), any(Patient.class), any(PermissionType.class))) + when(delegatingDataBasedPermissionEvaluator.hasPermission(any(), any(Patient.class), any(PermissionType.class))) .thenReturn(true); doAnswer(invocationOnMock -> { @@ -277,7 +278,7 @@ class DNPMHelperTest { @Test void testShouldNotReturnEcogStatusListIfNoPermissionGranted() { - when(personPoolBasedPermissionEvaluator.hasPermission(any(), any(Patient.class), any(PermissionType.class))) + when(delegatingDataBasedPermissionEvaluator.hasPermission(any(), any(Patient.class), any(PermissionType.class))) .thenReturn(false); doAnswer(invocationOnMock -> { |
