|
|
@@ -0,0 +1,66 @@
|
|
|
+package com.deliveryproject.easydelivery;
|
|
|
+
|
|
|
+import com.deliveryproject.easydelivery.Repository.DeliveryRepository;
|
|
|
+import com.deliveryproject.easydelivery.Models.Delivery;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.http.HttpStatus;
|
|
|
+import org.springframework.http.ResponseEntity;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
+@RestController
|
|
|
+@RequestMapping("/deliveries")
|
|
|
+public class DeliveryController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DeliveryRepository deliveryRepository;
|
|
|
+
|
|
|
+ @GetMapping
|
|
|
+ public ResponseEntity<List<Delivery>> getAllDeliveries() {
|
|
|
+ List<Delivery> deliveries = deliveryRepository.findAll();
|
|
|
+ return new ResponseEntity<>(deliveries, HttpStatus.OK);
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/{id}")
|
|
|
+ public ResponseEntity<Delivery> getDeliveryById(@PathVariable Long id) {
|
|
|
+ Optional<Delivery> optionalDelivery = deliveryRepository.findById(id);
|
|
|
+ if (optionalDelivery.isPresent()) {
|
|
|
+ Delivery delivery = optionalDelivery.get();
|
|
|
+ return ResponseEntity.ok(delivery);
|
|
|
+ } else {
|
|
|
+ return ResponseEntity.notFound().build();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping
|
|
|
+ public ResponseEntity<Delivery> createDelivery(@RequestBody Delivery delivery) {
|
|
|
+ Delivery savedDelivery = deliveryRepository.save(delivery);
|
|
|
+ return ResponseEntity.status(HttpStatus.CREATED).body(savedDelivery);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PutMapping("/{id}")
|
|
|
+ public ResponseEntity<Delivery> updateDelivery(@PathVariable Long id, @RequestBody Delivery delivery) {
|
|
|
+ Optional<Delivery> optionalDelivery = deliveryRepository.findById(id);
|
|
|
+ if (optionalDelivery.isPresent()) {
|
|
|
+ Delivery existingDelivery = optionalDelivery.get();
|
|
|
+ existingDelivery.setDeliveryAddress(delivery.getDeliveryAddress());
|
|
|
+ existingDelivery.setRecipientName(delivery.getRecipientName());
|
|
|
+ existingDelivery.setDeliveryTime(delivery.getDeliveryTime());
|
|
|
+ Delivery savedDelivery = deliveryRepository.save(existingDelivery);
|
|
|
+ return ResponseEntity.ok(savedDelivery);
|
|
|
+ } else {
|
|
|
+ return ResponseEntity.notFound().build();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @DeleteMapping("/{id}")
|
|
|
+ public ResponseEntity<Void> deleteDelivery(@PathVariable Long id) {
|
|
|
+ Optional<Delivery> optionalDelivery = deliveryRepository.findById(id);
|
|
|
+ if (optionalDelivery.isPresent()) {
|
|
|
+ deliveryRepository.delete(optionalDelivery.get());
|
|
|
+ return ResponseEntity.noContent().build();
|
|
|
+ } else {
|
|
|
+ return ResponseEntity.notFound().build();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|