1
0

JSonAccessFilter with generic access to grand parent role

This commit is contained in:
Michael Hoennig
2019-04-24 13:23:08 +02:00
parent 639ea06243
commit ad1517a16e
9 changed files with 48 additions and 29 deletions

View File

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.core.ObjectCodec;
import com.fasterxml.jackson.core.TreeNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.hostsharing.hsadminng.service.IdToDtoResolver;
import org.hostsharing.hsadminng.web.rest.errors.BadRequestAlertException;
import org.junit.Before;
import org.junit.Rule;
@@ -211,6 +212,9 @@ public class JSonDeserializerWithAccessFilterUnitTest {
Long openLongField;
}
abstract class GivenService implements IdToDtoResolver<GivenDto> {
}
public static class GivenChildDto {
@SelfId
@@ -218,7 +222,7 @@ public class JSonDeserializerWithAccessFilterUnitTest {
Long id;
@AccessFor(init = Role.CONTRACTUAL_CONTACT, update = Role.CONTRACTUAL_CONTACT, read = Role.ACTUAL_CUSTOMER_USER)
@ParentId(GivenDto.class)
@ParentId(resolver = GivenService.class)
Long parentId;
@AccessFor(init = {Role.TECHNICAL_CONTACT, Role.FINANCIAL_CONTACT}, update = {Role.TECHNICAL_CONTACT, Role.FINANCIAL_CONTACT})

View File

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonGenerator;
import org.apache.commons.lang3.NotImplementedException;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.RandomUtils;
import org.hostsharing.hsadminng.service.IdToDtoResolver;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -110,9 +111,12 @@ public class JSonSerializerWithAccessFilterUnitTest {
}
private abstract class GivenCustomerService implements IdToDtoResolver<GivenCustomerDto> {
}
private static class GivenDto {
@ParentId(GivenCustomerDto.class)
@ParentId(resolver = GivenCustomerService.class)
Long customerId;
@AccessFor(read = {Role.TECHNICAL_CONTACT, Role.FINANCIAL_CONTACT})