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

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

Fixed some functionalities related to parkingSessions and parkingZones

  • Property mode set to 100644
File size: 1.9 KB
Line 
1package parkup.controllers;
2
3import org.springframework.beans.factory.annotation.Autowired;
4import org.springframework.web.bind.annotation.*;
5import parkup.entities.ParkingSpace;
6import parkup.services.ParkingSpaceService;
7
8import java.util.List;
9import java.util.Optional;
10
11@RestController
12public class ParkingSpaceController {
13 private final ParkingSpaceService parkingSpaceService;
14
15 @Autowired
16 public ParkingSpaceController(ParkingSpaceService parkingSpaceService) {
17 this.parkingSpaceService = parkingSpaceService;
18 }
19
20 @GetMapping({"/parkingSpace"})
21 public List<ParkingSpace> getAllParkingSpaces() {
22 return parkingSpaceService.getAllParkingSpaces();
23 }
24
25 @GetMapping({"/parkingSpace/{parkingSpaceId}"})
26 public ParkingSpace getParkingSpace(@PathVariable int parkingSpaceId) {
27 ParkingSpace parkingSpace = parkingSpaceService.findById(parkingSpaceId);
28 if (parkingSpace != null) {
29 return parkingSpace;
30 } else {
31 throw new RuntimeException("ParkingSpace not found");
32 }
33 }
34
35 @PostMapping({"/parkingSpace/add/{parkingZoneId}"})
36 public Optional<ParkingSpace> addParkingSpace(@RequestBody ParkingSpace parkingSpace,@PathVariable int parkingZoneId) {
37 return this.parkingSpaceService.addParkingSpace(parkingSpace,parkingZoneId);
38 }
39
40 @PutMapping({"/parkingSpace/{parkingSpaceId}"})
41 public void updateParkingSpace(@PathVariable int parkingSpaceId, @RequestBody ParkingSpace parkingSpace) {
42 parkingSpaceService.updateParkingSpace(parkingSpaceId, parkingSpace.getPsName(), parkingSpace.isTaken(), parkingSpace.getLat(), parkingSpace.getLng());
43 }
44
45 @DeleteMapping({"/parkingSpace/{parkingSpaceId}"})
46 public Optional<ParkingSpace> deleteParkingSpace(@PathVariable int parkingSpaceId) {
47 return this.parkingSpaceService.deleteParkingSpace(parkingSpaceId);
48 }
49}
Note: See TracBrowser for help on using the repository browser.