Changeset f6bc52d for sources/app/src/main/java/parkup/services
- Timestamp:
- 11/04/21 16:59:49 (3 years ago)
- Branches:
- master
- Children:
- 9504a09
- Parents:
- ce6ad22
- Location:
- sources/app/src/main/java/parkup/services
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/app/src/main/java/parkup/services/AdministratorService.java
rce6ad22 rf6bc52d 1 1 package parkup.services; 2 2 3 import java.time.LocalDateTime;4 3 import java.util.List; 5 4 import java.util.Objects; … … 14 13 import org.springframework.stereotype.Service; 15 14 import parkup.configs.email.EmailValidator; 16 import parkup.configs.token.ConfirmationToken;17 15 import parkup.configs.token.ConfirmationTokenService; 18 16 import parkup.entities.Administrator; … … 42 40 } 43 41 44 public voidaddAdministrator(Administrator administrator) {42 public Optional<Administrator> addAdministrator(Administrator administrator) { 45 43 Optional<Administrator> administratorOpt = this.administratorRepository.findAdministratorByEmail(administrator.getEmail()); 46 44 if (administratorOpt.isPresent()) { 47 45 throw new IllegalStateException("Email already taken, try adding an administrator with a different valid email address"); 48 46 } else { 49 System.out.println(administrator); 50 this.administratorRepository.save(administrator); 47 if (administrator.getEmail() != null && administrator.getEmail().length() > 1 && administrator.getEmail().contains("@")) { 48 //System.out.println(regPark); 49 this.administratorRepository.save(administrator); 50 } 51 else { 52 throw new IllegalStateException("email not valid"); 53 } 51 54 } 55 return administratorOpt; 52 56 } 53 57 54 58 @Transactional 55 public voidupdateAdministrator(int administratorId, String firstName, String lastName, String mobile, String email) {59 public Administrator updateAdministrator(int administratorId, String firstName, String lastName, String mobile, String email) { 56 60 Optional<Administrator> administratorOpt = Optional.ofNullable(this.administratorRepository.findByAdministratorId(administratorId)); 57 61 if (administratorOpt.isPresent()) { … … 62 66 throw new IllegalStateException("email taken"); 63 67 } 64 65 68 administratorNov.setEmail(email); 69 }else{ 70 throw new IllegalStateException("email not valid"); 66 71 } 67 72 … … 77 82 administratorNov.setMobile(mobile); 78 83 } 84 return administratorNov; 79 85 } 86 else { 87 throw new IllegalStateException("Administrator doesn't exist, therefore can't be updated"); 88 } 89 80 90 } 81 91 82 public voiddeleteAdministrator(int administratorId) {92 public Optional<Administrator> deleteAdministrator(int administratorId) { 83 93 Optional<Administrator> administratorOpt = Optional.ofNullable(this.administratorRepository.findByAdministratorId(administratorId)); 84 94 if (administratorOpt.isPresent()) { … … 87 97 throw new IllegalStateException("Administrator doesn't exist, therefore can't be deleted"); 88 98 } 99 return administratorOpt; 89 100 } 90 101 … … 126 137 127 138 String token = UUID.randomUUID().toString(); 128 ConfirmationToken confirmationToken = new ConfirmationToken(129 token,130 LocalDateTime.now(),131 LocalDateTime.now().plusMinutes(15),132 administrator133 );139 //ConfirmationTokenRP confirmationToken = new ConfirmationTokenRP( 140 // token, 141 // LocalDateTime.now(), 142 // LocalDateTime.now().plusMinutes(15), 143 // administrator 144 //); 134 145 135 confirmationTokenService.saveConfirmationToken(confirmationToken);146 //confirmationTokenService.saveConfirmationToken(confirmationToken); 136 147 137 148 // TODO: SEND EMAIL -
sources/app/src/main/java/parkup/services/ParkingSessionService.java
rce6ad22 rf6bc52d 3 3 import org.springframework.beans.factory.annotation.Autowired; 4 4 import org.springframework.stereotype.Service; 5 import parkup.data.Tablicka; 5 6 import parkup.entities.ParkingSession; 6 7 import parkup.repositories.ParkingSessionRepository; 7 8 9 import javax.transaction.Transactional; 8 10 import java.util.List; 9 11 import java.util.Objects; … … 28 30 } 29 31 30 public void updateParkingSession(int parkingSessionId, String timeStart, String timeEnd) { 32 @Transactional 33 public void updateParkingSession(int parkingSessionId, String timeStart, String timeEnd, Tablicka tablicka) { 31 34 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSessionId)); 32 35 if (parkingSessionOpt.isPresent()) { 33 36 ParkingSession parkingSessionNov = parkingSessionRepository.findByPssId(parkingSessionId); 37 34 38 if(!parkingSessionNov.getTimeStart().equals(timeStart) && !parkingSessionNov.getTimeStart().equals(timeEnd)) 35 39 parkingSessionNov.setTimeStart(timeStart); … … 37 41 if(!parkingSessionNov.getTimeEnd().equals(timeEnd) && !parkingSessionNov.getTimeEnd().equals(timeStart)) 38 42 parkingSessionNov.setTimeEnd(timeEnd); 43 44 if(tablicka!=null && !Objects.equals(parkingSessionNov.getTablica(),tablicka)){ 45 parkingSessionNov.setTablica(tablicka); 46 } 47 }else{ 48 throw new IllegalStateException("The ParkingSession does not exist"); 39 49 } 40 50 } 41 51 42 public voiddeleteParkingSession(int parkingSessionId) {52 public Optional<ParkingSession> deleteParkingSession(int parkingSessionId) { 43 53 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSessionId)); 44 54 if (parkingSessionOpt.isPresent()) { 45 55 parkingSessionRepository.deleteByPssId(parkingSessionId); 56 return parkingSessionOpt; 46 57 } else { 47 58 throw new IllegalStateException("ParkingSpace doesn't exist, therefore can't be deleted"); … … 49 60 } 50 61 51 public voidaddParkingSession(ParkingSession parkingSession) {52 Optional 62 public Optional<ParkingSession> addParkingSession(ParkingSession parkingSession) { 63 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSession.getPssId())); 53 64 if (parkingSessionOpt.isPresent()) { 54 65 throw new IllegalStateException("ID already taken, ParkingSession cannot be added"); … … 56 67 System.out.println(parkingSession); 57 68 parkingSessionRepository.save(parkingSession); 69 return parkingSessionOpt; 58 70 } 59 71 } -
sources/app/src/main/java/parkup/services/ParkingSpaceService.java
rce6ad22 rf6bc52d 6 6 import parkup.repositories.ParkingSpaceRepository; 7 7 8 import javax.transaction.Transactional; 8 9 import java.util.List; 9 10 import java.util.Objects; … … 28 29 } 29 30 30 public voidaddParkingSpace(ParkingSpace parkingSpace) {31 Optional 31 public Optional<ParkingSpace> addParkingSpace(ParkingSpace parkingSpace) { 32 Optional<ParkingSpace> parkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsName(parkingSpace.getPsName())); 32 33 if (parkingSpaceOpt.isPresent()) { 33 34 throw new IllegalStateException("Name already taken, try adding a ParkingZone with a different name"); … … 36 37 parkingSpaceRepository.save(parkingSpace); 37 38 } 39 return parkingSpaceOpt; 38 40 } 39 41 40 public void updateParkingSpace(int parkingSpaceId, String psName, boolean taken, boolean handicaped) { 42 @Transactional 43 public ParkingSpace updateParkingSpace(int parkingSpaceId, String psName, boolean taken, boolean handicaped, float lat, float lng) { 41 44 Optional<ParkingSpace> ParkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsId(parkingSpaceId)); 42 45 if (ParkingSpaceOpt.isPresent()) { … … 58 61 ParkingSpaceNov.setHandicaped(handicaped); 59 62 } 63 64 if(lat!=0 && !Objects.equals(ParkingSpaceNov.getLat(), lat)){ 65 ParkingSpaceNov.setLat(lat); 66 } 67 68 if(lng!=0 && !Objects.equals(ParkingSpaceNov.getLng(), lng)){ 69 ParkingSpaceNov.setLng(lng); 70 } 71 return ParkingSpaceNov; 72 }else{ 73 throw new IllegalStateException("ParkingSpace does not exist"); 60 74 } 61 75 } 62 76 63 public void deleteParkingSpace(int parkingSpaceId) { 77 @Transactional 78 public Optional<ParkingSpace> deleteParkingSpace(int parkingSpaceId) { 64 79 Optional<ParkingSpace> parkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsId(parkingSpaceId)); 65 80 if (parkingSpaceOpt.isPresent()) { … … 68 83 throw new IllegalStateException("ParkingSpace doesn't exist, therefore can't be deleted"); 69 84 } 85 return parkingSpaceOpt; 70 86 } 71 87 } -
sources/app/src/main/java/parkup/services/ParkingZoneService.java
rce6ad22 rf6bc52d 2 2 3 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.data.jpa.repository.Modifying; 4 5 import org.springframework.stereotype.Service; 5 import parkup.entities.Administrator; 6 import parkup.data.ParkingZoneLocation; 7 import parkup.entities.ParkingSpace; 6 8 import parkup.entities.ParkingZone; 7 9 import parkup.repositories.ParkingZoneRepository; 8 10 9 11 import javax.transaction.Transactional; 12 import java.util.ArrayList; 10 13 import java.util.List; 11 14 import java.util.Objects; … … 30 33 } 31 34 32 public void addParkingZone(ParkingZone parkingZone) { //zavisno vo koj grad ili opstina i napravi proverki pred dodavanje, implementiraj u naredna faza 35 public List<String> getAllParkingZoneNames() { 36 List<ParkingZone> parkingZones = this.parkingZoneRepository.findAll(); 37 List<String> parkingZonesNames = new ArrayList<>(); 38 for (ParkingZone pz : parkingZones){ 39 parkingZonesNames.add(pz.getPzName()); 40 } 41 return parkingZonesNames; 42 } 43 44 public Optional<ParkingZone> addParkingZone(ParkingZone parkingZone) { //zavisno vo koj grad ili opstina i napravi proverki pred dodavanje, implementiraj u naredna faza 33 45 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzName(parkingZone.getPzName())); 34 46 if (parkingZoneOpt.isPresent()) { … … 38 50 parkingZoneRepository.save(parkingZone); 39 51 } 52 return parkingZoneOpt; 40 53 } 41 54 55 public ParkingZone addParkingZoneNameOnly(String name) { 56 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzName(name)); 57 if (parkingZoneOpt.isPresent()) { 58 throw new IllegalStateException("Name already taken, try adding a ParkingZone with a different name"); 59 } else { 60 ParkingZone parkingZone = new ParkingZone(name.trim()); 61 parkingZoneRepository.save(parkingZone); 62 return parkingZone; 63 } 64 } 65 66 //TODO prati niza od objekti ParkingSpaces i prati objekt ParkingZoneLocation 42 67 @Transactional 43 public void updateParkingZone(int parkingZoneId, String pzName, int price, int capacity, String workHours, String location) { 68 public ParkingZone updateParkingZone(int parkingZoneId, String pzName, int price, int capacity, 69 String location, int from, int to, String color, 70 List<ParkingSpace> parkingSpaces, ParkingZoneLocation parkingZoneLocation) { 44 71 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzId(parkingZoneId)); 45 72 if (parkingZoneOpt.isPresent()) { … … 62 89 } 63 90 64 if (workHours != null && workHours.length() > 0 && !Objects.equals(parkingZoneNov.getWorkHours(), workHours)) {65 parkingZoneNov.setWorkHours(workHours);66 }67 68 91 if (location != null && location.length() > 0 && !Objects.equals(parkingZoneNov.getLocation(), location)) { 69 92 parkingZoneNov.setLocation(location); 70 93 } 94 95 if (from != 0 && !Objects.equals(parkingZoneNov.getFrom(), from)) { 96 parkingZoneNov.setFrom(from); 97 } 98 99 if (to != 0 && !Objects.equals(parkingZoneNov.getTo(), to)) { 100 parkingZoneNov.setTo(to); 101 } 102 103 if (color != null && color.length() > 0 && !Objects.equals(parkingZoneNov.getColor(), color)) { 104 parkingZoneNov.setColor(color); 105 } 106 107 if(parkingZoneLocation!=null){ 108 parkingZoneNov.setParkingZoneLocation(parkingZoneLocation); 109 } 110 111 if(!parkingSpaces.isEmpty()){ 112 //TODO kreiraj lista od parkingSpaces, ni gi prakja false isHandicaped i isTaken 113 parkingZoneNov.setParkingSpaces(parkingSpaces); 114 } 115 116 return parkingZoneNov; 117 } else { 118 throw new IllegalStateException("There ParkingZone does not exist"); 71 119 } 72 120 } 73 121 74 public void deleteParkingZone(int parkingZoneId) { 122 @Transactional 123 public Optional<ParkingZone> deleteParkingZone(int parkingZoneId) { 75 124 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzId(parkingZoneId)); 76 125 if (parkingZoneOpt.isPresent()) { … … 79 128 throw new IllegalStateException("ParkingZone doesn't exist, therefore can't be deleted"); 80 129 } 130 return parkingZoneOpt; 81 131 } 82 132 } -
sources/app/src/main/java/parkup/services/RegistriranParkiracService.java
rce6ad22 rf6bc52d 1 1 package parkup.services; 2 2 3 import java.time.LocalDateTime; 3 4 import java.util.List; 4 5 import java.util.Objects; 5 6 import java.util.Optional; 7 import java.util.UUID; 6 8 import javax.transaction.Transactional; 7 9 import org.springframework.beans.factory.annotation.Autowired; 10 import org.springframework.data.jpa.repository.Modifying; 11 import org.springframework.security.core.userdetails.UserDetails; 12 import org.springframework.security.core.userdetails.UserDetailsService; 13 import org.springframework.security.core.userdetails.UsernameNotFoundException; 14 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; 8 15 import org.springframework.stereotype.Service; 16 import parkup.configs.email.EmailValidator; 17 import parkup.configs.token.ConfirmationTokenRP; 18 import parkup.configs.token.ConfirmationTokenService; 19 import parkup.data.Tablicka; 9 20 import parkup.entities.RegistriranParkirac; 10 21 import parkup.repositories.RegistriranParkiracRepository; 11 22 12 23 @Service 13 public class RegistriranParkiracService {24 public class RegistriranParkiracService implements UserDetailsService { 14 25 private final RegistriranParkiracRepository registriranParkiracRepository; 26 private final BCryptPasswordEncoder bCryptPasswordEncoder; 27 private final ConfirmationTokenService confirmationTokenService; 28 private EmailValidator emailValidator; 15 29 16 30 @Autowired 17 public RegistriranParkiracService(RegistriranParkiracRepository registriranParkiracRepository ) {31 public RegistriranParkiracService(RegistriranParkiracRepository registriranParkiracRepository, BCryptPasswordEncoder bCryptPasswordEncoder, ConfirmationTokenService confirmationTokenService) { 18 32 this.registriranParkiracRepository = registriranParkiracRepository; 33 this.bCryptPasswordEncoder = bCryptPasswordEncoder; 34 this.confirmationTokenService = confirmationTokenService; 19 35 } 20 36 … … 23 39 } 24 40 25 public voidaddRegPark(RegistriranParkirac regPark) {41 public Optional<RegistriranParkirac> addRegPark(RegistriranParkirac regPark) { 26 42 Optional<RegistriranParkirac> regParkOpt = this.registriranParkiracRepository.findRegistriranParkiracByEmail(regPark.getEmail()); 27 43 if (regParkOpt.isPresent()) { 28 44 throw new IllegalStateException("Email already taken, try adding a registriranParkirac with a different valid email address"); 29 45 } else { 30 System.out.println(regPark); 31 this.registriranParkiracRepository.save(regPark); 46 if (regPark.getEmail() != null && regPark.getEmail().length() > 1 && regPark.getEmail().contains("@")) { 47 //System.out.println(regPark); 48 this.registriranParkiracRepository.save(regPark); 49 } 50 else { 51 throw new IllegalStateException("email not valid"); 52 } 32 53 } 54 return regParkOpt; 33 55 } 34 56 35 57 @Transactional 36 public void updateRegPark(int regParkId, String name, String surname, String mobile, String email) {58 public RegistriranParkirac updateRegPark(int regParkId, String name, String surname, String mobile, String email,List<Tablicka> regTablicki) { 37 59 Optional<RegistriranParkirac> regParkOpt = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId)); 38 60 if (regParkOpt.isPresent()) { … … 58 80 regParkNov.setMobile(mobile); 59 81 } 82 regParkNov.setRegTablicki(regTablicki); 83 return regParkNov; 84 }else{ 85 throw new IllegalStateException("RegistriranParkirac doesn't exist, therefore can't be updated"); 60 86 } 61 87 } 62 88 63 public void deleteRegPark(int regParkId) { 89 @Transactional 90 @Modifying 91 public Optional<RegistriranParkirac> deleteRegPark(int regParkId) { 64 92 Optional<RegistriranParkirac> regPark = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId)); 65 93 if (regPark.isPresent()) { 94 //TODO da povikamo metod od ConfirmationTokenService za brisenje na ConfirmationTokenRP *DONE 95 //TODO da se izbrisat tablicki i da ne se dupliraat istite tablicki pri update ili add na nov registriranParkirac 96 this.confirmationTokenService.deleteByRegistriranParkirac_RegParkId(regParkId); 66 97 this.registriranParkiracRepository.deleteByRegParkId(regParkId); 67 98 } else { 68 99 throw new IllegalStateException("RegistriranParkirac doesn't exist, therefore can't be deleted"); 69 100 } 101 return regPark; 70 102 } 71 103 … … 74 106 return regPark.orElse(null); 75 107 } 108 109 @Override 110 public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { 111 return registriranParkiracRepository.findRegistriranParkiracByEmail(email) 112 .orElseThrow(() -> 113 new UsernameNotFoundException("Email not found")); 114 115 } 116 117 public String signUpRegistriranParkirac(RegistriranParkirac registriranParkirac){ 118 boolean registriranParkiracExists = registriranParkiracRepository 119 .findRegistriranParkiracByEmail(registriranParkirac.getEmail()) 120 .isPresent(); 121 if(registriranParkiracExists){ 122 // TODO check if attributes are the same and 123 // TODO if email not confirmed send confirmation email 124 125 throw new IllegalStateException("Email already taken"); 126 } 127 128 String encodedPassword = bCryptPasswordEncoder 129 .encode(registriranParkirac.getPassword()); 130 131 registriranParkirac.setPassword(encodedPassword); 132 133 registriranParkiracRepository.save(registriranParkirac); 134 135 // TODO: Send confirmation token 136 137 String token = UUID.randomUUID().toString(); 138 ConfirmationTokenRP confirmationTokenRP = new ConfirmationTokenRP( 139 token, 140 LocalDateTime.now(), 141 LocalDateTime.now().plusMinutes(15), 142 registriranParkirac 143 ); 144 145 confirmationTokenService.saveConfirmationTokenRP(confirmationTokenRP); 146 147 // TODO: SEND EMAIL 148 149 return token; 150 } 151 152 public int enableRegistriranParkirac(String email) { 153 return registriranParkiracRepository.enableRegistriranParkirac(email); 154 } 76 155 } -
sources/app/src/main/java/parkup/services/VrabotenService.java
rce6ad22 rf6bc52d 1 1 package parkup.services; 2 2 3 import java.util.List; 4 import java.util.Objects; 5 import java.util.Optional; 6 import java.util.UUID; 3 import java.time.LocalDateTime; 4 import java.util.*; 7 5 import javax.transaction.Transactional; 8 6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.data.jpa.repository.Modifying; 8 import org.springframework.security.core.userdetails.UserDetails; 9 import org.springframework.security.core.userdetails.UserDetailsService; 10 import org.springframework.security.core.userdetails.UsernameNotFoundException; 11 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; 9 12 import org.springframework.stereotype.Service; 13 import parkup.configs.token.ConfirmationTokenW; 14 import parkup.configs.token.ConfirmationTokenService; 10 15 import parkup.entities.Vraboten; 11 16 import parkup.repositories.VrabotenRepository; 17 import parkup.data.VrabotenDemo; 12 18 13 19 @Service 14 public class VrabotenService {20 public class VrabotenService implements UserDetailsService { 15 21 private final VrabotenRepository vrabotenRepository; 22 private final BCryptPasswordEncoder bCryptPasswordEncoder; 23 private final ConfirmationTokenService confirmationTokenService; 16 24 17 25 @Autowired 18 public VrabotenService(VrabotenRepository vrabotenRepository ) {26 public VrabotenService(VrabotenRepository vrabotenRepository, BCryptPasswordEncoder bCryptPasswordEncoder, ConfirmationTokenService confirmationTokenService) { 19 27 this.vrabotenRepository = vrabotenRepository; 28 this.bCryptPasswordEncoder = bCryptPasswordEncoder; 29 this.confirmationTokenService = confirmationTokenService; 20 30 } 21 31 … … 29 39 } 30 40 31 public void addVraboten(Vraboten vraboten) { 41 public List<VrabotenDemo> getAllVraboteniDemos() { 42 List<Vraboten> vraboteni = this.vrabotenRepository.findAll(); 43 List<VrabotenDemo> vrabotenDemos = new ArrayList<>(); 44 for (Vraboten v : vraboteni){ 45 VrabotenDemo vd = new VrabotenDemo(v.getFirstName(), v.getLastName(), v.getEmail()); 46 vrabotenDemos.add(vd); 47 } 48 return vrabotenDemos; 49 } 50 51 public Optional<Vraboten> addVraboten(Vraboten vraboten) { 32 52 Optional<Vraboten> vrabotenOpt = this.vrabotenRepository.findVrabotenByEmail(vraboten.getEmail()); 33 53 if (vrabotenOpt.isPresent()) { 34 54 throw new IllegalStateException("Email already taken, try adding a vraboten with a different valid email address"); 35 55 } else { 36 System.out.println(vraboten); 37 this.vrabotenRepository.save(vraboten); 56 if (vraboten.getEmail() != null && vraboten.getEmail().length() > 1 && vraboten.getEmail().contains("@")) { 57 //System.out.println(vraboten); 58 this.vrabotenRepository.save(vraboten); 59 } 60 else{ 61 throw new IllegalStateException("email not valid"); 62 } 38 63 } 64 return vrabotenOpt; 39 65 } 40 66 41 67 @Transactional 42 public void updateVraboten(int vrabotenId, String firstName, String lastName, String mobile, String email) {68 public Vraboten updateVraboten(int vrabotenId, String firstName, String lastName, String mobile, String email, String status) { 43 69 Optional<Vraboten> vrabotenOpt = Optional.ofNullable(this.vrabotenRepository.findByVrabotenId(vrabotenId)); 44 70 if (vrabotenOpt.isPresent()) { … … 49 75 throw new IllegalStateException("email taken"); 50 76 } 51 52 77 vrabotenNov.setEmail(email); 78 } else { 79 throw new IllegalStateException("email not valid"); 53 80 } 54 81 … … 64 91 vrabotenNov.setMobile(mobile); 65 92 } 93 94 if (mobile != null && status.length() > 0 && !Objects.equals(vrabotenNov.getStatus(), status)) { 95 if(status.equals("raboti") || status.equals("ne raboti") || status.equals("na odmor") || status.equals("na boleduvanje")){ 96 vrabotenNov.setStatus(status); 97 }else{ 98 throw new IllegalStateException("Please enter one of the following statuses: 'raboti', 'ne raboti', 'na odmor', 'na boleduvanje'"); 99 } 100 } 101 102 return vrabotenNov; 66 103 } 67 } 104 else{ 105 throw new IllegalStateException("Vraboten doesn't exist, therefore can't be updated"); 106 } 107 }//za menjanje password da se implementira 68 108 69 public void deleteVraboten(int vrabotenId) { 109 @Modifying 110 @Transactional 111 public Optional<Vraboten> deleteVraboten(int vrabotenId) { 70 112 Optional<Vraboten> vrabotenOpt = Optional.ofNullable(this.vrabotenRepository.findByVrabotenId(vrabotenId)); 71 113 if (vrabotenOpt.isPresent()) { 114 //TODO da povikamo metod od ConfirmationTokenService za brisenje na ConfirmationTokenW 115 this.confirmationTokenService.deleteByVraboten_VrabotenId(vrabotenId); 72 116 this.vrabotenRepository.deleteByVrabotenId(vrabotenId); 73 117 } else { 74 118 throw new IllegalStateException("Vraboten doesn't exist, therefore can't be deleted"); 75 119 } 120 return vrabotenOpt; 76 121 } 122 123 @Transactional 124 public void lockVrabotenAcc(int vrabotenId) { 125 Vraboten vrabotenOpt = this.vrabotenRepository.findByVrabotenId(vrabotenId); 126 if (vrabotenOpt!=null) { 127 vrabotenOpt.lockVraboten(); 128 } else { 129 throw new IllegalStateException("Vraboten doesn't exist, therefore his account can't be locked/unlocked"); 130 } 131 }//dali treba da stoi @Transactional gore nad funkcijata? 132 133 @Override 134 public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { 135 return vrabotenRepository.findVrabotenByEmail(email) 136 .orElseThrow(() -> 137 new UsernameNotFoundException("Email not found")); 138 } 139 public String signUpVraboten(Vraboten vraboten){ 140 boolean vrabotenExists = vrabotenRepository 141 .findVrabotenByEmail(vraboten.getEmail()) 142 .isPresent(); 143 if(vrabotenExists){ 144 // TODO check if attributes are the same and 145 // TODO if email not confirmed send confirmation email 146 147 throw new IllegalStateException("Email already taken"); 148 } 149 150 String encodedPassword = bCryptPasswordEncoder 151 .encode(vraboten.getPassword()); 152 153 vraboten.setPassword(encodedPassword); 154 155 vrabotenRepository.save(vraboten); 156 157 // TODO: Send confirmation token 158 159 String token = UUID.randomUUID().toString(); 160 ConfirmationTokenW confirmationTokenW = new ConfirmationTokenW( 161 token, 162 LocalDateTime.now(), 163 LocalDateTime.now().plusMinutes(15), 164 vraboten 165 ); 166 167 confirmationTokenService.saveConfirmationTokenW(confirmationTokenW); 168 169 // TODO: SEND EMAIL 170 171 return token; 172 } 173 174 public int enableVraboten(String email) { 175 return vrabotenRepository.enableVraboten(email); 176 } 177 77 178 }
Note:
See TracChangeset
for help on using the changeset viewer.