[ce6ad22] | 1 | package parkup.controllers;
|
---|
| 2 |
|
---|
| 3 | import java.util.List;
|
---|
[97fbc67] | 4 | import java.util.Optional;
|
---|
| 5 |
|
---|
[ce6ad22] | 6 | import org.springframework.beans.factory.annotation.Autowired;
|
---|
[97fbc67] | 7 | import org.springframework.web.bind.annotation.*;
|
---|
| 8 | import parkup.configs.RegistrationRequest;
|
---|
| 9 | import parkup.configs.RegistrationServiceRP;
|
---|
[0e407de] | 10 | import parkup.data.Plate;
|
---|
[52df867] | 11 | import parkup.data.enumarations.SessionStatus;
|
---|
[9dd526f] | 12 | import parkup.entities.RegisteredUser;
|
---|
[52df867] | 13 | import parkup.services.ParkingSessionService;
|
---|
[9dd526f] | 14 | import parkup.services.RegisteredUserService;
|
---|
[ce6ad22] | 15 |
|
---|
| 16 | @RestController
|
---|
[ccb2d72] | 17 | public class RegisteredUserController {
|
---|
[9dd526f] | 18 | private final RegisteredUserService registeredUserService;
|
---|
[97fbc67] | 19 | private final RegistrationServiceRP registrationServiceRP;
|
---|
[52df867] | 20 | private final ParkingSessionService parkingSessionService;
|
---|
[ce6ad22] | 21 |
|
---|
| 22 | @Autowired
|
---|
[52df867] | 23 | public RegisteredUserController(RegisteredUserService registeredUserService, RegistrationServiceRP registrationServiceRP, ParkingSessionService parkingSessionService) {
|
---|
[9dd526f] | 24 | this.registeredUserService = registeredUserService;
|
---|
[97fbc67] | 25 | this.registrationServiceRP = registrationServiceRP;
|
---|
[52df867] | 26 | this.parkingSessionService = parkingSessionService;
|
---|
[ce6ad22] | 27 | }
|
---|
| 28 |
|
---|
| 29 | @GetMapping({"/registriranParkirac"})
|
---|
[9dd526f] | 30 | public List<RegisteredUser> getAllRegistriraniParkiraci() {
|
---|
| 31 | return this.registeredUserService.getRegPark();
|
---|
[ce6ad22] | 32 | }
|
---|
| 33 |
|
---|
| 34 | @GetMapping({"/registriranParkirac/{regParkId}"})
|
---|
[9dd526f] | 35 | public RegisteredUser getRegistriranParkirac(@PathVariable int regParkId) {
|
---|
| 36 | RegisteredUser regPark = this.registeredUserService.findById(regParkId);
|
---|
[ce6ad22] | 37 | if (regPark != null) {
|
---|
| 38 | return regPark;
|
---|
| 39 | } else {
|
---|
| 40 | throw new RuntimeException("User not found");
|
---|
| 41 | }
|
---|
| 42 | }
|
---|
| 43 |
|
---|
[0e407de] | 44 |
|
---|
[843a941] | 45 | @GetMapping({"/registriranParkirac/session"})
|
---|
| 46 | public SessionStatus getStatusOnParkirac(){
|
---|
| 47 | return parkingSessionService.getStatusOfParkirac();
|
---|
[52df867] | 48 | }
|
---|
| 49 |
|
---|
[ce6ad22] | 50 | @PostMapping({"/registriranParkirac"})
|
---|
[9dd526f] | 51 | public Optional<RegisteredUser> addRegistriranParkirac(@RequestBody RegisteredUser regPark) {
|
---|
| 52 | return this.registeredUserService.addRegPark(regPark);
|
---|
[ce6ad22] | 53 | }
|
---|
| 54 |
|
---|
| 55 | @PutMapping({"/registriranParkirac/{regParkId}"})
|
---|
[9dd526f] | 56 | public RegisteredUser updateRegistriranParkirac(@PathVariable int regParkId, @RequestBody RegisteredUser regPark) {
|
---|
[0e407de] | 57 | return this.registeredUserService.updateRegPark(regParkId,regPark.getPassword(), regPark.getFirstName(), regPark.getLastName(), regPark.getMobile(), regPark.getEmail());
|
---|
| 58 | }
|
---|
| 59 | @PutMapping({"/registriranParkirac/{regParkId}/tablici"})
|
---|
[8f153ca] | 60 | public String addTablicaToUser(@PathVariable int regParkId, @RequestBody Plate plate){
|
---|
[0e407de] | 61 | return this.registeredUserService.addTablica(regParkId,plate);
|
---|
| 62 | }
|
---|
[3753356] | 63 | @GetMapping({"/registiranParkirac/tablici"})
|
---|
| 64 | public List<String> getTabliciFromUser(){
|
---|
| 65 | return this.registeredUserService.getTablici();
|
---|
| 66 | }
|
---|
[2b65789] | 67 | @DeleteMapping({"/registriranParkirac/{regParkId}/tablici/{plate}"})
|
---|
[8f153ca] | 68 | public String deleteTablicaFromUser(@PathVariable int regParkId, @PathVariable String plate){
|
---|
[0e407de] | 69 | return this.registeredUserService.deleteTablica(regParkId,plate);
|
---|
[ce6ad22] | 70 | }
|
---|
| 71 |
|
---|
| 72 | @DeleteMapping({"/registriranParkirac/{regParkId}"})
|
---|
[9dd526f] | 73 | public Optional<RegisteredUser> deleteRegistriranParkirac(@PathVariable int regParkId) {
|
---|
| 74 | return this.registeredUserService.deleteRegPark(regParkId);
|
---|
[97fbc67] | 75 | }
|
---|
| 76 |
|
---|
| 77 | @PostMapping({"/registriranParkirac/registration"})
|
---|
| 78 | public String register(@RequestBody RegistrationRequest request){
|
---|
| 79 | return registrationServiceRP.register(request);
|
---|
| 80 | }
|
---|
| 81 |
|
---|
| 82 | @GetMapping(path = "/registriranParkirac/registration/confirm")
|
---|
| 83 | public String confirm(@RequestParam("token") String token) {
|
---|
| 84 | return registrationServiceRP.confirmToken(token);
|
---|
[ce6ad22] | 85 | }
|
---|
| 86 | } |
---|