[204464d] | 1 | package edu.gjoko.schedlr.services;
|
---|
| 2 |
|
---|
| 3 | import edu.gjoko.schedlr.entity.Stakeholder;
|
---|
| 4 | import edu.gjoko.schedlr.entity.StakeholderType;
|
---|
| 5 | import edu.gjoko.schedlr.repositories.StakeholderRepository;
|
---|
[a436340] | 6 | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
---|
[204464d] | 7 | import org.springframework.stereotype.Service;
|
---|
| 8 |
|
---|
[77205be] | 9 | import java.util.Optional;
|
---|
| 10 |
|
---|
[204464d] | 11 | @Service
|
---|
| 12 | public class StakeholderService {
|
---|
| 13 |
|
---|
| 14 | private StakeholderRepository stakeholderRepository;
|
---|
[a436340] | 15 | private BCryptPasswordEncoder bCryptPasswordEncoder;
|
---|
[204464d] | 16 |
|
---|
[a436340] | 17 | public StakeholderService(StakeholderRepository stakeholderRepository,
|
---|
| 18 | BCryptPasswordEncoder bCryptPasswordEncoder) {
|
---|
[204464d] | 19 | this.stakeholderRepository = stakeholderRepository;
|
---|
[a436340] | 20 | this.bCryptPasswordEncoder = bCryptPasswordEncoder;
|
---|
[204464d] | 21 | }
|
---|
| 22 |
|
---|
| 23 | public Stakeholder saveStakeholder(Stakeholder stakeholder) {
|
---|
[a436340] | 24 | stakeholder.setPassword(bCryptPasswordEncoder.encode(stakeholder.getPassword()));
|
---|
[204464d] | 25 | stakeholder.setStakeholderType(StakeholderType.CUSTOMER);
|
---|
| 26 | return stakeholderRepository.save(stakeholder);
|
---|
| 27 | }
|
---|
[950fa0d] | 28 |
|
---|
| 29 | public Stakeholder findById(Long id) {
|
---|
| 30 | return stakeholderRepository.findById(id).get();
|
---|
| 31 | }
|
---|
[77205be] | 32 |
|
---|
| 33 | public void saveOrUpdateStakeholder(Stakeholder stakeholder) {
|
---|
| 34 | if (stakeholder.getId() != null) {
|
---|
| 35 | var found = stakeholderRepository.findById(stakeholder.getId()).get();
|
---|
| 36 | found.setFirstName(stakeholder.getFirstName());
|
---|
| 37 | found.setLastName(stakeholder.getLastName());
|
---|
| 38 | found.setPhoneNumber(stakeholder.getPhoneNumber());
|
---|
| 39 | found.setEmail(stakeholder.getEmail());
|
---|
| 40 | found.setUsername(stakeholder.getUsername());
|
---|
| 41 | stakeholderRepository.save(found);
|
---|
| 42 | }
|
---|
| 43 | }
|
---|
[204464d] | 44 | }
|
---|