source: sources/app/src/main/java/parkup/controllers/ParkingSessionController.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: 3.3 KB
Line 
1package parkup.controllers;
2
3import org.springframework.beans.factory.annotation.Autowired;
4import org.springframework.web.bind.annotation.*;
5import parkup.data.Tablicka;
6import parkup.entities.ParkingSession;
7import parkup.services.ParkingSessionService;
8
9import java.util.List;
10import java.util.Optional;
11
12@RestController
13public class ParkingSessionController {
14 private final ParkingSessionService parkingSessionService;
15
16 @Autowired
17 public ParkingSessionController(ParkingSessionService parkingSessionService) {
18 this.parkingSessionService = parkingSessionService;
19 }
20
21 @GetMapping({"/parkingSession"})
22 public List<ParkingSession> getAllParkingSessions() {
23 return parkingSessionService.getAllParkingSessions();
24 }
25
26 @GetMapping({"/parkingSession/{parkingSessionId}"})
27 public ParkingSession getParkingSession(@PathVariable int parkingSessionId) {
28 ParkingSession parkingSession = parkingSessionService.findById(parkingSessionId);
29 if (parkingSession != null) {
30 return parkingSession;
31 } else {
32 throw new RuntimeException("ParkingSession not found");
33 }
34 }
35
36 @PostMapping({"/parkingSession/{parkingZoneId}"})
37 public Optional<ParkingSession> startParkingSession(@RequestParam String tablicka, @PathVariable int parkingZoneId) {
38 return this.parkingSessionService.startParkingSession(tablicka,parkingZoneId);
39 }
40// TODO: vidi kako kje funkcionira update na sesija i nejzino plakjanje so frontot
41
42// @PutMapping({"/parkingSession/{parkingSessionId}"})
43// public void updateParkingSession(@PathVariable int parkingSessionId, @RequestBody ParkingSession parkingSession) {
44// parkingSessionService.updateParkingSession(parkingSessionId,
45// parkingSession.getTimeStart(), parkingSession.getTimeEnd(), parkingSession.getTablica());
46// }
47// @PutMapping({"/parkingSession/pay/{parkingSessionId"})
48// public void payParkingSession(@PathVariable int parkingSessionId){
49// parkingSessionService.paySession
50// }
51 @PutMapping("/parkingSession/end/{parkingSessionId}")
52 public ParkingSession endParkingSession(@PathVariable int parkingSessionId){
53 return this.parkingSessionService.endParkingSession(parkingSessionId);
54 }
55 @PutMapping("/parkingSession/verify/{parkingSessionId}")
56 public ParkingSession verifyParkingSession(@PathVariable int parkingSessionId,@RequestParam String parkingSpaceName,@RequestParam int parkingZoneId){
57 return this.parkingSessionService.verifyParkingSession(parkingSessionId,parkingSpaceName,parkingZoneId);
58 }
59 @GetMapping("/parkingSession/calculate/{parkingSessionId}")
60 public int calculateParkingSession(@PathVariable int parkingSessionId){
61 return this.parkingSessionService.calculatePayment(parkingSessionId);
62 }
63 @PutMapping("/parkingSession/pay/{parkingSessionId}")
64 public boolean payParkingSession(@PathVariable int parkingSessionId,@RequestParam String expireDate){
65 return this.parkingSessionService.payParkingSession(parkingSessionId,expireDate);
66 }
67
68 @DeleteMapping({"/parkingSession/{parkingSessionId}"})
69 public Optional<ParkingSession> deleteParkingSession(@PathVariable int parkingSessionId) {
70 return this.parkingSessionService.deleteParkingSession(parkingSessionId);
71 }
72}
Note: See TracBrowser for help on using the repository browser.