diff options
| author | Paul-Christian Volkmer | 2024-01-10 09:12:02 +0100 |
|---|---|---|
| committer | Paul-Christian Volkmer | 2024-01-10 09:12:02 +0100 |
| commit | d88e2973da6988ca93521348836151f1ee6a8444 (patch) | |
| tree | e403f9c7ffe3b551227200499b7db3e14304423c /src/main/kotlin/dev | |
| parent | af767e4ea68325304142b7083dd8201607288f9e (diff) | |
feat: add paginator to request page
Diffstat (limited to 'src/main/kotlin/dev')
| -rw-r--r-- | src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt | 3 | ||||
| -rw-r--r-- | src/main/kotlin/dev/dnpm/etl/processor/web/HomeController.kt | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt b/src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt index c1d4d43..0738650 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/monitoring/Request.kt @@ -24,6 +24,7 @@ import org.springframework.data.jdbc.repository.query.Query import org.springframework.data.relational.core.mapping.Embedded import org.springframework.data.relational.core.mapping.Table import org.springframework.data.repository.CrudRepository +import org.springframework.data.repository.PagingAndSortingRepository import java.time.Instant import java.util.* @@ -52,7 +53,7 @@ data class CountedState( val status: RequestStatus, ) -interface RequestRepository : CrudRepository<Request, Long> { +interface RequestRepository : CrudRepository<Request, Long>, PagingAndSortingRepository<Request, Long> { fun findAllByPatientIdOrderByProcessedAtDesc(patientId: String): List<Request> diff --git a/src/main/kotlin/dev/dnpm/etl/processor/web/HomeController.kt b/src/main/kotlin/dev/dnpm/etl/processor/web/HomeController.kt index 51bf3fc..99b9972 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/web/HomeController.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/web/HomeController.kt @@ -23,6 +23,9 @@ import dev.dnpm.etl.processor.NotFoundException import dev.dnpm.etl.processor.monitoring.ReportService import dev.dnpm.etl.processor.monitoring.RequestId import dev.dnpm.etl.processor.monitoring.RequestRepository +import org.springframework.data.domain.Pageable +import org.springframework.data.domain.Sort +import org.springframework.data.web.PageableDefault import org.springframework.stereotype.Controller import org.springframework.ui.Model import org.springframework.web.bind.annotation.GetMapping @@ -37,8 +40,8 @@ class HomeController( ) { @GetMapping - fun index(model: Model): String { - val requests = requestRepository.findAll().sortedByDescending { it.processedAt }.take(25) + fun index(@PageableDefault(page = 0, size = 20, sort = ["processedAt"], direction = Sort.Direction.DESC) pageable: Pageable, model: Model): String { + val requests = requestRepository.findAll(pageable) model.addAttribute("requests", requests) return "index" |
