diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/DatasetController.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/DatasetController.java index b24292c..64f92cd 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/DatasetController.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/DatasetController.java @@ -12,6 +12,8 @@ import org.springframework.data.web.config.EnableSpringDataWebSupport; import org.springframework.data.domain.Sort; import java.util.UUID; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; @RestController @RequestMapping("/api/v1/datasets") @@ -61,6 +63,16 @@ public class DatasetController { return null; // new ResponseEntity<>(null, HttpStatus.OK); } + @PostMapping("/id/{id}/vote") + public String postMethodName(@PathVariable("id") UUID id, + @RequestParam("stars") int stars) { + if (stars > 0 && stars < 6) { + datasetService.voteDataset(id, stars); + return null; + } + return "Invalid vote"; + } + @GetMapping public Page getDatasetsByDateAfter(@RequestParam(value = "author", required = false) String author, @RequestParam(value = "title", required = false) String title, diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/DatasetService.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/DatasetService.java index 10ff186..c34e55b 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/DatasetService.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/DatasetService.java @@ -33,6 +33,12 @@ public class DatasetService { datasetRepository.getDatasetById(id).setTitle(title); } + public void voteDataset(UUID id, int vote) { + Dataset dataset = datasetRepository.getDatasetById(id); + dataset.vote(vote); + datasetRepository.save(dataset); + } + public void deleteDataset(UUID id) { Dataset dataset = datasetRepository.getDatasetById(id); datasetRepository.delete(dataset);