- Timestamp:
- 02/18/24 22:01:54 (9 months ago)
- Branches:
- master
- Children:
- 4251327
- Parents:
- bde8b13
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/mk/ukim/finki/busngo/service/impl/AuthServiceImpl.java
rbde8b13 re272096 1 1 package mk.ukim.finki.busngo.service.impl; 2 2 3 import mk.ukim.finki.busngo.model.entities.Kondukter; 3 4 import mk.ukim.finki.busngo.model.entities.Korisnik; 4 5 import mk.ukim.finki.busngo.model.entities.Patnik; 6 import mk.ukim.finki.busngo.model.entities.Vozac; 7 import mk.ukim.finki.busngo.model.enums.VrabotenType; 5 8 import mk.ukim.finki.busngo.model.exceptions.InvalidCredentialsException; 6 9 import mk.ukim.finki.busngo.model.exceptions.UserAlreadyExistsException; 10 import mk.ukim.finki.busngo.repository.KondukterRepository; 7 11 import mk.ukim.finki.busngo.repository.KorisnikRepository; 8 12 import mk.ukim.finki.busngo.repository.PatnikRepository; 9 import mk.ukim.finki.busngo.service.AuthService; 13 import mk.ukim.finki.busngo.repository.VozacRepository; 14 import mk.ukim.finki.busngo.service.*; 10 15 import org.springframework.security.crypto.password.PasswordEncoder; 11 16 import org.springframework.stereotype.Service; 17 18 import java.sql.Date; 19 import java.time.LocalDate; 12 20 13 21 @Service … … 15 23 private final KorisnikRepository korisnikRepository; 16 24 private final PatnikRepository patnikRepository; 25 private final VozacRepository vozacRepository; 26 private final KondukterRepository kondukterRepository; 17 27 private final PasswordEncoder passwordEncoder; 28 private final PatnikService patnikService; 29 private final KondukterService kondukterService; 30 private final VozacService vozacService; 18 31 19 public AuthServiceImpl(KorisnikRepository korisnikRepository, PatnikRepository patnikRepository, PasswordEncoder passwordEncoder) {32 public AuthServiceImpl(KorisnikRepository korisnikRepository, PatnikRepository patnikRepository, VozacRepository vozacRepository, KondukterRepository kondukterRepository, PasswordEncoder passwordEncoder, PatnikService patnikService, KondukterService kondukterService, VozacService vozacService) { 20 33 this.korisnikRepository = korisnikRepository; 21 34 this.patnikRepository = patnikRepository; 35 this.vozacRepository = vozacRepository; 36 this.kondukterRepository = kondukterRepository; 22 37 this.passwordEncoder = passwordEncoder; 38 this.patnikService = patnikService; 39 this.kondukterService = kondukterService; 40 this.vozacService = vozacService; 23 41 } 24 42 … … 52 70 korisnik.setKIsAdmin(false); 53 71 72 return patnikRepository.save(korisnik); 73 } 54 74 55 return patnikRepository.save(korisnik); 75 @Override 76 public Korisnik registerVraboten(String ime, String email, String password, String confirmPassword, String address, String telefon, VrabotenType type, Double salary) { 77 if (email == null || password == null || email.isEmpty() || password.isEmpty()) { 78 throw new InvalidCredentialsException(); 79 } 80 81 if (!password.equals(confirmPassword)) { 82 throw new InvalidCredentialsException(); 83 } 84 85 if(this.korisnikRepository.findByKEmail(email).isPresent()) { 86 throw new UserAlreadyExistsException(email); 87 } 88 89 90 switch (type){ 91 case ADMIN: 92 Korisnik korisnik = new Korisnik(); 93 korisnik.setKIme(ime); 94 korisnik.setKAdresa(address); 95 korisnik.setKLozinka(passwordEncoder.encode(password)); 96 korisnik.setKEmail(email); 97 korisnik.setKTelefon(telefon); 98 korisnik.setKIsAdmin(true); 99 return korisnikRepository.save(korisnik); 100 case VOZAC: 101 Vozac vozac = new Vozac(); 102 vozac.setKIme(ime); 103 vozac.setKAdresa(address); 104 vozac.setKLozinka(passwordEncoder.encode(password)); 105 vozac.setKEmail(email); 106 vozac.setKTelefon(telefon); 107 vozac.setKIsAdmin(false); 108 vozac.setVPlata(salary); 109 vozac.setVDatumNaVrabotuvanje(Date.valueOf(LocalDate.now())); 110 this.korisnikRepository.save(vozac); 111 112 return vozacRepository.save(vozac); 113 case KONDUKTER: 114 Kondukter kondukter = new Kondukter(); 115 kondukter.setKIme(ime); 116 kondukter.setKAdresa(address); 117 kondukter.setKLozinka(passwordEncoder.encode(password)); 118 kondukter.setKEmail(email); 119 kondukter.setKTelefon(telefon); 120 kondukter.setKIsAdmin(false); 121 kondukter.setVPlata(salary); 122 kondukter.setVDatumNaVrabotuvanje(Date.valueOf(LocalDate.now())); 123 this.korisnikRepository.save(kondukter); 124 125 return kondukterRepository.save(kondukter); 126 } 127 return null; 56 128 } 57 129
Note:
See TracChangeset
for help on using the changeset viewer.