Changeset 9dd526f for sources/app/src/main/java/parkup/services
- Timestamp:
- 02/02/22 14:15:35 (2 years ago)
- Branches:
- master
- Children:
- df4089c
- Parents:
- 9ff45d6
- Location:
- sources/app/src/main/java/parkup/services
- Files:
-
- 1 added
- 1 deleted
- 4 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
sources/app/src/main/java/parkup/services/AdministratorService.java
r9ff45d6 r9dd526f 21 21 private final AdministratorRepository administratorRepository; 22 22 private final BCryptPasswordEncoder bCryptPasswordEncoder; 23 private final ConfirmationTokenService confirmationTokenService; 24 private EmailValidator emailValidator; 23 25 24 26 25 @Autowired 27 public AdministratorService(AdministratorRepository administratorRepository, BCryptPasswordEncoder bCryptPasswordEncoder , ConfirmationTokenService confirmationTokenService) {26 public AdministratorService(AdministratorRepository administratorRepository, BCryptPasswordEncoder bCryptPasswordEncoder) { 28 27 this.administratorRepository = administratorRepository; 29 28 this.bCryptPasswordEncoder = bCryptPasswordEncoder; 30 this.confirmationTokenService = confirmationTokenService;31 29 } 32 30 … … 46 44 } else { 47 45 if (administrator.getEmail() != null && administrator.getEmail().length() > 1 && administrator.getEmail().contains("@")) { 48 //System.out.println(regPark);46 administrator.setPassword(bCryptPasswordEncoder.encode(administrator.getPassword())); 49 47 this.administratorRepository.save(administrator); 50 48 } … … 108 106 } 109 107 110 //public String register(RegistrationRequest request) {111 // boolean isValidEmail = emailValidator.test(request.getEmail());112 // if (!isValidEmail){113 // throw new IllegalStateException("Email not valid");114 // }115 // return "it works";116 //}117 118 public String signUpAdministrator(Administrator administrator){119 boolean administratorExists = administratorRepository120 .findAdministratorByEmail(administrator.getEmail())121 .isPresent();122 if(administratorExists){123 // TODO check if attributes are the same and124 // TODO if email not confirmed send confirmation email125 126 throw new IllegalStateException("Email already taken");127 }128 129 String encodedPassword = bCryptPasswordEncoder130 .encode(administrator.getPassword());131 132 administrator.setPassword(encodedPassword);133 134 administratorRepository.save(administrator);135 136 // TODO: Send confirmation token137 138 String token = UUID.randomUUID().toString();139 140 141 // TODO: SEND EMAIL142 143 return token;144 }145 146 108 public int enableAdministrator(String email) { 147 109 return administratorRepository.enableAdministrator(email); -
sources/app/src/main/java/parkup/services/ParkingSessionService.java
r9ff45d6 r9dd526f 3 3 import org.springframework.beans.factory.annotation.Autowired; 4 4 import org.springframework.stereotype.Service; 5 import parkup.data. Tablicka;5 import parkup.data.Plate; 6 6 import parkup.data.enumarations.SessionStatus; 7 7 import parkup.entities.ParkingSession; … … 11 11 import parkup.repositories.ParkingSpaceRepository; 12 12 import parkup.repositories.ParkingZoneRepository; 13 import parkup.repositories. TablickaRepository;13 import parkup.repositories.PlateRepository; 14 14 15 15 import javax.transaction.Transactional; … … 25 25 private final ParkingZoneRepository parkingZoneRepository; 26 26 private final ParkingSpaceRepository parkingSpaceRepository; 27 private final TablickaRepository tablickaRepository;27 private final PlateRepository plateRepository; 28 28 29 29 @Autowired 30 public ParkingSessionService(ParkingSessionRepository parkingSessionRepository, ParkingZoneRepository parkingZoneRepository, ParkingSpaceRepository parkingSpaceRepository, TablickaRepository tablickaRepository) {30 public ParkingSessionService(ParkingSessionRepository parkingSessionRepository, ParkingZoneRepository parkingZoneRepository, ParkingSpaceRepository parkingSpaceRepository, PlateRepository plateRepository) { 31 31 this.parkingSessionRepository = parkingSessionRepository; 32 32 this.parkingZoneRepository = parkingZoneRepository; 33 33 this.parkingSpaceRepository = parkingSpaceRepository; 34 this. tablickaRepository = tablickaRepository;34 this.plateRepository = plateRepository; 35 35 } 36 36 … … 83 83 public Optional<ParkingSession> startParkingSession(String tablica, int parkingZoneId) { 84 84 ParkingZone parkingZone = parkingZoneRepository.findByPzId(parkingZoneId); 85 Tablicka tablicka = tablickaRepository.findByTablica(tablica);86 if( tablicka==null) {87 tablickaRepository.save(new Tablicka(tablica));85 Plate plate = plateRepository.findByPlate(tablica); 86 if(plate ==null) { 87 plateRepository.save(new Plate(tablica)); 88 88 } 89 tablicka=tablickaRepository.findByTablica(tablica);90 ParkingSession sessionToAdd = new ParkingSession( tablicka);89 plate = plateRepository.findByPlate(tablica); 90 ParkingSession sessionToAdd = new ParkingSession(plate); 91 91 sessionToAdd.setParkingZone(parkingZone); 92 92 parkingSessionRepository.save(sessionToAdd); -
sources/app/src/main/java/parkup/services/ParkingSpaceService.java
r9ff45d6 r9dd526f 4 4 import org.springframework.stereotype.Service; 5 5 import parkup.entities.ParkingSpace; 6 import parkup.entities.ParkingZone; 6 7 import parkup.repositories.ParkingSpaceRepository; 7 8 import parkup.repositories.ParkingZoneRepository; … … 48 49 Optional<ParkingSpace> ParkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsId(parkingSpaceId)); 49 50 if (ParkingSpaceOpt.isPresent()) { 50 ParkingSpace ParkingSpaceNov= parkingSpaceRepository.findByPsId(parkingSpaceId);51 if (psName != null && psName.length() > 1 && !Objects.equals( ParkingSpaceNov.getPsName(), psName)) {51 ParkingSpace parkingSpaceNew = parkingSpaceRepository.findByPsId(parkingSpaceId); 52 if (psName != null && psName.length() > 1 && !Objects.equals(parkingSpaceNew.getPsName(), psName)) { 52 53 Optional<ParkingSpace> parkingSpaceOpt1 = Optional.ofNullable(parkingSpaceRepository.findByPsName(psName)); 53 54 if (parkingSpaceOpt1.isPresent()) { … … 55 56 } 56 57 57 ParkingSpaceNov.setPsName(psName);58 parkingSpaceNew.setPsName(psName); 58 59 } 59 60 60 if (!Objects.equals( ParkingSpaceNov.isTaken(), taken)) {61 ParkingSpaceNov.setTaken(taken);61 if (!Objects.equals(parkingSpaceNew.isTaken(), taken)) { 62 parkingSpaceNew.setTaken(taken); 62 63 } 63 64 64 65 65 if(lat!=0 && !Objects.equals( ParkingSpaceNov.getLat(), lat)){66 ParkingSpaceNov.setLat(lat);66 if(lat!=0 && !Objects.equals(parkingSpaceNew.getLat(), lat)){ 67 parkingSpaceNew.setLat(lat); 67 68 } 68 69 69 if(lng!=0 && !Objects.equals( ParkingSpaceNov.getLng(), lng)){70 ParkingSpaceNov.setLng(lng);70 if(lng!=0 && !Objects.equals(parkingSpaceNew.getLng(), lng)){ 71 parkingSpaceNew.setLng(lng); 71 72 } 72 return ParkingSpaceNov;73 return parkingSpaceNew; 73 74 }else{ 74 75 throw new IllegalStateException("ParkingSpace does not exist"); … … 80 81 Optional<ParkingSpace> parkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsId(parkingSpaceId)); 81 82 if (parkingSpaceOpt.isPresent()) { 83 for(ParkingZone pz: parkingZoneRepository.findAll()){ 84 pz.getParkingSpaces().remove(parkingSpaceOpt.get()); 85 parkingZoneRepository.save(pz); 86 } 82 87 parkingSpaceRepository.deleteByPsId(parkingSpaceId); 83 88 } else { -
sources/app/src/main/java/parkup/services/ParkingZoneService.java
r9ff45d6 r9dd526f 4 4 import org.springframework.stereotype.Service; 5 5 import parkup.data.ParkingZoneLocation; 6 import parkup.entities.ParkingSession;7 6 import parkup.entities.ParkingSpace; 8 7 import parkup.entities.ParkingZone; 9 import parkup.entities. Vraboten;8 import parkup.entities.Worker; 10 9 import parkup.repositories.ParkingSessionRepository; 11 10 import parkup.repositories.ParkingSpaceRepository; 12 11 import parkup.repositories.ParkingZoneRepository; 13 import parkup.repositories. VrabotenRepository;12 import parkup.repositories.WorkerRepository; 14 13 15 14 import javax.transaction.Transactional; … … 23 22 private final ParkingZoneRepository parkingZoneRepository; 24 23 private final ParkingSpaceRepository parkingSpaceRepository; 25 private final VrabotenRepository vrabotenRepository;24 private final WorkerRepository workerRepository; 26 25 private final ParkingSessionRepository parkingSessionRepository; 27 26 28 27 @Autowired 29 public ParkingZoneService(ParkingZoneRepository parkingZoneRepository, ParkingSpaceRepository parkingSpaceRepository, VrabotenRepository vrabotenRepository, ParkingSessionRepository parkingSessionRepository) {28 public ParkingZoneService(ParkingZoneRepository parkingZoneRepository, ParkingSpaceRepository parkingSpaceRepository, WorkerRepository workerRepository, ParkingSessionRepository parkingSessionRepository) { 30 29 this.parkingZoneRepository = parkingZoneRepository; 31 30 this.parkingSpaceRepository = parkingSpaceRepository; 32 31 this.parkingSessionRepository = parkingSessionRepository; 33 this. vrabotenRepository = vrabotenRepository;32 this.workerRepository = workerRepository; 34 33 } 35 34 36 35 public List<ParkingZone> getAllParkingZones() { 37 return parkingZoneRepository.findAll(); 36 List<ParkingZone> parkingZones= parkingZoneRepository.findAll(); 37 for(ParkingZone pz:parkingZones){ 38 setTransientVariables(pz.getId()); 39 } 40 return parkingZones; 38 41 } 39 42 40 43 public ParkingZone findById(int parkingZoneId) { 41 44 Optional<ParkingZone> parkingZone = Optional.ofNullable(this.parkingZoneRepository.findByPzId(parkingZoneId)); 42 return parkingZone.orElse(null); 45 if (!parkingZone.isPresent()) { 46 throw new IllegalStateException("ParkingZone does not exist"); 47 } 48 setTransientVariables(parkingZone.get().getId()); 49 return parkingZone.get(); 43 50 } 44 51 … … 134 141 ParkingZone parkingZone = parkingZoneRepository.findByPzId(parkingZoneId); 135 142 for (Integer vrabotenId : odgovorniLica) { 136 Vraboten vrabotenToAdd = vrabotenRepository.findByVrabotenId(vrabotenId);137 if( vrabotenToAdd!=null)138 vrabotenToAdd.getParkingZones().add(parkingZone);143 Worker workerToAdd = workerRepository.findByWorkerId(vrabotenId); 144 if(workerToAdd !=null) 145 workerToAdd.getParkingZones().add(parkingZone); 139 146 } 140 147 } … … 158 165 return parkingZoneOpt; 159 166 } 167 168 public int calculateTakenSpaces(int pzId){ 169 ParkingZone parkingZone=parkingZoneRepository.findByPzId(pzId); 170 return (int)parkingZone.getParkingSpaces().stream().filter(ParkingSpace::isTaken).count(); 171 } 172 public int calculateCapacity(int pzId){ 173 ParkingZone parkingZone=parkingZoneRepository.findByPzId(pzId); 174 return parkingZone.getParkingSpaces().size(); 175 } 176 public void setTransientVariables(int pzId){ 177 calculateCapacity(pzId); 178 calculateTakenSpaces(pzId); 179 } 160 180 } 161 181 -
sources/app/src/main/java/parkup/services/RegisteredUserService.java
r9ff45d6 r9dd526f 17 17 import parkup.configs.token.ConfirmationTokenRP; 18 18 import parkup.configs.token.ConfirmationTokenService; 19 import parkup.data. Tablicka;20 import parkup.entities.Regist riranParkirac;21 import parkup.repositories.Regist riranParkiracRepository;19 import parkup.data.Plate; 20 import parkup.entities.RegisteredUser; 21 import parkup.repositories.RegisteredUserRepository; 22 22 23 23 @Service 24 public class Regist riranParkiracService implements UserDetailsService {25 private final Regist riranParkiracRepository registriranParkiracRepository;24 public class RegisteredUserService implements UserDetailsService { 25 private final RegisteredUserRepository registeredUserRepository; 26 26 private final BCryptPasswordEncoder bCryptPasswordEncoder; 27 27 private final ConfirmationTokenService confirmationTokenService; 28 private EmailValidator emailValidator; 29 28 private final EmailValidator emailValidator; 30 29 @Autowired 31 public Regist riranParkiracService(RegistriranParkiracRepository registriranParkiracRepository, BCryptPasswordEncoder bCryptPasswordEncoder, ConfirmationTokenService confirmationTokenService) {32 this.regist riranParkiracRepository = registriranParkiracRepository;30 public RegisteredUserService(RegisteredUserRepository registeredUserRepository, BCryptPasswordEncoder bCryptPasswordEncoder, ConfirmationTokenService confirmationTokenService, EmailValidator emailValidator) { 31 this.registeredUserRepository = registeredUserRepository; 33 32 this.bCryptPasswordEncoder = bCryptPasswordEncoder; 34 33 this.confirmationTokenService = confirmationTokenService; 34 this.emailValidator = emailValidator; 35 35 } 36 36 37 public List<Regist riranParkirac> getRegPark() {38 return this.regist riranParkiracRepository.findAll();37 public List<RegisteredUser> getRegPark() { 38 return this.registeredUserRepository.findAll(); 39 39 } 40 40 41 public Optional<Regist riranParkirac> addRegPark(RegistriranParkiracregPark) {42 Optional<Regist riranParkirac> regParkOpt = this.registriranParkiracRepository.findRegistriranParkiracByEmail(regPark.getEmail());41 public Optional<RegisteredUser> addRegPark(RegisteredUser regPark) { 42 Optional<RegisteredUser> regParkOpt = this.registeredUserRepository.findRegisteredUserByEmail(regPark.getEmail()); 43 43 if (regParkOpt.isPresent()) { 44 44 throw new IllegalStateException("Email already taken, try adding a registriranParkirac with a different valid email address"); 45 45 } else { 46 46 if (regPark.getEmail() != null && regPark.getEmail().length() > 1 && regPark.getEmail().contains("@")) { 47 //System.out.println(regPark); 48 this.registriranParkiracRepository.save(regPark); 47 this.registeredUserRepository.save(regPark); 49 48 } 50 49 else { … … 56 55 57 56 @Transactional 58 public Regist riranParkirac updateRegPark(int regParkId, String name, String surname, String mobile, String email,List<Tablicka> regTablicki) {59 Optional<Regist riranParkirac> regParkOpt = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId));57 public RegisteredUser updateRegPark(int regParkId, String name, String surname, String mobile, String email, List<Plate> regTablicki) { 58 Optional<RegisteredUser> regParkOpt = Optional.ofNullable(this.registeredUserRepository.findByRegParkId(regParkId)); 60 59 if (regParkOpt.isPresent()) { 61 Regist riranParkirac regParkNov = this.registriranParkiracRepository.findByRegParkId(regParkId);60 RegisteredUser regParkNov = this.registeredUserRepository.findByRegParkId(regParkId); 62 61 if (email != null && email.length() > 1 && email.contains("@") && !Objects.equals(regParkNov.getEmail(), email)) { 63 Optional<Regist riranParkirac> userOpt1 = this.registriranParkiracRepository.findRegistriranParkiracByEmail(email);62 Optional<RegisteredUser> userOpt1 = this.registeredUserRepository.findRegisteredUserByEmail(email); 64 63 if (userOpt1.isPresent()) { 65 64 throw new IllegalStateException("email taken"); … … 80 79 regParkNov.setMobile(mobile); 81 80 } 82 regParkNov.set RegTablicki(regTablicki);81 regParkNov.setPlates(regTablicki); 83 82 return regParkNov; 84 83 }else{ … … 89 88 @Transactional 90 89 @Modifying 91 public Optional<Regist riranParkirac> deleteRegPark(int regParkId) {92 Optional<Regist riranParkirac> regPark = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId));90 public Optional<RegisteredUser> deleteRegPark(int regParkId) { 91 Optional<RegisteredUser> regPark = Optional.ofNullable(this.registeredUserRepository.findByRegParkId(regParkId)); 93 92 if (regPark.isPresent()) { 94 93 //TODO da povikamo metod od ConfirmationTokenService za brisenje na ConfirmationTokenRP *DONE 95 94 //TODO da se izbrisat tablicki i da ne se dupliraat istite tablicki pri update ili add na nov registriranParkirac 96 this.confirmationTokenService.deleteByRegist riranParkirac_RegParkId(regParkId);97 this.regist riranParkiracRepository.deleteByRegParkId(regParkId);95 this.confirmationTokenService.deleteByRegisteredUser_RegParkId(regParkId); 96 this.registeredUserRepository.deleteByRegParkId(regParkId); 98 97 } else { 99 98 throw new IllegalStateException("RegistriranParkirac doesn't exist, therefore can't be deleted"); … … 102 101 } 103 102 104 public Regist riranParkiracfindById(int regParkId) {105 Optional<Regist riranParkirac> regPark = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId));103 public RegisteredUser findById(int regParkId) { 104 Optional<RegisteredUser> regPark = Optional.ofNullable(this.registeredUserRepository.findByRegParkId(regParkId)); 106 105 return regPark.orElse(null); 107 106 } … … 109 108 @Override 110 109 public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { 111 return regist riranParkiracRepository.findRegistriranParkiracByEmail(email)110 return registeredUserRepository.findRegisteredUserByEmail(email) 112 111 .orElseThrow(() -> 113 112 new UsernameNotFoundException("Email not found")); … … 115 114 } 116 115 117 public String signUpRegistriranParkirac(RegistriranParkirac registriranParkirac){ 118 boolean registriranParkiracExists = registriranParkiracRepository 119 .findRegistriranParkiracByEmail(registriranParkirac.getEmail()) 116 public String signUpRegistriranParkirac(RegisteredUser registeredUser){ 117 if (registeredUser.getEmail() == null || registeredUser.getEmail().isEmpty()) 118 throw new IllegalArgumentException("Empty email"); 119 if (!emailValidator.test(registeredUser.getEmail())) 120 throw new IllegalArgumentException("Invalid email"); 121 boolean registriranParkiracExists = registeredUserRepository 122 .findRegisteredUserByEmail(registeredUser.getEmail()) 120 123 .isPresent(); 121 124 if(registriranParkiracExists){ 122 // TODO check if attributes are the same and123 // TODO if email not confirmed send confirmation email124 125 125 throw new IllegalStateException("Email already taken"); 126 126 } 127 127 128 128 String encodedPassword = bCryptPasswordEncoder 129 .encode(regist riranParkirac.getPassword());129 .encode(registeredUser.getPassword()); 130 130 131 regist riranParkirac.setPassword(encodedPassword);131 registeredUser.setPassword(encodedPassword); 132 132 133 registriranParkiracRepository.save(registriranParkirac); 134 135 // TODO: Send confirmation token 133 registeredUserRepository.save(registeredUser); 136 134 137 135 String token = UUID.randomUUID().toString(); … … 140 138 LocalDateTime.now(), 141 139 LocalDateTime.now().plusMinutes(15), 142 regist riranParkirac140 registeredUser 143 141 ); 144 142 145 143 confirmationTokenService.saveConfirmationTokenRP(confirmationTokenRP); 146 147 // TODO: SEND EMAIL148 144 149 145 return token; … … 151 147 152 148 public int enableRegistriranParkirac(String email) { 153 return regist riranParkiracRepository.enableRegistriranParkirac(email);149 return registeredUserRepository.enableRegisteredUser(email); 154 150 } 155 151 }
Note:
See TracChangeset
for help on using the changeset viewer.