From 58187229707fafa6fb45477ab63849c0081b9d4f Mon Sep 17 00:00:00 2001 From: karadagd20 <73991457+ituitis20-karadagd20@users.noreply.github.com> Date: Mon, 1 Jan 2024 17:42:44 +0300 Subject: [PATCH] getAll operation for medication --- .../Controllers/MedicationController.java | 14 ++++++++++++++ .../Controllers/ScheduleController.java | 2 +- .../Services/MedicationService.java | 13 +++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/production/ehayvanbackendapi/Controllers/MedicationController.java b/src/main/java/com/production/ehayvanbackendapi/Controllers/MedicationController.java index 45462e8..2c943a3 100644 --- a/src/main/java/com/production/ehayvanbackendapi/Controllers/MedicationController.java +++ b/src/main/java/com/production/ehayvanbackendapi/Controllers/MedicationController.java @@ -7,6 +7,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/api/medications") public class MedicationController { @@ -26,6 +28,18 @@ public ResponseEntity getMedicationById(@PathVariable Integer id) } } + @GetMapping("/all") + public ResponseEntity> getAllMedications() { + List response = medicationService.getAllMedications(); + + if (!response.isEmpty()) { + return new ResponseEntity<>(response, HttpStatus.OK); + } else { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } + + @PostMapping public ResponseEntity postMedication(@RequestBody CreateOrUpdateMedicationDTO medicationDto){ MedicationDTO postedMedication = medicationService.postMedication(medicationDto); diff --git a/src/main/java/com/production/ehayvanbackendapi/Controllers/ScheduleController.java b/src/main/java/com/production/ehayvanbackendapi/Controllers/ScheduleController.java index 95798e7..036deb6 100644 --- a/src/main/java/com/production/ehayvanbackendapi/Controllers/ScheduleController.java +++ b/src/main/java/com/production/ehayvanbackendapi/Controllers/ScheduleController.java @@ -25,7 +25,7 @@ public ResponseEntity getScheduleById(@PathVariable Integer id) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } - + @DeleteMapping("/{id}") public ResponseEntity deleteSchedule(@PathVariable Integer id) { ScheduleDTO deletedSchedule = scheduleService.deleteSchedule(id); diff --git a/src/main/java/com/production/ehayvanbackendapi/Services/MedicationService.java b/src/main/java/com/production/ehayvanbackendapi/Services/MedicationService.java index feb7f5e..fbd1cb0 100644 --- a/src/main/java/com/production/ehayvanbackendapi/Services/MedicationService.java +++ b/src/main/java/com/production/ehayvanbackendapi/Services/MedicationService.java @@ -11,6 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; import java.util.Optional; @Service @@ -28,6 +30,17 @@ public MedicationDTO getMedicationById(Integer id) { return medication != null ? medicationMapper.convertToDto(medication) : null; } + public List getAllMedications() { + List medicationList = medicationRepository.findAll(); + List medicationDtoList = new ArrayList<>(); + + for (Medication medication : medicationList) { + medicationDtoList.add(medicationMapper.convertToDto(medication)); + } + + return medicationDtoList; + } + public MedicationDTO postMedication(CreateOrUpdateMedicationDTO medicationDto){ // Create a new medication from the dto. Medication newMedication = medicationMapper.convertToEntity(medicationDto);