From 8929ff38abceaeeedfb24d175f507312b38423e9 Mon Sep 17 00:00:00 2001 From: Katerina Date: Fri, 15 Sep 2023 11:00:15 +0300 Subject: [PATCH] Add method to get latest jobs --- .../controllers/ValidationJobController.java | 23 +++++++++++++++++++ .../repositories/ValidationJobRepository.java | 7 +++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/java/eu/dnetlib/validatorapi/controllers/ValidationJobController.java diff --git a/src/main/java/eu/dnetlib/validatorapi/controllers/ValidationJobController.java b/src/main/java/eu/dnetlib/validatorapi/controllers/ValidationJobController.java new file mode 100644 index 0000000..e8d3d38 --- /dev/null +++ b/src/main/java/eu/dnetlib/validatorapi/controllers/ValidationJobController.java @@ -0,0 +1,23 @@ +package eu.dnetlib.validatorapi.controllers; + +import eu.dnetlib.validatorapi.entities.ValidationJob; +import eu.dnetlib.validatorapi.repositories.ValidationJobRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@CrossOrigin(origins = "*") +@RequestMapping("/jobs") +public class ValidationJobController { + + @Autowired + ValidationJobRepository validationJobRepository; + + @RequestMapping(value = {"/latest"}, method = RequestMethod.GET) + public List getLatestJobs(@RequestParam(name="limit", defaultValue = "10") int limit) { + return validationJobRepository.getLatestValidationJobs(PageRequest.of(0, limit)); + } +} diff --git a/src/main/java/eu/dnetlib/validatorapi/repositories/ValidationJobRepository.java b/src/main/java/eu/dnetlib/validatorapi/repositories/ValidationJobRepository.java index c115a30..684d8c2 100644 --- a/src/main/java/eu/dnetlib/validatorapi/repositories/ValidationJobRepository.java +++ b/src/main/java/eu/dnetlib/validatorapi/repositories/ValidationJobRepository.java @@ -1,10 +1,15 @@ package eu.dnetlib.validatorapi.repositories; import eu.dnetlib.validatorapi.entities.ValidationJob; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public interface ValidationJobRepository extends JpaRepository { - + @Query(value ="SELECT vj FROM ValidationJob vj ORDER BY vj.startDate DESC") + List getLatestValidationJobs(Pageable pageable); }