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

Last change on this file since c52cdbb was 0ad69c1, checked in by andrejTavchioski <andrej.tavchioski@…>, 2 years ago

test route

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