source: src/main/java/mk/ukim/finki/busngo/service/impl/AuthServiceImpl.java@ bde8b13

Last change on this file since bde8b13 was bde8b13, checked in by ppaunovski <paunovskipavel@…>, 6 months ago

All 3 main use cases implemented.

  1. Starting a commute
  2. Writing a ticket
  3. Starting an instance of a Bus Line
  • Property mode set to 100644
File size: 2.3 KB
Line 
1package mk.ukim.finki.busngo.service.impl;
2
3import mk.ukim.finki.busngo.model.entities.Korisnik;
4import mk.ukim.finki.busngo.model.entities.Patnik;
5import mk.ukim.finki.busngo.model.exceptions.InvalidCredentialsException;
6import mk.ukim.finki.busngo.model.exceptions.UserAlreadyExistsException;
7import mk.ukim.finki.busngo.repository.KorisnikRepository;
8import mk.ukim.finki.busngo.repository.PatnikRepository;
9import mk.ukim.finki.busngo.service.AuthService;
10import org.springframework.security.crypto.password.PasswordEncoder;
11import org.springframework.stereotype.Service;
12
13@Service
14public class AuthServiceImpl implements AuthService {
15 private final KorisnikRepository korisnikRepository;
16 private final PatnikRepository patnikRepository;
17 private final PasswordEncoder passwordEncoder;
18
19 public AuthServiceImpl(KorisnikRepository korisnikRepository, PatnikRepository patnikRepository, PasswordEncoder passwordEncoder) {
20 this.korisnikRepository = korisnikRepository;
21 this.patnikRepository = patnikRepository;
22 this.passwordEncoder = passwordEncoder;
23 }
24
25 @Override
26 public Korisnik login(String email, String password) {
27 if(email == null || password == null || email.isEmpty() || password.isEmpty())
28 throw new InvalidCredentialsException();
29 return korisnikRepository.findByKEmailAndKLozinka(email, password).orElseThrow(InvalidCredentialsException::new);
30 }
31
32 @Override
33 public Korisnik registerPatnik(String ime, String email, String password, String confirmPassword, String address, String telefon) {
34 if (email == null || password == null || email.isEmpty() || password.isEmpty()) {
35 throw new InvalidCredentialsException();
36 }
37
38 if (!password.equals(confirmPassword)) {
39 throw new InvalidCredentialsException();
40 }
41
42 if(this.korisnikRepository.findByKEmail(email).isPresent()) {
43 throw new UserAlreadyExistsException(email);
44 }
45
46 Patnik korisnik = new Patnik();
47 korisnik.setKIme(ime);
48 korisnik.setKAdresa(address);
49 korisnik.setKLozinka(passwordEncoder.encode(password));
50 korisnik.setKEmail(email);
51 korisnik.setKTelefon(telefon);
52 korisnik.setKIsAdmin(false);
53
54
55 return patnikRepository.save(korisnik);
56 }
57
58
59}
Note: See TracBrowser for help on using the repository browser.