source: sources/app/src/main/java/parkup/controllers/ParkingZoneController.java@ 9504a09

Last change on this file since 9504a09 was f6bc52d, checked in by DavidTrajkovski <davidtrajkovski11@…>, 3 years ago

fixed delete methods

  • Property mode set to 100644
File size: 2.3 KB
Line 
1package parkup.controllers;
2
3import org.springframework.beans.factory.annotation.Autowired;
4import org.springframework.web.bind.annotation.*;
5import parkup.entities.ParkingZone;
6import parkup.services.ParkingZoneService;
7
8import java.util.List;
9import java.util.Optional;
10
11@RestController
12public class ParkingZoneController {
13 private final ParkingZoneService parkingZoneService;
14
15 @Autowired
16 public ParkingZoneController(ParkingZoneService parkingZoneService) {
17 this.parkingZoneService = parkingZoneService;
18 }
19
20 @GetMapping({"/parkingZone"})
21 public List<ParkingZone> getAllParkingZone() {
22 return parkingZoneService.getAllParkingZones();
23 }
24
25 @GetMapping({"/parkingZone/{parkingZoneId}"})
26 public ParkingZone getParkingZone(@PathVariable int parkingZoneId) {
27 ParkingZone parkingZone = parkingZoneService.findById(parkingZoneId);
28 if (parkingZone != null) {
29 return parkingZone;
30 } else {
31 throw new RuntimeException("ParkingZone not found");
32 }
33 }
34
35 @GetMapping({"parkingZone/parkingZoneNames"})
36 public List<String> getParkingZoneNames(){
37 return this.parkingZoneService.getAllParkingZoneNames();
38 }
39
40 @PostMapping({"/parkingZone"})
41 public Optional<ParkingZone> addParkingZone(@RequestBody ParkingZone parkingZone) {
42 return this.parkingZoneService.addParkingZone(parkingZone);
43 }
44
45 @PostMapping("/parkingZoneName")
46 public ParkingZone addParkingZoneName(@RequestBody String name){
47 return this.parkingZoneService.addParkingZoneNameOnly(name);
48 }
49
50 @PutMapping({"/parkingZone/{parkingZoneId}"})
51 public ParkingZone updateParkingZone(@PathVariable int parkingZoneId, @RequestBody ParkingZone parkingZone) {
52 return this.parkingZoneService.updateParkingZone(parkingZoneId, parkingZone.getPzName(), parkingZone.getPrice(), parkingZone.getCapacity(),
53 parkingZone.getLocation(), parkingZone.getFrom(), parkingZone.getTo(), parkingZone.getColor(),
54 parkingZone.getParkingSpaces(), parkingZone.getParkingZoneLocation());
55 }
56
57 @DeleteMapping({"/parkingZone/{parkingZoneId}"})
58 public Optional<ParkingZone> deleteParkingZone(@PathVariable int parkingZoneId) {
59 return this.parkingZoneService.deleteParkingZone(parkingZoneId);
60 }
61}
Note: See TracBrowser for help on using the repository browser.