source: src/main/java/com/example/baziproekt/service/impl/KorisniciServiceImpl.java@ 0e4d807

Last change on this file since 0e4d807 was 0e4d807, checked in by Ivona <ivonatapshanovska@…>, 10 months ago

Initial commit

  • Property mode set to 100644
File size: 2.9 KB
Line 
1package com.example.baziproekt.service.impl;
2
3import com.example.baziproekt.model.*;
4import com.example.baziproekt.model.exceptions.InvalidArgumentsException;
5import com.example.baziproekt.model.exceptions.InvalidUserCredentialsException;
6import com.example.baziproekt.model.exceptions.UserAlreadyExistException;
7import com.example.baziproekt.model.exceptions.UserNotFoundException;
8import com.example.baziproekt.repository.KorisniciRepository;
9import com.example.baziproekt.service.KorisniciService;
10import org.springframework.security.core.userdetails.UserDetails;
11import org.springframework.security.core.userdetails.UsernameNotFoundException;
12import org.springframework.stereotype.Service;
13
14import java.util.List;
15
16@Service
17public class KorisniciServiceImpl implements KorisniciService {
18
19 private final KorisniciRepository repository;
20
21 public KorisniciServiceImpl(KorisniciRepository repository) {
22 this.repository = repository;
23 }
24
25 @Override
26 public List<Korisnici> findAll() {
27 return repository.findAll();
28 }
29
30 @Override
31 public Korisnici findByIme(String korisnicko_ime) {
32
33 return repository.findKorisniciByIme(korisnicko_ime);
34 }
35
36
37 @Override
38 public Korisnici login(String username, String password) {
39
40 if(username == null || username.isEmpty() || password == null || password.isEmpty())
41 {
42 throw new InvalidArgumentsException();
43 }
44
45 return repository.findKorisniciByImeAndLozinka(username, password).orElseThrow(InvalidUserCredentialsException::new);
46 }
47
48 @Override
49 public Korisnici delete(String ime) {
50 Korisnici korisnici=this.findByIme(ime);
51 repository.delete(korisnici);
52 return korisnici;
53 }
54
55 @Override
56 public void create(String username, String password, Roles role,String email) {
57 /* Korisnici korisnici;
58 try {
59 Korisnici k = this.findByIme(username);
60 } catch (UserNotFoundException e) {
61 korisnici = new Korisnici(username, password, email, role);
62 return repository.save(korisnici);
63 }
64 throw new UserAlreadyExistException();*/
65 if(role.equals(Roles.ROLES_KUPUVAC))
66 {
67 repository.save(new Kupuvaci(username,password,email));
68 }
69 else if(role.equals(Roles.ROLES_DOSTAVUVAC))
70 {
71 repository.save(new Dostavuvaci(username,password,email));
72 }
73 else
74 {
75 repository.save(new Vraboteni(username,password,email));
76 }
77
78 }
79
80
81
82 @Override
83 public Korisnici update( String ime, String lozinka,String email, String tel) {
84 Korisnici k=this.findByIme(ime);
85 k.setIme(ime);
86 k.setLozinka(lozinka);
87 k.setBroj(tel);
88 k.setEmail(email);
89 return repository.save(k);
90 }
91
92
93 @Override
94 public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
95 return this.findByIme(username);
96 }
97}
Note: See TracBrowser for help on using the repository browser.