From f3d6bdfd59a51f68cf3042f2df5367c2793f190d Mon Sep 17 00:00:00 2001 From: Dino Dizdarevic Date: Tue, 18 Sep 2018 21:44:31 +0200 Subject: [PATCH] pagination to events --- .../steleks/controller/ActualEventsController.java | 14 +++++++++++--- .../ba/steleks/repository/EventsJpaRepository.java | 3 +++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/events/src/main/java/ba/steleks/controller/ActualEventsController.java b/events/src/main/java/ba/steleks/controller/ActualEventsController.java index 4b6ed4e..c0abc1a 100644 --- a/events/src/main/java/ba/steleks/controller/ActualEventsController.java +++ b/events/src/main/java/ba/steleks/controller/ActualEventsController.java @@ -8,9 +8,12 @@ import ba.steleks.repository.EventsJpaRepository; import ba.steleks.repository.MediaJpaRepository; import ba.steleks.util.ProxyHeaders; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.web.PageableDefault; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.awt.print.Pageable; @RestController public class ActualEventsController { @@ -26,9 +29,11 @@ public class ActualEventsController { } @RequestMapping(path = "/realEvents", method = RequestMethod.GET) - public ResponseEntity getRealEvents() { + public ResponseEntity getRealEvents( + @RequestParam( "page" ) int page, + @RequestParam( "size" ) int size) { Iterable result; - result = repository.findByEventTypeId(EVENT_TYPE_EVENT); + result = repository.findAllByEventTypeId(EVENT_TYPE_EVENT, new PageRequest(page, size)); return ResponseEntity .status(HttpStatus.OK) .body(new Object() { @@ -38,8 +43,11 @@ public class ActualEventsController { }); } + @RequestMapping(path = "/realEvents", method = RequestMethod.POST) - public ResponseEntity addEvents(@RequestBody EventRequest eventRequest, @RequestHeader(ProxyHeaders.USER_ID) String userId) throws ExternalServiceException { + public ResponseEntity addEvents( + @RequestBody EventRequest eventRequest, + @RequestHeader(ProxyHeaders.USER_ID) String userId) throws ExternalServiceException { return eventController.addEventWithType(eventRequest, userId, EVENT_TYPE_EVENT); } } diff --git a/events/src/main/java/ba/steleks/repository/EventsJpaRepository.java b/events/src/main/java/ba/steleks/repository/EventsJpaRepository.java index 7086d7a..6aa3e47 100644 --- a/events/src/main/java/ba/steleks/repository/EventsJpaRepository.java +++ b/events/src/main/java/ba/steleks/repository/EventsJpaRepository.java @@ -5,6 +5,8 @@ package ba.steleks.repository; import ba.steleks.model.Event; import ba.steleks.repository.projection.EventProjection; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.rest.core.annotation.RepositoryRestResource; @@ -14,4 +16,5 @@ import java.util.List; @RepositoryRestResource(excerptProjection = EventProjection.class) public interface EventsJpaRepository extends PagingAndSortingRepository { List findByEventTypeId(Long eventTypeId); + Page findAllByEventTypeId(Long eventTypeId, Pageable pageable); }