Changes in / [9504a09:3a58bd6]
- Location:
- sources/app
- Files:
-
- 45 added
- 9 deleted
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/app/ParkUp.iml
r9504a09 r3a58bd6 1 1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> 3 <component name="EclipseModuleManager"> 4 <conelement value="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER" /> 5 <src_description expected_position="2"> 6 <src_folder value="file://$MODULE_DIR$/src/main/java" expected_position="0" /> 7 <src_folder value="file://$MODULE_DIR$/src/main/resources" expected_position="1" /> 8 <src_folder value="file://$MODULE_DIR$/src/test/java" expected_position="2" /> 9 <src_folder value="file://$MODULE_DIR$/target/generated-sources/annotations" expected_position="5" /> 10 <src_folder value="file://$MODULE_DIR$/target/generated-test-sources/test-annotations" expected_position="6" /> 11 </src_description> 12 </component> 3 13 <component name="FacetManager"> 14 <facet type="web" name="Web"> 15 <configuration> 16 <webroots /> 17 <sourceRoots> 18 <root url="file://$MODULE_DIR$/src/main/java" /> 19 <root url="file://$MODULE_DIR$/src/main/resources" /> 20 <root url="file://$MODULE_DIR$/target/generated-sources/annotations" /> 21 <root url="file://$MODULE_DIR$/target/generated-test-sources/test-annotations" /> 22 </sourceRoots> 23 </configuration> 24 </facet> 4 25 <facet type="jpa" name="JPA"> 5 26 <configuration> … … 16 37 <configuration /> 17 38 </facet> 18 <facet type="web" name="Web">19 <configuration>20 <webroots />21 </configuration>22 </facet>23 39 </component> 24 40 <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11"> … … 28 44 <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> 29 45 <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> 46 <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> 47 <sourceFolder url="file://$MODULE_DIR$/target/generated-sources/annotations" isTestSource="false" /> 48 <sourceFolder url="file://$MODULE_DIR$/target/generated-test-sources/test-annotations" isTestSource="false" /> 30 49 <excludeFolder url="file://$MODULE_DIR$/target" /> 31 50 </content> 32 51 <orderEntry type="inheritedJdk" /> 52 <orderEntry type="library" name="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER" level="application" /> 33 53 <orderEntry type="sourceFolder" forTests="false" /> 34 54 <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jdbc:2.4.5" level="project" /> -
sources/app/src/main/java/parkup/configs/RegistrationRequest.java
r9504a09 r3a58bd6 6 6 private final String email; 7 7 private final String password; 8 private final String mobile;9 8 10 public RegistrationRequest(String firstName, String lastName, String email, String password , String mobile) {9 public RegistrationRequest(String firstName, String lastName, String email, String password) { 11 10 this.firstName = firstName; 12 11 this.lastName = lastName; 13 12 this.email = email; 14 13 this.password = password; 15 this.mobile = mobile;16 14 } 17 15 … … 32 30 } 33 31 34 public String getMobile(){35 return mobile;36 }37 38 32 } -
sources/app/src/main/java/parkup/configs/WebSecurityConfig.java
r9504a09 r3a58bd6 9 9 import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; 10 10 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; 11 import parkup.services.RegistriranParkiracService; 12 import parkup.services.VrabotenService; 11 import parkup.services.AdministratorService; 13 12 13 @Configuration 14 14 @EnableWebSecurity 15 @Configuration16 15 public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 17 private final VrabotenService vrabotenService;18 private final BCryptPasswordEncoder bCryptPasswordEncoder;19 private final RegistriranParkiracService registriranParkiracService;20 16 21 public WebSecurityConfig(VrabotenService vrabotenService, BCryptPasswordEncoder bCryptPasswordEncoder, RegistriranParkiracService registriranParkiracService) { 22 this.vrabotenService = vrabotenService; 23 this.bCryptPasswordEncoder = bCryptPasswordEncoder; 24 this.registriranParkiracService = registriranParkiracService; 25 } 17 private final AdministratorService administratorService; 18 private final BCryptPasswordEncoder bCryptPasswordEncoder; 26 19 27 @Override 28 protected void configure(HttpSecurity http) throws Exception { 29 http 30 .csrf().disable() 31 .authorizeRequests() 32 .antMatchers("/vraboten/registration/**") 33 .permitAll() 34 .antMatchers("/registriranParkirac/registration/**") 35 .permitAll() 36 .anyRequest() 37 .authenticated().and().formLogin(); 38 } 20 public WebSecurityConfig(AdministratorService administratorService, BCryptPasswordEncoder bCryptPasswordEncoder) { 21 this.bCryptPasswordEncoder = bCryptPasswordEncoder; 22 this.administratorService = administratorService; 23 } 39 24 40 @Override 41 protected void configure(AuthenticationManagerBuilder auth) throws Exception { 42 auth.authenticationProvider(daoAuthenticationProviderW()); 43 auth.authenticationProvider(daoAuthenticationProviderRP()); 44 } 25 @Override 26 protected void configure(HttpSecurity http) throws Exception { 27 http 28 .csrf().disable() 29 .authorizeRequests() 30 .antMatchers("/administrator/registration/**") 31 .permitAll() 32 .anyRequest() 33 .authenticated().and() 34 .formLogin(); 35 } 45 36 46 @Bean 47 public DaoAuthenticationProvider daoAuthenticationProviderW() { 48 DaoAuthenticationProvider provider = new DaoAuthenticationProvider(); 49 provider.setPasswordEncoder(bCryptPasswordEncoder); 50 provider.setUserDetailsService(vrabotenService); 51 return provider; 52 } 37 @Override 38 protected void configure(AuthenticationManagerBuilder auth) throws Exception { 39 auth.authenticationProvider(daoAuthenticationProvider()); 40 } 53 41 54 @Bean 55 public DaoAuthenticationProvider daoAuthenticationProviderRP(){ 56 DaoAuthenticationProvider provider = new DaoAuthenticationProvider(); 57 provider.setPasswordEncoder(bCryptPasswordEncoder); 58 provider.setUserDetailsService(registriranParkiracService); 59 return provider; 60 } 61 42 @Bean 43 public DaoAuthenticationProvider daoAuthenticationProvider(){ 44 DaoAuthenticationProvider provider = new DaoAuthenticationProvider(); 45 provider.setPasswordEncoder(bCryptPasswordEncoder); 46 provider.setUserDetailsService(administratorService); 47 return provider; 62 48 } 49 } -
sources/app/src/main/java/parkup/configs/token/ConfirmationTokenService.java
r9504a09 r3a58bd6 9 9 public class ConfirmationTokenService { 10 10 11 private final ConfirmationTokenRepositoryRP confirmationTokenRepositoryRP; 12 private final ConfirmationTokenRepositoryW confirmationTokenRepositoryW; 11 private final ConfirmationTokenRepository confirmationTokenRepository; 13 12 14 public ConfirmationTokenService(ConfirmationTokenRepositoryRP confirmationTokenRepositoryRP, ConfirmationTokenRepositoryW confirmationTokenRepositoryW) { 15 this.confirmationTokenRepositoryRP = confirmationTokenRepositoryRP; 16 this.confirmationTokenRepositoryW = confirmationTokenRepositoryW; 13 public ConfirmationTokenService(ConfirmationTokenRepository confirmationTokenRepository) { 14 this.confirmationTokenRepository = confirmationTokenRepository; 17 15 } 18 16 19 public void saveConfirmationToken RP(ConfirmationTokenRPtoken){20 confirmationTokenRepository RP.save(token);17 public void saveConfirmationToken(ConfirmationToken token){ 18 confirmationTokenRepository.save(token); 21 19 } 22 20 23 public void saveConfirmationTokenW(ConfirmationTokenW token){ 24 confirmationTokenRepositoryW.save(token);} 25 26 public Optional<ConfirmationTokenRP> getTokenRP(String token) { 27 return confirmationTokenRepositoryRP.findByToken(token); 28 } 29 public Optional<ConfirmationTokenW> getTokenW(String token){ 30 return confirmationTokenRepositoryW.findByToken(token); 21 public Optional<ConfirmationToken> getToken(String token) { 22 return confirmationTokenRepository.findByToken(token); 31 23 } 32 24 33 public void deleteByVraboten_VrabotenId(int vraboten_id){ 34 confirmationTokenRepositoryW.deleteByVraboten_VrabotenId(vraboten_id); 35 } 36 37 public void deleteByRegistriranParkirac_RegParkId(int regParkId){ 38 confirmationTokenRepositoryRP.deleteByRegistriranParkirac_RegParkId(regParkId); 39 } 40 41 public int setConfirmedAtRP(String token) { 42 return confirmationTokenRepositoryRP.updateConfirmedAt(token, LocalDateTime.now()); 43 } 44 public int setConfirmedAtW(String token){ 45 return confirmationTokenRepositoryW.updateConfirmedAt(token,LocalDateTime.now()); 25 public int setConfirmedAt(String token) { 26 return confirmationTokenRepository.updateConfirmedAt(token, LocalDateTime.now()); 46 27 } 47 28 } -
sources/app/src/main/java/parkup/controllers/AdministratorController.java
r9504a09 r3a58bd6 2 2 3 3 import java.util.List; 4 import java.util.Optional;5 6 4 import org.springframework.beans.factory.annotation.Autowired; 7 5 import org.springframework.web.bind.annotation.*; 8 6 import parkup.configs.RegistrationRequest; 9 import parkup.configs.RegistrationService RP;7 import parkup.configs.RegistrationService; 10 8 import parkup.entities.Administrator; 11 9 import parkup.services.AdministratorService; … … 14 12 public class AdministratorController { 15 13 private final AdministratorService administratorService; 16 private final RegistrationService RP registrationServiceRP;14 private final RegistrationService registrationService; 17 15 18 16 @Autowired 19 public AdministratorController(AdministratorService administratorService, RegistrationService RP registrationServiceRP) {17 public AdministratorController(AdministratorService administratorService, RegistrationService registrationService) { 20 18 this.administratorService = administratorService; 21 this.registrationService RP = registrationServiceRP;19 this.registrationService = registrationService; 22 20 } 23 21 … … 38 36 39 37 @PostMapping({"/administrator"}) 40 public Optional<Administrator>addAdministrator(@RequestBody Administrator administrator) {41 returnthis.administratorService.addAdministrator(administrator);38 public void addAdministrator(@RequestBody Administrator administrator) { 39 this.administratorService.addAdministrator(administrator); 42 40 } 43 41 44 42 @PutMapping({"/administrator/{administratorId}"}) 45 public AdministratorupdateAdministrator(@PathVariable int administratorId, @RequestBody Administrator administrator) {46 returnthis.administratorService.updateAdministrator(administratorId, administrator.getFirstName(), administrator.getLastName(), administrator.getMobile(), administrator.getEmail());43 public void updateAdministrator(@PathVariable int administratorId, @RequestBody Administrator administrator) { 44 this.administratorService.updateAdministrator(administratorId, administrator.getFirstName(), administrator.getLastName(), administrator.getMobile(), administrator.getEmail()); 47 45 } 48 46 49 47 @DeleteMapping({"/administrator/{administratorId}"}) 50 public Optional<Administrator>deleteAdministrator(@PathVariable int administratorId) {51 returnthis.administratorService.deleteAdministrator(administratorId);48 public void deleteAdministrator(@PathVariable int administratorId) { 49 this.administratorService.deleteAdministrator(administratorId); 52 50 } 53 51 54 52 @PostMapping({"/administrator/registration"}) 55 53 public String register(@RequestBody RegistrationRequest request){ 56 return registrationService RP.register(request);54 return registrationService.register(request); 57 55 } 58 56 59 57 @GetMapping(path = "/administrator/registration/confirm") 60 58 public String confirm(@RequestParam("token") String token) { 61 return registrationService RP.confirmToken(token);59 return registrationService.confirmToken(token); 62 60 } 63 61 } -
sources/app/src/main/java/parkup/controllers/ParkingSessionController.java
r9504a09 r3a58bd6 7 7 8 8 import java.util.List; 9 import java.util.Optional;10 9 11 10 @RestController … … 34 33 35 34 @PostMapping({"/parkingSession"}) 36 public Optional<ParkingSession>addParkingSession(@RequestBody ParkingSession parkingSession) {35 public void addParkingSession(@RequestBody ParkingSession parkingSession) { 37 36 //System.out.println("???????"); 38 return this.parkingSessionService.addParkingSession(parkingSession);37 parkingSessionService.addParkingSession(parkingSession); 39 38 } 40 39 41 40 @PutMapping({"/parkingSession/{parkingSessionId}"}) 42 41 public void updateParkingSession(@PathVariable int parkingSessionId, @RequestBody ParkingSession parkingSession) { 43 parkingSessionService.updateParkingSession(parkingSessionId, 44 parkingSession.getTimeStart(), parkingSession.getTimeEnd(), parkingSession.getTablica()); 42 parkingSessionService.updateParkingSession(parkingSessionId, parkingSession.getTimeStart(), parkingSession.getTimeEnd()); 45 43 } 46 44 47 45 @DeleteMapping({"/parkingSession/{parkingSessionId}"}) 48 public Optional<ParkingSession>deleteParkingSession(@PathVariable int parkingSessionId) {49 return this.parkingSessionService.deleteParkingSession(parkingSessionId);46 public void deleteParkingSession(@PathVariable int parkingSessionId) { 47 parkingSessionService.deleteParkingSession(parkingSessionId); 50 48 } 51 49 } -
sources/app/src/main/java/parkup/controllers/ParkingSpaceController.java
r9504a09 r3a58bd6 7 7 8 8 import java.util.List; 9 import java.util.Optional;10 9 11 10 @RestController … … 34 33 35 34 @PostMapping({"/parkingSpace"}) 36 public Optional<ParkingSpace>addParkingSpace(@RequestBody ParkingSpace parkingSpace) {35 public void addParkingSpace(@RequestBody ParkingSpace parkingSpace) { 37 36 //System.out.println("???????"); 38 return this.parkingSpaceService.addParkingSpace(parkingSpace);37 parkingSpaceService.addParkingSpace(parkingSpace); 39 38 } 40 39 41 40 @PutMapping({"/parkingSpace/{parkingSpaceId}"}) 42 41 public void updateParkingSpace(@PathVariable int parkingSpaceId, @RequestBody ParkingSpace parkingSpace) { 43 parkingSpaceService.updateParkingSpace(parkingSpaceId, parkingSpace.getPsName(), parkingSpace.isTaken(), 44 parkingSpace.isHandicaped(), parkingSpace.getLat(), parkingSpace.getLng()); 42 parkingSpaceService.updateParkingSpace(parkingSpaceId, parkingSpace.getPsName(), parkingSpace.isTaken(), parkingSpace.isHandicaped()); 45 43 } 46 44 47 45 @DeleteMapping({"/parkingSpace/{parkingSpaceId}"}) 48 public Optional<ParkingSpace>deleteParkingSpace(@PathVariable int parkingSpaceId) {49 return this.parkingSpaceService.deleteParkingSpace(parkingSpaceId);46 public void deleteParkingSpace(@PathVariable int parkingSpaceId) { 47 parkingSpaceService.deleteParkingSpace(parkingSpaceId); 50 48 } 51 49 } -
sources/app/src/main/java/parkup/controllers/ParkingZoneController.java
r9504a09 r3a58bd6 7 7 8 8 import java.util.List; 9 import java.util.Optional;10 9 11 10 @RestController … … 33 32 } 34 33 35 @GetMapping({"parkingZone/parkingZoneNames"})36 public List<String> getParkingZoneNames(){37 return this.parkingZoneService.getAllParkingZoneNames();38 }39 40 34 @PostMapping({"/parkingZone"}) 41 public Optional<ParkingZone> addParkingZone(@RequestBody ParkingZone parkingZone) { 42 return this.parkingZoneService.addParkingZone(parkingZone); 43 } 44 45 @PostMapping("/parkingZoneName") 46 public ParkingZone addParkingZoneName(@RequestBody String name){ 47 return this.parkingZoneService.addParkingZoneNameOnly(name); 35 public void addParkingZone(@RequestBody ParkingZone parkingZone) { 36 //System.out.println("???????"); 37 parkingZoneService.addParkingZone(parkingZone); 48 38 } 49 39 50 40 @PutMapping({"/parkingZone/{parkingZoneId}"}) 51 public ParkingZone updateParkingZone(@PathVariable int parkingZoneId, @RequestBody ParkingZone parkingZone) { 52 return this.parkingZoneService.updateParkingZone(parkingZoneId, parkingZone.getPzName(), parkingZone.getPrice(), parkingZone.getCapacity(), 53 parkingZone.getLocation(), parkingZone.getFrom(), parkingZone.getTo(), parkingZone.getColor(), 54 parkingZone.getParkingSpaces(), parkingZone.getParkingZoneLocation()); 41 public void updateParkingZone(@PathVariable int parkingZoneId, @RequestBody ParkingZone parkingZone) { 42 parkingZoneService.updateParkingZone(parkingZoneId, parkingZone.getPzName(), parkingZone.getPrice(), parkingZone.getCapacity(), parkingZone.getWorkHours(),parkingZone.getLocation()); 55 43 } 56 44 57 45 @DeleteMapping({"/parkingZone/{parkingZoneId}"}) 58 public Optional<ParkingZone>deleteParkingZone(@PathVariable int parkingZoneId) {59 return this.parkingZoneService.deleteParkingZone(parkingZoneId);46 public void deleteParkingZone(@PathVariable int parkingZoneId) { 47 parkingZoneService.deleteParkingZone(parkingZoneId); 60 48 } 61 49 } -
sources/app/src/main/java/parkup/controllers/RegistriranParkiracController.java
r9504a09 r3a58bd6 2 2 3 3 import java.util.List; 4 import java.util.Optional;5 6 4 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.web.bind.annotation.*; 8 import parkup.configs.RegistrationRequest; 9 import parkup.configs.RegistrationServiceRP; 5 import org.springframework.web.bind.annotation.DeleteMapping; 6 import org.springframework.web.bind.annotation.GetMapping; 7 import org.springframework.web.bind.annotation.PathVariable; 8 import org.springframework.web.bind.annotation.PostMapping; 9 import org.springframework.web.bind.annotation.PutMapping; 10 import org.springframework.web.bind.annotation.RequestBody; 11 import org.springframework.web.bind.annotation.RestController; 10 12 import parkup.entities.RegistriranParkirac; 11 13 import parkup.services.RegistriranParkiracService; … … 14 16 public class RegistriranParkiracController { 15 17 private final RegistriranParkiracService registriranParkiracService; 16 private final RegistrationServiceRP registrationServiceRP;17 18 18 19 @Autowired 19 public RegistriranParkiracController(RegistriranParkiracService registriranParkiracService , RegistrationServiceRP registrationServiceRP) {20 public RegistriranParkiracController(RegistriranParkiracService registriranParkiracService) { 20 21 this.registriranParkiracService = registriranParkiracService; 21 this.registrationServiceRP = registrationServiceRP;22 22 } 23 23 … … 38 38 39 39 @PostMapping({"/registriranParkirac"}) 40 public Optional<RegistriranParkirac>addRegistriranParkirac(@RequestBody RegistriranParkirac regPark) {41 returnthis.registriranParkiracService.addRegPark(regPark);40 public void addRegistriranParkirac(@RequestBody RegistriranParkirac regPark) { 41 this.registriranParkiracService.addRegPark(regPark); 42 42 } 43 43 44 44 @PutMapping({"/registriranParkirac/{regParkId}"}) 45 public RegistriranParkiracupdateRegistriranParkirac(@PathVariable int regParkId, @RequestBody RegistriranParkirac regPark) {46 return this.registriranParkiracService.updateRegPark(regParkId, regPark.getName(), regPark.getSurname(), regPark.getMobile(), regPark.getEmail(),regPark.getRegTablicki());45 public void updateRegistriranParkirac(@PathVariable int regParkId, @RequestBody RegistriranParkirac regPark) { 46 this.registriranParkiracService.updateRegPark(regParkId, regPark.getName(), regPark.getSurname(), regPark.getMobile(), regPark.getEmail()); 47 47 } 48 48 49 49 @DeleteMapping({"/registriranParkirac/{regParkId}"}) 50 public Optional<RegistriranParkirac> deleteRegistriranParkirac(@PathVariable int regParkId) { 51 return this.registriranParkiracService.deleteRegPark(regParkId); 52 } 53 54 @PostMapping({"/registriranParkirac/registration"}) 55 public String register(@RequestBody RegistrationRequest request){ 56 return registrationServiceRP.register(request); 57 } 58 59 @GetMapping(path = "/registriranParkirac/registration/confirm") 60 public String confirm(@RequestParam("token") String token) { 61 return registrationServiceRP.confirmToken(token); 50 public void deleteRegistriranParkirac(@PathVariable int regParkId) { 51 this.registriranParkiracService.deleteRegPark(regParkId); 62 52 } 63 53 } -
sources/app/src/main/java/parkup/controllers/VrabotenController.java
r9504a09 r3a58bd6 2 2 3 3 import java.util.List; 4 import java.util.Optional;5 6 4 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.web.bind.annotation.*; 8 import parkup.configs.RegistrationRequest; 9 import parkup.configs.RegistrationServiceW; 5 import org.springframework.web.bind.annotation.DeleteMapping; 6 import org.springframework.web.bind.annotation.GetMapping; 7 import org.springframework.web.bind.annotation.PathVariable; 8 import org.springframework.web.bind.annotation.PostMapping; 9 import org.springframework.web.bind.annotation.PutMapping; 10 import org.springframework.web.bind.annotation.RequestBody; 11 import org.springframework.web.bind.annotation.RestController; 10 12 import parkup.entities.Vraboten; 11 13 import parkup.services.VrabotenService; 12 import parkup.data.VrabotenDemo;13 14 14 15 @RestController 15 16 public class VrabotenController { 16 17 private final VrabotenService vrabotenService; 17 private final RegistrationServiceW registrationServiceW;18 18 19 19 @Autowired 20 public VrabotenController(VrabotenService vrabotenService , RegistrationServiceW registrationServiceW) {20 public VrabotenController(VrabotenService vrabotenService) { 21 21 this.vrabotenService = vrabotenService; 22 this.registrationServiceW = registrationServiceW;23 22 } 24 23 … … 38 37 } 39 38 40 @GetMapping({"/vraboten/vrabotenDemo"})41 public List<VrabotenDemo> getVraboteniDemos(){42 return this.vrabotenService.getAllVraboteniDemos();43 }44 45 39 @PostMapping({"/vraboten"}) 46 public Optional<Vraboten> addVraboten(@RequestBody Vraboten vraboten) { 47 return this.vrabotenService.addVraboten(vraboten); 48 } 49 50 @PostMapping({"/vraboten/{vrabotenId}"}) 51 public void lockVraboten(@PathVariable int vrabotenId) { 52 this.vrabotenService.lockVrabotenAcc(vrabotenId); 40 public void addVraboten(@RequestBody Vraboten vraboten) { 41 this.vrabotenService.addVraboten(vraboten); 53 42 } 54 43 55 44 @PutMapping({"/vraboten/{vrabotenId}"}) 56 public Vraboten updateVraboten(@PathVariable int vrabotenId, @RequestBody Vraboten vraboten) { 57 return this.vrabotenService.updateVraboten(vrabotenId, vraboten.getFirstName(), vraboten.getLastName(), 58 vraboten.getMobile(), vraboten.getEmail(), vraboten.getStatus()); 45 public void updateVraboten(@PathVariable int vrabotenId, @RequestBody Vraboten vraboten) { 46 this.vrabotenService.updateVraboten(vrabotenId, vraboten.getFirstName(), vraboten.getLastName(), vraboten.getMobile(), vraboten.getEmail()); 59 47 } 60 48 61 49 @DeleteMapping({"/vraboten/{vrabotenId}"}) 62 public Optional<Vraboten> deleteVraboten(@PathVariable int vrabotenId) { 63 return this.vrabotenService.deleteVraboten(vrabotenId); 64 } 65 66 @PostMapping({"/vraboten/registration"}) 67 public String register(@RequestBody RegistrationRequest request){ 68 return registrationServiceW.register(request); 69 } 70 71 @GetMapping(path = "/vraboten/registration/confirm") 72 public String confirm(@RequestParam("token") String token) { 73 return registrationServiceW.confirmToken(token); 50 public void deleteVraboten(@PathVariable int vrabotenId) { 51 this.vrabotenService.deleteVraboten(vrabotenId); 74 52 } 75 53 } -
sources/app/src/main/java/parkup/data/Tablicka.java
r9504a09 r3a58bd6 1 1 package parkup.data; 2 2 3 import javax.persistence.*; 3 import javax.persistence.Entity; 4 import javax.persistence.Id; 4 5 5 6 @Entity 6 7 public class Tablicka { 7 8 @Id 8 @SequenceGenerator(9 name="tablicka_sequence_generator",10 sequenceName = "tablicka_sequence",11 allocationSize = 1,12 initialValue = 100013 )14 @GeneratedValue( //za postgres treba sequence da se namesti i ime na generator mi ga davamo kako od gore sto e15 strategy = GenerationType.SEQUENCE,16 generator = "tablicka_sequence_generator"17 )18 9 private int tablicaId; 19 20 10 private String tablica; 21 11 -
sources/app/src/main/java/parkup/entities/ParkingSession.java
r9504a09 r3a58bd6 1 1 package parkup.entities; 2 3 import parkup.data.Tablicka;4 2 5 3 import javax.persistence.*; … … 11 9 @Column(name = "parking_session_id") 12 10 @SequenceGenerator( 13 name="parking_session_ sequence_generator",11 name="parking_session_generator", 14 12 sequenceName = "parking_session_sequence", 15 13 allocationSize = 1, 16 initialValue = 80014 initialValue = 700 17 15 ) 18 16 @GeneratedValue( //za postgres treba sequence da se namesti i ime na generator mi ga davamo kako od gore sto e … … 28 26 private String timeEnd; 29 27 30 @OneToOne(cascade = {CascadeType.ALL})31 @JoinColumn(name = "reg_tablicka", nullable = false)32 private Tablicka tablica;33 34 28 public ParkingSession() {} 35 29 36 public ParkingSession(int pssId, String timeStart, String timeEnd , Tablicka tablica) {30 public ParkingSession(int pssId, String timeStart, String timeEnd) { 37 31 this.pssId = pssId; 38 32 this.timeStart = timeStart; 39 33 this.timeEnd = timeEnd; 40 this.tablica = tablica;41 34 } 42 35 43 public ParkingSession(String timeStart, String timeEnd , Tablicka tablica) {36 public ParkingSession(String timeStart, String timeEnd) { 44 37 this.timeStart = timeStart; 45 38 this.timeEnd = timeEnd; 46 this.tablica = tablica;47 39 } 48 40 … … 70 62 this.timeEnd = timeEnd; 71 63 } 72 73 public Tablicka getTablica() {74 return tablica;75 }76 77 public void setTablica(Tablicka tablica) {78 this.tablica = tablica;79 }80 64 } -
sources/app/src/main/java/parkup/entities/ParkingSpace.java
r9504a09 r3a58bd6 9 9 @Column(name = "parking_space_id") 10 10 @SequenceGenerator( 11 name="parking_space_ sequence_generator",11 name="parking_space_generator", 12 12 sequenceName = "parking_space_sequence", 13 13 allocationSize = 1, 14 initialValue = 70014 initialValue = 600 15 15 ) 16 16 @GeneratedValue( //za postgres treba sequence da se namesti i ime na generator mi ga davamo kako od gore sto e … … 29 29 private boolean isHandicaped; 30 30 31 @Column(name = "latitude")32 private float lat;33 34 @Column(name = "longitude")35 private float lng;36 37 @OneToOne(cascade = {CascadeType.ALL})38 @JoinColumn(name = "parking_zona")39 private ParkingZone parkingZone;40 41 31 public ParkingSpace() {} 42 32 43 public ParkingSpace(int psId, String psName, boolean isTaken, boolean isHandicaped , float lat, float lng) {33 public ParkingSpace(int psId, String psName, boolean isTaken, boolean isHandicaped) { 44 34 this.psId = psId; 45 35 this.psName = psName; 46 36 this.isTaken = isTaken; 47 37 this.isHandicaped = isHandicaped; 48 this.lat = lat;49 this.lng = lng;50 38 } 51 39 52 public ParkingSpace(String psName, boolean isTaken, boolean isHandicaped , float lat, float lng) {40 public ParkingSpace(String psName, boolean isTaken, boolean isHandicaped) { 53 41 this.psName = psName; 54 42 this.isTaken = isTaken; 55 43 this.isHandicaped = isHandicaped; 56 this.lat = lat;57 this.lng = lng;58 44 } 59 45 … … 89 75 this.isHandicaped = isHandicaped; 90 76 } 91 92 public float getLat() {93 return lat;94 }95 96 public void setLat(float lat) {97 this.lat = lat;98 }99 100 public float getLng() {101 return lng;102 }103 104 public void setLng(float lng) {105 this.lng = lng;106 }107 77 } 108 78 -
sources/app/src/main/java/parkup/entities/ParkingZone.java
r9504a09 r3a58bd6 1 1 package parkup.entities; 2 3 import parkup.data.ParkingZoneLocation;4 2 5 3 import javax.persistence.*; … … 12 10 @Id 13 11 @SequenceGenerator( 14 name="parking_zone_ sequence_generator",12 name="parking_zone_generator", 15 13 sequenceName = "parking_zone_sequence", 16 14 allocationSize = 1, 17 initialValue = 60015 initialValue = 500 18 16 ) 19 17 @GeneratedValue( //za postgres treba sequence da se namesti i ime na generator mi ga davamo kako od gore sto e … … 33 31 private int capacity; 34 32 35 @Column(name = " vreme_od") //za rabotni casovi od:36 private int from;33 @Column(name = "work_hours") 34 private String workHours; 37 35 38 @Column(name = "vreme_do") //za rabotni casovi do: 39 private int to; 40 41 @Column(name = "lokacija") 36 @Column(name = "location") 42 37 private String location; 43 38 … … 45 40 private int zafateniMesta; 46 41 47 @Column(name = "color")48 private String color;49 50 @ManyToMany(cascade = {CascadeType.ALL})51 @JoinColumn(name="odgovorniLica",nullable = true)52 private List<Vraboten> odgovorniLica;53 54 42 @OneToMany(cascade = {CascadeType.ALL}) 43 @JoinColumn(name = "parkingSpaces", nullable = false) 55 44 private List<ParkingSpace> parkingSpaces; 56 45 57 @OneToOne(cascade = {CascadeType.ALL}) 58 private ParkingZoneLocation parkingZoneLocation; 59 60 public ParkingZone() { 61 this.zafateniMesta = 0; 62 this.parkingSpaces = new ArrayList<ParkingSpace>(); 63 } 64 65 public ParkingZone(String pzName) { 66 this.pzName = pzName; 46 public ParkingZone() { 67 47 this.zafateniMesta = 0; 68 48 this.parkingSpaces = new ArrayList<ParkingSpace>(); 69 49 } 70 50 71 public ParkingZone(int pzId, String pzName, int price, int capacity, String location, List<ParkingSpace> parkingSpaces, String color, int from, int to) {51 public ParkingZone(int pzId, String pzName, int price, int capacity, String workHours, String location, List<ParkingSpace> parkingSpaces) { 72 52 this.pzId = pzId; 73 53 this.pzName = pzName; 74 54 this.price = price; 75 55 this.capacity = capacity; 56 this.workHours = workHours; 76 57 this.location = location; 77 58 this.zafateniMesta = 0; 78 59 this.parkingSpaces = parkingSpaces; 79 this.color = color;80 this.from = from;81 this.to = to;82 60 } 83 61 84 public ParkingZone(String pzName, int price, int capacity, String location, List<ParkingSpace> parkingSpaces, String color, int from, int to) {62 public ParkingZone(String pzName, int price, int capacity, String workHours, String location, List<ParkingSpace> parkingSpaces) { 85 63 this.pzName = pzName; 86 64 this.price = price; 87 65 this.capacity = capacity; 66 this.workHours = workHours; 88 67 this.location = location; 89 68 this.zafateniMesta = 0; 90 69 this.parkingSpaces = parkingSpaces; 91 this.color = color;92 this.from = from;93 this.to = to;94 70 } 95 71 … … 126 102 } 127 103 104 public String getWorkHours() { 105 return this.workHours; 106 } 107 108 public void setWorkHours(String workHours) { 109 this.workHours = workHours; 110 } 111 128 112 public String getLocation() { 129 113 return this.location; … … 141 125 142 126 public void setParkingSpaces(List<ParkingSpace> parkingSpaces) {this.parkingSpaces = parkingSpaces;} 143 144 public String getColor() {145 return color;146 }147 148 public void setColor(String color) {149 this.color = color;150 }151 152 public int getFrom() {153 return from;154 }155 156 public void setFrom(int from) {157 this.from = from;158 }159 160 public int getTo() {161 return to;162 }163 164 public void setTo(int to) {165 this.to = to;166 }167 168 public ParkingZoneLocation getParkingZoneLocation() {169 return parkingZoneLocation;170 }171 172 public void setParkingZoneLocation(ParkingZoneLocation parkingZoneLocation) {173 this.parkingZoneLocation = parkingZoneLocation;174 }175 176 public List<Vraboten> getOdgovorniLica() {177 return odgovorniLica;178 }179 180 public void setOdgovorniLica(List<Vraboten> odgovorniLica) {181 this.odgovorniLica = odgovorniLica;182 }183 127 } -
sources/app/src/main/java/parkup/entities/RegistriranParkirac.java
r9504a09 r3a58bd6 2 2 3 3 import java.util.ArrayList; 4 import java.util.Collection;5 import java.util.Collections;6 4 import java.util.List; 7 5 import javax.persistence.*; 8 6 9 import org.springframework.security.core.GrantedAuthority;10 import org.springframework.security.core.authority.SimpleGrantedAuthority;11 import org.springframework.security.core.userdetails.UserDetails;12 7 import parkup.data.Tablicka; 13 8 14 9 @Entity 15 10 @Table(name = "registriranParkirac") 16 public class RegistriranParkirac implements UserDetails{11 public class RegistriranParkirac { 17 12 @Id 18 13 @SequenceGenerator( … … 38 33 private String password; 39 34 40 @OneToMany (cascade ={CascadeType.ALL})35 @OneToMany 41 36 @Column(name = "regTablicki") 42 37 private List<Tablicka> regTablicki; … … 51 46 private String role; 52 47 53 p rivate boolean locked;48 public RegistriranParkirac() { 54 49 55 private boolean enabled;56 57 public RegistriranParkirac() {58 50 this.regTablicki = new ArrayList<Tablicka>(); 59 this.role = "ROLE_REGIST RIRAN_PARKIRAC";51 this.role = "ROLE_REGISTIRAN_PARKIRAC"; 60 52 } 61 53 … … 68 60 this.email = email; 69 61 this.mobile = mobile; 70 this.role = "ROLE_REGIST RIRAN_PARKIRAC";62 this.role = "ROLE_REGISTIRAN_PARKIRAC"; 71 63 } 72 64 … … 78 70 this.email = email; 79 71 this.mobile = mobile; 80 this.role = "ROLE_REGISTRIRAN_PARKIRAC"; 81 } 82 83 public RegistriranParkirac(String name, String surname, String email, String password, String mobile) { 84 this.name = name; 85 this.surname = surname; 86 this.password = password; 87 this.email = email; 88 this.mobile = mobile; 89 this.role = "ROLE_REGISTRIRAN_PARKIRAC"; 72 this.role = "ROLE_REGISTIRAN_PARKIRAC"; 90 73 } 91 74 … … 112 95 public void setSurname(String surname) { 113 96 this.surname = surname; 97 } 98 99 public String getPassword() { 100 return password; 101 } 102 103 public void setPassword(String password) { 104 this.password = password; 114 105 } 115 106 … … 141 132 142 133 public void setRole(String role) {this.role = role;} 143 144 @Override145 public Collection<? extends GrantedAuthority> getAuthorities() {146 SimpleGrantedAuthority authority = new SimpleGrantedAuthority(role);147 return Collections.singleton(authority);148 }149 150 public String getPassword() {151 return password;152 }153 154 public void setPassword(String password) {155 this.password = password;156 }157 158 @Override159 public String getUsername() {160 return email;161 }162 163 @Override164 public boolean isAccountNonExpired() {165 return true;166 }167 168 @Override169 public boolean isAccountNonLocked() {170 return !locked;171 }172 173 @Override174 public boolean isCredentialsNonExpired() {175 return true;176 }177 178 @Override179 public boolean isEnabled() {180 return enabled;181 }182 134 } 183 135 -
sources/app/src/main/java/parkup/entities/Vraboten.java
r9504a09 r3a58bd6 1 1 package parkup.entities; 2 2 3 import org.springframework.security.core.GrantedAuthority; 4 import org.springframework.security.core.userdetails.UserDetails; 5 import parkup.data.VrabotenDemo; 3 import parkup.data.Tablicka; 6 4 7 5 import javax.persistence.*; 8 6 import java.util.ArrayList; 9 import java.util.Collection;10 7 import java.util.List; 11 8 12 9 @Entity 13 10 @Table(name = "vraboten") 14 public class Vraboten implements UserDetails{11 public class Vraboten { 15 12 @Id 16 13 @SequenceGenerator( … … 52 49 private String status; 53 50 54 @Column(name="locked") 55 private boolean locked; 56 57 @Column(name = "enabled") 58 private boolean enabled; 59 51 @Column(name = "account") 52 private boolean account; 60 53 61 54 public Vraboten() { 62 55 this.role = "ROLE_VRABOTEN"; 63 56 this.parkingZones = new ArrayList<ParkingZone>(); 64 this. enabled = false;57 this.account = true; 65 58 this.status = "neRaboti"; 66 59 } … … 75 68 this.parkingZones = parkingZones; 76 69 this.role = "ROLE_VRABOTEN"; 77 this. enabled = false;70 this.account = true; 78 71 this.status = "neRaboti"; 79 72 } … … 87 80 this.parkingZones = parkingZones; 88 81 this.role = "ROLE_VRABOTEN"; 89 this. enabled = false;82 this.account = true; 90 83 this.status = "neRaboti"; 91 }92 93 public Vraboten(String firstName, String lastName, String email, String password, String mobile) {94 this.firstName=firstName;95 this.lastName=lastName;96 this.email=email;97 this.password=password;98 this.mobile=mobile;99 this.parkingZones=new ArrayList<>();100 this.enabled=false;101 this.status="neRaboti";102 this.role="ROLE_VRABOTEN";103 84 } 104 85 … … 135 116 } 136 117 137 @Override138 public Collection<? extends GrantedAuthority> getAuthorities() {139 return null;140 }141 142 118 public String getPassword() { 143 119 return password; 144 }145 146 @Override147 public String getUsername() {148 return email;149 }150 151 @Override152 public boolean isAccountNonExpired() {153 return true;154 }155 156 @Override157 public boolean isAccountNonLocked() {158 return !locked;159 }160 161 public void lockVraboten(){162 this.locked = !locked;163 }164 165 @Override166 public boolean isCredentialsNonExpired() {167 return true;168 }169 170 @Override171 public boolean isEnabled() {172 return enabled;173 120 } 174 121 … … 197 144 public void setStatus(String status) {this.status = status;} 198 145 199 public boolean isAccount() {return enabled;}146 public boolean isAccount() {return account;} 200 147 201 public void setAccount(boolean account) {this. enabled= account;}148 public void setAccount(boolean account) {this.account = account;} 202 149 } -
sources/app/src/main/java/parkup/repositories/GuestRepository.java
r9504a09 r3a58bd6 3 3 import java.util.Optional; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 import org.springframework.stereotype.Repository;6 5 import parkup.entities.Guest; 7 6 8 @Repository9 7 public interface GuestRepository extends JpaRepository<Guest, Integer> { 10 8 Guest findByGuestId(int id); -
sources/app/src/main/java/parkup/repositories/ParkingZoneRepository.java
r9504a09 r3a58bd6 2 2 3 3 import org.springframework.data.jpa.repository.JpaRepository; 4 import org.springframework.stereotype.Repository;5 4 import parkup.entities.ParkingZone; 6 5 7 @Repository8 6 public interface ParkingZoneRepository extends JpaRepository<ParkingZone, Integer> { 9 7 ParkingZone findByPzId(int id); -
sources/app/src/main/java/parkup/repositories/RegistriranParkiracRepository.java
r9504a09 r3a58bd6 3 3 import java.util.Optional; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 import org.springframework.data.jpa.repository.Modifying;6 import org.springframework.data.jpa.repository.Query;7 import org.springframework.stereotype.Repository;8 5 import parkup.entities.RegistriranParkirac; 9 6 10 import javax.transaction.Transactional;11 12 @Repository13 7 public interface RegistriranParkiracRepository extends JpaRepository<RegistriranParkirac, Integer> { 14 8 RegistriranParkirac findByRegParkId(int regParkId); … … 17 11 18 12 Optional<RegistriranParkirac> findRegistriranParkiracByEmail(String email); 19 20 @Transactional21 @Modifying22 @Query("UPDATE RegistriranParkirac rp " +23 "SET rp.enabled = TRUE WHERE rp.email = ?1")24 int enableRegistriranParkirac(String email);25 13 } -
sources/app/src/main/java/parkup/repositories/VrabotenRepository.java
r9504a09 r3a58bd6 3 3 import java.util.Optional; 4 4 import org.springframework.data.jpa.repository.JpaRepository; 5 import org.springframework.data.jpa.repository.Modifying;6 import org.springframework.data.jpa.repository.Query;7 import org.springframework.stereotype.Repository;8 5 import parkup.entities.Vraboten; 9 6 10 import javax.transaction.Transactional;11 12 @Repository13 7 public interface VrabotenRepository extends JpaRepository<Vraboten, Integer> { 14 8 Vraboten findByVrabotenId(int id); … … 17 11 18 12 Optional<Vraboten> findVrabotenByEmail(String email); 19 20 @Transactional21 @Modifying22 @Query("UPDATE Vraboten v " +23 "SET v.enabled = TRUE WHERE v.email = ?1")24 int enableVraboten(String email);25 13 } -
sources/app/src/main/java/parkup/services/AdministratorService.java
r9504a09 r3a58bd6 1 1 package parkup.services; 2 2 3 import java.time.LocalDateTime; 3 4 import java.util.List; 4 5 import java.util.Objects; … … 13 14 import org.springframework.stereotype.Service; 14 15 import parkup.configs.email.EmailValidator; 16 import parkup.configs.token.ConfirmationToken; 15 17 import parkup.configs.token.ConfirmationTokenService; 16 18 import parkup.entities.Administrator; … … 40 42 } 41 43 42 public Optional<Administrator>addAdministrator(Administrator administrator) {44 public void addAdministrator(Administrator administrator) { 43 45 Optional<Administrator> administratorOpt = this.administratorRepository.findAdministratorByEmail(administrator.getEmail()); 44 46 if (administratorOpt.isPresent()) { 45 47 throw new IllegalStateException("Email already taken, try adding an administrator with a different valid email address"); 46 48 } else { 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 } 49 System.out.println(administrator); 50 this.administratorRepository.save(administrator); 54 51 } 55 return administratorOpt;56 52 } 57 53 58 54 @Transactional 59 public AdministratorupdateAdministrator(int administratorId, String firstName, String lastName, String mobile, String email) {55 public void updateAdministrator(int administratorId, String firstName, String lastName, String mobile, String email) { 60 56 Optional<Administrator> administratorOpt = Optional.ofNullable(this.administratorRepository.findByAdministratorId(administratorId)); 61 57 if (administratorOpt.isPresent()) { … … 66 62 throw new IllegalStateException("email taken"); 67 63 } 64 68 65 administratorNov.setEmail(email); 69 }else{70 throw new IllegalStateException("email not valid");71 66 } 72 67 … … 82 77 administratorNov.setMobile(mobile); 83 78 } 84 return administratorNov;85 79 } 86 else {87 throw new IllegalStateException("Administrator doesn't exist, therefore can't be updated");88 }89 90 80 } 91 81 92 public Optional<Administrator>deleteAdministrator(int administratorId) {82 public void deleteAdministrator(int administratorId) { 93 83 Optional<Administrator> administratorOpt = Optional.ofNullable(this.administratorRepository.findByAdministratorId(administratorId)); 94 84 if (administratorOpt.isPresent()) { … … 97 87 throw new IllegalStateException("Administrator doesn't exist, therefore can't be deleted"); 98 88 } 99 return administratorOpt;100 89 } 101 90 … … 137 126 138 127 String token = UUID.randomUUID().toString(); 139 //ConfirmationTokenRP confirmationToken = new ConfirmationTokenRP(140 //token,141 //LocalDateTime.now(),142 //LocalDateTime.now().plusMinutes(15),143 //administrator144 //);128 ConfirmationToken confirmationToken = new ConfirmationToken( 129 token, 130 LocalDateTime.now(), 131 LocalDateTime.now().plusMinutes(15), 132 administrator 133 ); 145 134 146 //confirmationTokenService.saveConfirmationToken(confirmationToken);135 confirmationTokenService.saveConfirmationToken(confirmationToken); 147 136 148 137 // TODO: SEND EMAIL -
sources/app/src/main/java/parkup/services/ParkingSessionService.java
r9504a09 r3a58bd6 3 3 import org.springframework.beans.factory.annotation.Autowired; 4 4 import org.springframework.stereotype.Service; 5 import parkup.data.Tablicka;6 5 import parkup.entities.ParkingSession; 7 6 import parkup.repositories.ParkingSessionRepository; 8 7 9 import javax.transaction.Transactional;10 8 import java.util.List; 11 9 import java.util.Objects; … … 30 28 } 31 29 32 @Transactional 33 public void updateParkingSession(int parkingSessionId, String timeStart, String timeEnd, Tablicka tablicka) { 30 public void updateParkingSession(int parkingSessionId, String timeStart, String timeEnd) { 34 31 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSessionId)); 35 32 if (parkingSessionOpt.isPresent()) { 36 33 ParkingSession parkingSessionNov = parkingSessionRepository.findByPssId(parkingSessionId); 37 38 34 if(!parkingSessionNov.getTimeStart().equals(timeStart) && !parkingSessionNov.getTimeStart().equals(timeEnd)) 39 35 parkingSessionNov.setTimeStart(timeStart); … … 41 37 if(!parkingSessionNov.getTimeEnd().equals(timeEnd) && !parkingSessionNov.getTimeEnd().equals(timeStart)) 42 38 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");49 39 } 50 40 } 51 41 52 public Optional<ParkingSession>deleteParkingSession(int parkingSessionId) {42 public void deleteParkingSession(int parkingSessionId) { 53 43 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSessionId)); 54 44 if (parkingSessionOpt.isPresent()) { 55 45 parkingSessionRepository.deleteByPssId(parkingSessionId); 56 return parkingSessionOpt;57 46 } else { 58 47 throw new IllegalStateException("ParkingSpace doesn't exist, therefore can't be deleted"); … … 60 49 } 61 50 62 public Optional<ParkingSession>addParkingSession(ParkingSession parkingSession) {63 Optional <ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSession.getPssId()));51 public void addParkingSession(ParkingSession parkingSession) { 52 Optional <ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSession.getPssId())); 64 53 if (parkingSessionOpt.isPresent()) { 65 54 throw new IllegalStateException("ID already taken, ParkingSession cannot be added"); … … 67 56 System.out.println(parkingSession); 68 57 parkingSessionRepository.save(parkingSession); 69 return parkingSessionOpt;70 58 } 71 59 } -
sources/app/src/main/java/parkup/services/ParkingSpaceService.java
r9504a09 r3a58bd6 6 6 import parkup.repositories.ParkingSpaceRepository; 7 7 8 import javax.transaction.Transactional;9 8 import java.util.List; 10 9 import java.util.Objects; … … 29 28 } 30 29 31 public Optional<ParkingSpace>addParkingSpace(ParkingSpace parkingSpace) {32 Optional <ParkingSpace> parkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsName(parkingSpace.getPsName()));30 public void addParkingSpace(ParkingSpace parkingSpace) { 31 Optional <ParkingSpace> parkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsName(parkingSpace.getPsName())); 33 32 if (parkingSpaceOpt.isPresent()) { 34 33 throw new IllegalStateException("Name already taken, try adding a ParkingZone with a different name"); … … 37 36 parkingSpaceRepository.save(parkingSpace); 38 37 } 39 return parkingSpaceOpt;40 38 } 41 39 42 @Transactional 43 public ParkingSpace updateParkingSpace(int parkingSpaceId, String psName, boolean taken, boolean handicaped, float lat, float lng) { 40 public void updateParkingSpace(int parkingSpaceId, String psName, boolean taken, boolean handicaped) { 44 41 Optional<ParkingSpace> ParkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsId(parkingSpaceId)); 45 42 if (ParkingSpaceOpt.isPresent()) { … … 61 58 ParkingSpaceNov.setHandicaped(handicaped); 62 59 } 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");74 60 } 75 61 } 76 62 77 @Transactional 78 public Optional<ParkingSpace> deleteParkingSpace(int parkingSpaceId) { 63 public void deleteParkingSpace(int parkingSpaceId) { 79 64 Optional<ParkingSpace> parkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsId(parkingSpaceId)); 80 65 if (parkingSpaceOpt.isPresent()) { … … 83 68 throw new IllegalStateException("ParkingSpace doesn't exist, therefore can't be deleted"); 84 69 } 85 return parkingSpaceOpt;86 70 } 87 71 } -
sources/app/src/main/java/parkup/services/ParkingZoneService.java
r9504a09 r3a58bd6 2 2 3 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.data.jpa.repository.Modifying;5 4 import org.springframework.stereotype.Service; 6 import parkup.data.ParkingZoneLocation; 7 import parkup.entities.ParkingSpace; 5 import parkup.entities.Administrator; 8 6 import parkup.entities.ParkingZone; 9 7 import parkup.repositories.ParkingZoneRepository; 10 8 11 9 import javax.transaction.Transactional; 12 import java.util.ArrayList;13 10 import java.util.List; 14 11 import java.util.Objects; … … 33 30 } 34 31 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 32 public void addParkingZone(ParkingZone parkingZone) { //zavisno vo koj grad ili opstina i napravi proverki pred dodavanje, implementiraj u naredna faza 45 33 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzName(parkingZone.getPzName())); 46 34 if (parkingZoneOpt.isPresent()) { … … 50 38 parkingZoneRepository.save(parkingZone); 51 39 } 52 return parkingZoneOpt;53 40 } 54 41 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 ParkingZoneLocation67 42 @Transactional 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) { 43 public void updateParkingZone(int parkingZoneId, String pzName, int price, int capacity, String workHours, String location) { 71 44 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzId(parkingZoneId)); 72 45 if (parkingZoneOpt.isPresent()) { … … 89 62 } 90 63 64 if (workHours != null && workHours.length() > 0 && !Objects.equals(parkingZoneNov.getWorkHours(), workHours)) { 65 parkingZoneNov.setWorkHours(workHours); 66 } 67 91 68 if (location != null && location.length() > 0 && !Objects.equals(parkingZoneNov.getLocation(), location)) { 92 69 parkingZoneNov.setLocation(location); 93 70 } 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 isTaken113 parkingZoneNov.setParkingSpaces(parkingSpaces);114 }115 116 return parkingZoneNov;117 } else {118 throw new IllegalStateException("There ParkingZone does not exist");119 71 } 120 72 } 121 73 122 @Transactional 123 public Optional<ParkingZone> deleteParkingZone(int parkingZoneId) { 74 public void deleteParkingZone(int parkingZoneId) { 124 75 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzId(parkingZoneId)); 125 76 if (parkingZoneOpt.isPresent()) { … … 128 79 throw new IllegalStateException("ParkingZone doesn't exist, therefore can't be deleted"); 129 80 } 130 return parkingZoneOpt;131 81 } 132 82 } -
sources/app/src/main/java/parkup/services/RegistriranParkiracService.java
r9504a09 r3a58bd6 1 1 package parkup.services; 2 2 3 import java.time.LocalDateTime;4 3 import java.util.List; 5 4 import java.util.Objects; 6 5 import java.util.Optional; 7 import java.util.UUID;8 6 import javax.transaction.Transactional; 9 7 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;15 8 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;20 9 import parkup.entities.RegistriranParkirac; 21 10 import parkup.repositories.RegistriranParkiracRepository; 22 11 23 12 @Service 24 public class RegistriranParkiracService implements UserDetailsService{13 public class RegistriranParkiracService { 25 14 private final RegistriranParkiracRepository registriranParkiracRepository; 26 private final BCryptPasswordEncoder bCryptPasswordEncoder;27 private final ConfirmationTokenService confirmationTokenService;28 private EmailValidator emailValidator;29 15 30 16 @Autowired 31 public RegistriranParkiracService(RegistriranParkiracRepository registriranParkiracRepository , BCryptPasswordEncoder bCryptPasswordEncoder, ConfirmationTokenService confirmationTokenService) {17 public RegistriranParkiracService(RegistriranParkiracRepository registriranParkiracRepository) { 32 18 this.registriranParkiracRepository = registriranParkiracRepository; 33 this.bCryptPasswordEncoder = bCryptPasswordEncoder;34 this.confirmationTokenService = confirmationTokenService;35 19 } 36 20 … … 39 23 } 40 24 41 public Optional<RegistriranParkirac>addRegPark(RegistriranParkirac regPark) {25 public void addRegPark(RegistriranParkirac regPark) { 42 26 Optional<RegistriranParkirac> regParkOpt = this.registriranParkiracRepository.findRegistriranParkiracByEmail(regPark.getEmail()); 43 27 if (regParkOpt.isPresent()) { 44 28 throw new IllegalStateException("Email already taken, try adding a registriranParkirac with a different valid email address"); 45 29 } else { 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 } 30 System.out.println(regPark); 31 this.registriranParkiracRepository.save(regPark); 53 32 } 54 return regParkOpt;55 33 } 56 34 57 35 @Transactional 58 public RegistriranParkirac updateRegPark(int regParkId, String name, String surname, String mobile, String email,List<Tablicka> regTablicki) {36 public void updateRegPark(int regParkId, String name, String surname, String mobile, String email) { 59 37 Optional<RegistriranParkirac> regParkOpt = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId)); 60 38 if (regParkOpt.isPresent()) { … … 80 58 regParkNov.setMobile(mobile); 81 59 } 82 regParkNov.setRegTablicki(regTablicki);83 return regParkNov;84 }else{85 throw new IllegalStateException("RegistriranParkirac doesn't exist, therefore can't be updated");86 60 } 87 61 } 88 62 89 @Transactional 90 @Modifying 91 public Optional<RegistriranParkirac> deleteRegPark(int regParkId) { 63 public void deleteRegPark(int regParkId) { 92 64 Optional<RegistriranParkirac> regPark = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId)); 93 65 if (regPark.isPresent()) { 94 //TODO da povikamo metod od ConfirmationTokenService za brisenje na ConfirmationTokenRP *DONE95 //TODO da se izbrisat tablicki i da ne se dupliraat istite tablicki pri update ili add na nov registriranParkirac96 this.confirmationTokenService.deleteByRegistriranParkirac_RegParkId(regParkId);97 66 this.registriranParkiracRepository.deleteByRegParkId(regParkId); 98 67 } else { 99 68 throw new IllegalStateException("RegistriranParkirac doesn't exist, therefore can't be deleted"); 100 69 } 101 return regPark;102 70 } 103 71 … … 106 74 return regPark.orElse(null); 107 75 } 108 109 @Override110 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 = registriranParkiracRepository119 .findRegistriranParkiracByEmail(registriranParkirac.getEmail())120 .isPresent();121 if(registriranParkiracExists){122 // TODO check if attributes are the same and123 // TODO if email not confirmed send confirmation email124 125 throw new IllegalStateException("Email already taken");126 }127 128 String encodedPassword = bCryptPasswordEncoder129 .encode(registriranParkirac.getPassword());130 131 registriranParkirac.setPassword(encodedPassword);132 133 registriranParkiracRepository.save(registriranParkirac);134 135 // TODO: Send confirmation token136 137 String token = UUID.randomUUID().toString();138 ConfirmationTokenRP confirmationTokenRP = new ConfirmationTokenRP(139 token,140 LocalDateTime.now(),141 LocalDateTime.now().plusMinutes(15),142 registriranParkirac143 );144 145 confirmationTokenService.saveConfirmationTokenRP(confirmationTokenRP);146 147 // TODO: SEND EMAIL148 149 return token;150 }151 152 public int enableRegistriranParkirac(String email) {153 return registriranParkiracRepository.enableRegistriranParkirac(email);154 }155 76 } -
sources/app/src/main/java/parkup/services/VrabotenService.java
r9504a09 r3a58bd6 1 1 package parkup.services; 2 2 3 import java.time.LocalDateTime; 4 import java.util.*; 3 import java.util.List; 4 import java.util.Objects; 5 import java.util.Optional; 6 import java.util.UUID; 5 7 import javax.transaction.Transactional; 6 8 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;12 9 import org.springframework.stereotype.Service; 13 import parkup.configs.token.ConfirmationTokenW;14 import parkup.configs.token.ConfirmationTokenService;15 10 import parkup.entities.Vraboten; 16 11 import parkup.repositories.VrabotenRepository; 17 import parkup.data.VrabotenDemo;18 12 19 13 @Service 20 public class VrabotenService implements UserDetailsService{14 public class VrabotenService { 21 15 private final VrabotenRepository vrabotenRepository; 22 private final BCryptPasswordEncoder bCryptPasswordEncoder;23 private final ConfirmationTokenService confirmationTokenService;24 16 25 17 @Autowired 26 public VrabotenService(VrabotenRepository vrabotenRepository , BCryptPasswordEncoder bCryptPasswordEncoder, ConfirmationTokenService confirmationTokenService) {18 public VrabotenService(VrabotenRepository vrabotenRepository) { 27 19 this.vrabotenRepository = vrabotenRepository; 28 this.bCryptPasswordEncoder = bCryptPasswordEncoder;29 this.confirmationTokenService = confirmationTokenService;30 20 } 31 21 … … 39 29 } 40 30 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) { 31 public void addVraboten(Vraboten vraboten) { 52 32 Optional<Vraboten> vrabotenOpt = this.vrabotenRepository.findVrabotenByEmail(vraboten.getEmail()); 53 33 if (vrabotenOpt.isPresent()) { 54 34 throw new IllegalStateException("Email already taken, try adding a vraboten with a different valid email address"); 55 35 } else { 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 } 36 System.out.println(vraboten); 37 this.vrabotenRepository.save(vraboten); 63 38 } 64 return vrabotenOpt;65 39 } 66 40 67 41 @Transactional 68 public Vraboten updateVraboten(int vrabotenId, String firstName, String lastName, String mobile, String email, String status) {42 public void updateVraboten(int vrabotenId, String firstName, String lastName, String mobile, String email) { 69 43 Optional<Vraboten> vrabotenOpt = Optional.ofNullable(this.vrabotenRepository.findByVrabotenId(vrabotenId)); 70 44 if (vrabotenOpt.isPresent()) { … … 75 49 throw new IllegalStateException("email taken"); 76 50 } 51 77 52 vrabotenNov.setEmail(email); 78 } else {79 throw new IllegalStateException("email not valid");80 53 } 81 54 … … 91 64 vrabotenNov.setMobile(mobile); 92 65 } 66 } 67 } 93 68 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; 103 } 104 else{ 105 throw new IllegalStateException("Vraboten doesn't exist, therefore can't be updated"); 106 } 107 }//za menjanje password da se implementira 108 109 @Modifying 110 @Transactional 111 public Optional<Vraboten> deleteVraboten(int vrabotenId) { 69 public void deleteVraboten(int vrabotenId) { 112 70 Optional<Vraboten> vrabotenOpt = Optional.ofNullable(this.vrabotenRepository.findByVrabotenId(vrabotenId)); 113 71 if (vrabotenOpt.isPresent()) { 114 //TODO da povikamo metod od ConfirmationTokenService za brisenje na ConfirmationTokenW115 this.confirmationTokenService.deleteByVraboten_VrabotenId(vrabotenId);116 72 this.vrabotenRepository.deleteByVrabotenId(vrabotenId); 117 73 } else { 118 74 throw new IllegalStateException("Vraboten doesn't exist, therefore can't be deleted"); 119 75 } 120 return vrabotenOpt;121 76 } 122 123 @Transactional124 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 @Override134 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 = vrabotenRepository141 .findVrabotenByEmail(vraboten.getEmail())142 .isPresent();143 if(vrabotenExists){144 // TODO check if attributes are the same and145 // TODO if email not confirmed send confirmation email146 147 throw new IllegalStateException("Email already taken");148 }149 150 String encodedPassword = bCryptPasswordEncoder151 .encode(vraboten.getPassword());152 153 vraboten.setPassword(encodedPassword);154 155 vrabotenRepository.save(vraboten);156 157 // TODO: Send confirmation token158 159 String token = UUID.randomUUID().toString();160 ConfirmationTokenW confirmationTokenW = new ConfirmationTokenW(161 token,162 LocalDateTime.now(),163 LocalDateTime.now().plusMinutes(15),164 vraboten165 );166 167 confirmationTokenService.saveConfirmationTokenW(confirmationTokenW);168 169 // TODO: SEND EMAIL170 171 return token;172 }173 174 public int enableVraboten(String email) {175 return vrabotenRepository.enableVraboten(email);176 }177 178 77 }
Note:
See TracChangeset
for help on using the changeset viewer.