[ce6ad22] | 1 | package parkup.controllers;
|
---|
| 2 |
|
---|
| 3 | import org.springframework.beans.factory.annotation.Autowired;
|
---|
| 4 | import org.springframework.web.bind.annotation.*;
|
---|
| 5 | import parkup.entities.ParkingSession;
|
---|
| 6 | import parkup.services.ParkingSessionService;
|
---|
| 7 |
|
---|
| 8 | import java.util.List;
|
---|
[97fbc67] | 9 | import java.util.Optional;
|
---|
[ce6ad22] | 10 |
|
---|
| 11 | @RestController
|
---|
| 12 | public class ParkingSessionController {
|
---|
| 13 | private final ParkingSessionService parkingSessionService;
|
---|
| 14 |
|
---|
| 15 | @Autowired
|
---|
| 16 | public ParkingSessionController(ParkingSessionService parkingSessionService) {
|
---|
| 17 | this.parkingSessionService = parkingSessionService;
|
---|
| 18 | }
|
---|
| 19 |
|
---|
[13ecc56] | 20 | @GetMapping({"/parkingSession/{parkingZoneId}"})
|
---|
| 21 | public List<ParkingSession> getAllParkingSessions(@PathVariable Integer parkingZoneId) {
|
---|
| 22 | return parkingSessionService.getAllParkingSessionsFromZone(parkingZoneId);
|
---|
[ce6ad22] | 23 | }
|
---|
[3b17c69] | 24 | @GetMapping({"/parkingSession"})
|
---|
| 25 | public ParkingSession getParkingSession(){
|
---|
| 26 | return parkingSessionService.getParkingSession();
|
---|
| 27 | }
|
---|
[ce6ad22] | 28 |
|
---|
[3f0bf09] | 29 | @PostMapping({"/parkingSession/{parkingZoneName}"})
|
---|
[0e407de] | 30 | public Optional<ParkingSession> startParkingSession(@RequestParam String tablicka, @PathVariable String parkingZoneName) {
|
---|
| 31 | return this.parkingSessionService.startParkingSession(tablicka,parkingZoneName);
|
---|
[ce6ad22] | 32 | }
|
---|
| 33 |
|
---|
[b6e52e1] | 34 | @PutMapping("/parkingSession/end")
|
---|
| 35 | public ParkingSession endParkingSession(){
|
---|
| 36 | return this.parkingSessionService.endParkingSession();
|
---|
[9ff45d6] | 37 | }
|
---|
| 38 | @PutMapping("/parkingSession/verify/{parkingSessionId}")
|
---|
[ccb2d72] | 39 | public ParkingSession verifyParkingSession(@PathVariable int parkingSessionId,@RequestParam String parkingSpaceName){
|
---|
| 40 | return this.parkingSessionService.verifyParkingSession(parkingSessionId,parkingSpaceName);
|
---|
[9ff45d6] | 41 | }
|
---|
[0ad69c1] | 42 | @GetMapping("/parkingSession/end/calculate")
|
---|
[bfc49f4] | 43 | public int calculateParkingSession(){
|
---|
| 44 | return this.parkingSessionService.calculatePayment();
|
---|
[9ff45d6] | 45 | }
|
---|
[b6e52e1] | 46 | @PutMapping("/parkingSession/pay")
|
---|
[bfc49f4] | 47 | public boolean payParkingSession(@RequestParam(required = false) String expireDate){
|
---|
[b6e52e1] | 48 | return this.parkingSessionService.payParkingSession(expireDate);
|
---|
[ce6ad22] | 49 | }
|
---|
| 50 |
|
---|
| 51 | @DeleteMapping({"/parkingSession/{parkingSessionId}"})
|
---|
[ebc5eee] | 52 | public Optional<ParkingSession> deleteParkingSession(@PathVariable int parkingSessionId) {
|
---|
[97fbc67] | 53 | return this.parkingSessionService.deleteParkingSession(parkingSessionId);
|
---|
[ce6ad22] | 54 | }
|
---|
| 55 | } |
---|