source: sources/app/src/main/java/parkup/services/GuestService.java@ 2b65789

Last change on this file since 2b65789 was 3753356, checked in by andrejTavchioski <andrej.tavchioski@…>, 2 years ago

getPlates method added

  • Property mode set to 100644
File size: 1.7 KB
Line 
1package parkup.services;
2
3import java.util.List;
4import java.util.Optional;
5import org.springframework.beans.factory.annotation.Autowired;
6import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
7import org.springframework.stereotype.Service;
8import parkup.entities.Guest;
9import parkup.repositories.GuestRepository;
10
11@Service
12public class GuestService {
13 private final GuestRepository guestRepository;
14 private final BCryptPasswordEncoder passwordEncoder;
15
16 @Autowired
17 public GuestService(GuestRepository guestRepository, BCryptPasswordEncoder passwordEncoder) {
18 this.guestRepository = guestRepository;
19 this.passwordEncoder = passwordEncoder;
20 }
21
22 public List<Guest> getGuests() {
23 return this.guestRepository.findAll();
24 }
25
26 public Guest findById(int guestId) {
27 Optional<Guest> guest = Optional.ofNullable(this.guestRepository.findByGuestId(guestId));
28 return guest.orElse(null);
29 }
30
31 public void addGuest(Guest guest) {
32 Optional<Guest> guestOpt = this.guestRepository.findGuestByEmail(guest.getEmail());
33 if (guestOpt.isPresent()) {
34 throw new IllegalStateException("Email already taken, try adding a guest with a different valid email address");
35 } else {
36// guest.setPassword(passwordEncoder.encode(Math.random()));
37 this.guestRepository.save(guest);
38 }
39 }
40
41 public void deleteGuest(int guestId) {
42 Optional<Guest> guest = Optional.ofNullable(this.guestRepository.findByGuestId(guestId));
43 if (guest.isPresent()) {
44 this.guestRepository.deleteByGuestId(guestId);
45 } else {
46 throw new IllegalStateException("Guest doesn't exist, therefore can't be deleted");
47 }
48 }
49}
Note: See TracBrowser for help on using the repository browser.