CustomerService.java
package com.ctrlbuy.webshop.service;
import com.ctrlbuy.webshop.model.CustomerEntity;
import com.ctrlbuy.webshop.repository.CustomerRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;
@Service
public class CustomerService {
private final CustomerRepository customerRepository;
private final PasswordEncoder passwordEncoder;
@Autowired
public CustomerService(CustomerRepository customerRepository, PasswordEncoder passwordEncoder) {
this.customerRepository = customerRepository;
this.passwordEncoder = passwordEncoder;
}
public List<CustomerEntity> findAll() {
return customerRepository.findAll();
}
public Optional<CustomerEntity> findById(Long id) {
return customerRepository.findById(id);
}
public CustomerEntity save(CustomerEntity customer) {
// Om användaren inte redan har ett krypterat lösenord, kryptera det
if (customer.getPassword() != null && !customer.getPassword().isEmpty()) {
customer.setPassword(passwordEncoder.encode(customer.getPassword()));
}
return customerRepository.save(customer);
}
public void deleteById(Long id) {
customerRepository.deleteById(id);
}
}