diff --git a/goofy-server/src/main/java/de/itvsh/goofy/RootController.java b/goofy-server/src/main/java/de/itvsh/goofy/RootController.java index 24b91ceb97b3aedbd2376840f04c2a47ac3b51b7..f931023a603f2803a7b465cfc7a6c93181f676a7 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/RootController.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/RootController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController; import de.itvsh.goofy.common.ModelBuilder; import de.itvsh.goofy.common.downloadtoken.DownloadTokenController; import de.itvsh.goofy.common.user.CurrentUserService; +import de.itvsh.goofy.common.user.UserId; import de.itvsh.goofy.common.user.UserProfileController; import de.itvsh.goofy.vorgang.VorgangController; @@ -37,25 +38,21 @@ public class RootController { @GetMapping public EntityModel<RootResource> getRootResource() { - return ModelBuilder.fromEntity(new RootResource())// - .addLink(linkTo(RootController.class).withSelfRel()) // - .addLink(linkTo(VorgangController.class).withRel(REL_VORGAENGE))// + return ModelBuilder.fromEntity(new RootResource()) + .addLink(linkTo(RootController.class).withSelfRel()) + .addLink(linkTo(VorgangController.class).withRel(REL_VORGAENGE)) .addLink(linkTo(methodOn(UserProfileController.class).findUsers(null)).withRel(REL_SEARCH_USER)) .addLink(linkTo(DownloadTokenController.class).withRel(REL_DOWNLOAD_TOKEN)) .addLink(buildVorgangListByPageLink(REL_SEARCH, Optional.empty())) - .addLink(buildVorgangListByPageLink(REL_MY_VORGAENGE, Optional.of(getCurrentUserId()))) - .addLink(buildVorgangListByPageLink(REL_SEARCH_MY_VORGAENGE, Optional.of(getCurrentUserId()))) + .addLink(buildVorgangListByPageLink(REL_MY_VORGAENGE, Optional.of(currentUserService.getUserId()))) + .addLink(buildVorgangListByPageLink(REL_SEARCH_MY_VORGAENGE, Optional.of(currentUserService.getUserId()))) .buildModel(); } - private Link buildVorgangListByPageLink(String linkRel, Optional<String> assignedTo) { + private Link buildVorgangListByPageLink(String linkRel, Optional<UserId> assignedTo) { return linkTo(methodOn(VorgangController.class).getVorgangListByPage(0, null, null, assignedTo)).withRel(linkRel); } - private String getCurrentUserId() { - return currentUserService.getUserId().toString(); - } - class RootResource { public String getVersion() { diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/FindVorgaengeHeaderRequestCriteria.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/FindVorgaengeHeaderRequestCriteria.java index b5d646762ad653274e8827e5d2ce7f60e7a85955..41e3591b026c7fc04d45315f96f0cfb7132059e8 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/FindVorgaengeHeaderRequestCriteria.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/FindVorgaengeHeaderRequestCriteria.java @@ -2,6 +2,7 @@ package de.itvsh.goofy.vorgang; import java.util.Optional; +import de.itvsh.goofy.common.user.UserId; import lombok.Builder; import lombok.Getter; @@ -12,5 +13,5 @@ class FindVorgaengeHeaderRequestCriteria { private int offset; private Optional<String> searchBy; private OrderBy orderBy; - private Optional<String> assignedTo; + private Optional<UserId> assignedTo; } diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/PageUtil.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/PageUtil.java index 5d9b21b98664a29746ce265f072d4380286a09bb..299b3b4c64baf063c3ff2c0f9fb1385580ee6f6f 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/PageUtil.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/PageUtil.java @@ -2,6 +2,7 @@ package de.itvsh.goofy.vorgang; import java.util.Optional; +import de.itvsh.goofy.common.user.UserId; import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; @@ -49,7 +50,7 @@ class PageUtil { private long total; private Optional<Integer> limit; private Optional<String> searchBy; - private Optional<String> assignedTo; + private Optional<UserId> assignedTo; int getPageSize() { return limit.orElse(VORGANG_PAGE_SIZE); diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangController.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangController.java index f8ab5aede27adc50660bac61143baede44c9913c..fda847b438fc8c92d14ded14337842b437542925 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangController.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangController.java @@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import de.itvsh.goofy.common.user.UserId; import de.itvsh.goofy.vorgang.PageUtil.VorgangListPage; @RestController @@ -31,7 +32,7 @@ public class VorgangController { @GetMapping public CollectionModel<EntityModel<Vorgang>> getVorgangListByPage(@RequestParam(defaultValue = "0") int page, - @RequestParam Optional<String> searchBy, @RequestParam Optional<Integer> limit, @RequestParam Optional<String> assignedTo) { + @RequestParam Optional<String> searchBy, @RequestParam Optional<Integer> limit, @RequestParam Optional<UserId> assignedTo) { var vorgaengeHeaderResponse = vorgangService.findVorgaengeHeader(buildFindVorgaengeRequestCriteria(page, searchBy, limit, assignedTo)); var vorgangListPage = VorgangListPage.builder() @@ -47,7 +48,7 @@ public class VorgangController { } FindVorgaengeHeaderRequestCriteria buildFindVorgaengeRequestCriteria(int page, Optional<String> searchBy, Optional<Integer> limit, - Optional<String> assignedTo) { + Optional<UserId> assignedTo) { return FindVorgaengeHeaderRequestCriteria.builder() .limit(getLimitValue(limit)) .offset(calculateOffset(page, limit)) diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangRemoteService.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangRemoteService.java index 1c8cfcd747cdfa16cedf9819e5ba6f39edb4f759..0c9cd04634886bb2d295c440e779182345bb2160 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangRemoteService.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangRemoteService.java @@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import de.itvsh.goofy.common.user.CurrentUserService; +import de.itvsh.goofy.common.user.UserId; import de.itvsh.goofy.common.user.UserRole; import de.itvsh.goofy.vorgang.Vorgang.VorgangStatus; import de.itvsh.ozg.pluto.vorgang.GrpcFilterBy; @@ -84,9 +85,9 @@ class VorgangRemoteService { .build(); } - GrpcFilterBy createFilterBy(Optional<String> assignedTo) { + GrpcFilterBy createFilterBy(Optional<UserId> assignedTo) { var builder = GrpcFilterBy.newBuilder(); - assignedTo.ifPresent(builder::setAssignedTo); + assignedTo.ifPresent(assignToId -> builder.setAssignedTo(assignToId.toString())); if (userService.hasRole(UserRole.VERWALTUNG_POSTSTELLE)) { return buildFilterByForPoststelle(builder); diff --git a/goofy-server/src/main/resources/application.yml b/goofy-server/src/main/resources/application.yml index 42d6e72bbe82a875101e19eb35c227707400bf17..7b3afc07d505ad5716a26df2e3066a4dfcfec818 100644 --- a/goofy-server/src/main/resources/application.yml +++ b/goofy-server/src/main/resources/application.yml @@ -16,8 +16,8 @@ spring: 'ADJUST_DATES_TO_CONTEXT_TIME_ZONE': false servlet: multipart: - max-file-size: 20MB - max-request-size: 20MB + max-file-size: 40MB + max-request-size: 40MB server: http2: diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/FindVorgaengeRequestCriteriaTestFactory.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/FindVorgaengeRequestCriteriaTestFactory.java index f232e34558c185dfcd1b126fbe8ba54eee02defd..aee364baa45988ebdacf58e3d0b4dd39342af498 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/FindVorgaengeRequestCriteriaTestFactory.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/FindVorgaengeRequestCriteriaTestFactory.java @@ -23,6 +23,6 @@ public class FindVorgaengeRequestCriteriaTestFactory { .offset(OFFSET) .searchBy(Optional.of(SEARCH_BY)) .orderBy(ORDER_BY) - .assignedTo(Optional.of(UserTestFactory.ID.toString())); + .assignedTo(Optional.of(UserTestFactory.ID)); } } \ No newline at end of file diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerTest.java index abb8086ef23389ed535af4fe5bce1b1cba7fcb96..054b6993c887a762fac1ede6a3c894ae8b916601 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangControllerTest.java @@ -67,7 +67,7 @@ class VorgangControllerTest { callEndpointWithParamsPageSearchAndLimit(); verify(controller).buildFindVorgaengeRequestCriteria(PAGE, Optional.of("test"), Optional.of(7), - Optional.of(UserTestFactory.ID.toString())); + Optional.of(UserTestFactory.ID)); } @Test diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangModelAssemblerTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangModelAssemblerTest.java index d390ef98569fa05fca63e6c7c5ea8ea71b73c060..f6f29d75e6ad99050ed14a5bb952e226d34bccd2 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangModelAssemblerTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangModelAssemblerTest.java @@ -86,7 +86,7 @@ class VorgangModelAssemblerTest { @Test void shouldContainsAssignedToParameter() { - var listPage = listPageBuilder.assignedTo(Optional.of(UserTestFactory.ID.toString())) + var listPage = listPageBuilder.assignedTo(Optional.of(UserTestFactory.ID)) .build(); var link = toCollectionModel(listPage).getLink(VorgangModelAssembler.REL_NEXT); @@ -133,12 +133,12 @@ class VorgangModelAssemblerTest { @Test void shouldContainsAssignedToParameter() { - var listPage = listPageBuilder.assignedTo(Optional.of(UserTestFactory.ID.toString())).build(); + var listPage = listPageBuilder.assignedTo(Optional.of(UserTestFactory.ID)).build(); var link = toCollectionModel(listPage).getLink(VorgangModelAssembler.REL_PREVIOUS); assertThat(link).isPresent().get().extracting(Link::getHref) - .isEqualTo(BASE_PATH + "?page=1&assignedTo=" + UserTestFactory.ID.toString()); + .isEqualTo(BASE_PATH + "?page=1&assignedTo=" + UserTestFactory.ID); } } diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangRemoteServiceTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangRemoteServiceTest.java index 59f366d25dafbecce44d05d1dc4926be9866f44e..36de788b14502b508757c48ea46d86d0b225de52 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangRemoteServiceTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangRemoteServiceTest.java @@ -16,6 +16,7 @@ import org.mockito.Spy; import de.itvsh.goofy.common.user.CurrentUserService; import de.itvsh.goofy.common.user.GoofyUserTestFactory; +import de.itvsh.goofy.common.user.UserId; import de.itvsh.goofy.common.user.UserRole; import de.itvsh.goofy.common.user.UserTestFactory; import de.itvsh.goofy.vorgang.Vorgang.VorgangStatus; @@ -175,7 +176,7 @@ class VorgangRemoteServiceTest { @Test void shouldBeSetIfExists() { - var filterCriteria = callService(Optional.of(UserTestFactory.ID.toString())); + var filterCriteria = callService(Optional.of(UserTestFactory.ID)); assertThat(filterCriteria.getAssignedTo()).isEqualTo(UserTestFactory.ID.toString()); } @@ -269,7 +270,7 @@ class VorgangRemoteServiceTest { return callService(Optional.empty()); } - private GrpcFilterBy callService(Optional<String> assignedTo) { + private GrpcFilterBy callService(Optional<UserId> assignedTo) { return service.createFilterBy(assignedTo); } }