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