Add method to get latest jobs

This commit is contained in:
Katerina 2023-09-15 11:00:15 +03:00
parent f031a79718
commit 8929ff38ab
2 changed files with 29 additions and 1 deletions

View File

@ -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<ValidationJob> getLatestJobs(@RequestParam(name="limit", defaultValue = "10") int limit) {
return validationJobRepository.getLatestValidationJobs(PageRequest.of(0, limit));
}
}

View File

@ -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<ValidationJob, Integer> {
@Query(value ="SELECT vj FROM ValidationJob vj ORDER BY vj.startDate DESC")
List<ValidationJob> getLatestValidationJobs(Pageable pageable);
}