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

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

Fixed some functionalities related to parkingSessions and parkingZones

  • 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.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 ParkingZone getParkingZone(@PathVariable int parkingZoneId) {
28 ParkingZone 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/parkingZoneNames"})
37 public List<String> getParkingZoneNames(){
38 return this.parkingZoneService.getAllParkingZoneNames();
39 }
40
41 @PostMapping({"/parkingZone"})
42 public Optional<ParkingZone> addParkingZone(@RequestBody ParkingZone parkingZone) {
43 return this.parkingZoneService.addParkingZone(parkingZone);
44 }
45
46 @PostMapping("/parkingZoneName")
47 public ParkingZone addParkingZoneName(@RequestBody String name){
48 return this.parkingZoneService.addParkingZoneNameOnly(name);
49 }
50
51 @PutMapping({"/parkingZone/{parkingZoneId}"})
52 public ParkingZone updateParkingZone(@PathVariable int parkingZoneId, @RequestBody ParkingZoneAdminView parkingZone) {
53 return this.parkingZoneService.updateParkingZone(parkingZoneId, parkingZone.getPzName(), parkingZone.getPrice(),
54 parkingZone.getAddress(), parkingZone.getTime_from(), parkingZone.getTime_to(), parkingZone.getColor(),
55 parkingZone.getParkingSpaces(), parkingZone.getParkingZoneLocation(),parkingZone.getOdgovorniLica());
56
57 }
58
59 @DeleteMapping({"/parkingZone/{parkingZoneId}"})
60 public Optional<ParkingZone> deleteParkingZone(@PathVariable int parkingZoneId) {
61 return this.parkingZoneService.deleteParkingZone(parkingZoneId);
62 }
63}
Note: See TracBrowser for help on using the repository browser.