package parkup.controllers; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import parkup.entities.ParkingSession; import parkup.services.ParkingSessionService; import java.util.List; import java.util.Optional; @RestController public class ParkingSessionController { private final ParkingSessionService parkingSessionService; @Autowired public ParkingSessionController(ParkingSessionService parkingSessionService) { this.parkingSessionService = parkingSessionService; } @GetMapping({"/parkingSession"}) public List getAllParkingSessions() { return parkingSessionService.getAllParkingSessions(); } @GetMapping({"/parkingSession/{parkingSessionId}"}) public ParkingSession getParkingSession(@PathVariable int parkingSessionId) { ParkingSession parkingSession = parkingSessionService.findById(parkingSessionId); if (parkingSession != null) { return parkingSession; } else { throw new RuntimeException("ParkingSession not found"); } } @PostMapping({"/parkingSession"}) public Optional addParkingSession(@RequestBody ParkingSession parkingSession) { //System.out.println("???????"); return this.parkingSessionService.addParkingSession(parkingSession); } @PutMapping({"/parkingSession/{parkingSessionId}"}) public void updateParkingSession(@PathVariable int parkingSessionId, @RequestBody ParkingSession parkingSession) { parkingSessionService.updateParkingSession(parkingSessionId, parkingSession.getTimeStart(), parkingSession.getTimeEnd(), parkingSession.getTablica()); } @DeleteMapping({"/parkingSession/{parkingSessionId}"}) public Optional deleteParkingSession(@PathVariable int parkingSessionId) { return this.parkingSessionService.deleteParkingSession(parkingSessionId); } }