ProfileServiceImpl.java
package com.is.findyourplace.service.gestioneUtenza;
import com.is.findyourplace.persistence.dto.UtenteDto;
import com.is.findyourplace.persistence.entity.Preferenze;
import com.is.findyourplace.persistence.entity.Utente;
import com.is.findyourplace.persistence.repository.PreferenzeRepository;
import com.is.findyourplace.persistence.repository.UtenteRepository;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
@Service
public class ProfileServiceImpl implements ProfileService {
/**
* Repository Utente.
*/
private final UtenteRepository utenteRepository;
/**
* Password Encoder.
*/
private final PasswordEncoder passwordEncoder;
/**
* Repository Preferenze.
*/
private final PreferenzeRepository preferenzeRepository;
/**
* Costruttore del service.
* @param utenteRepository UtenteRepository
* @param passwordEncoder PasswordEncoder
* @param preferenzeRepository PreferenzeRepository
*/
public ProfileServiceImpl(
final UtenteRepository utenteRepository,
final PasswordEncoder passwordEncoder,
final PreferenzeRepository preferenzeRepository) {
this.utenteRepository = utenteRepository;
this.passwordEncoder = passwordEncoder;
this.preferenzeRepository = preferenzeRepository;
}
@Override
public void updateUtente(final UtenteDto utenteDto) {
Utente utente = utenteRepository.findByIdUtente(
utenteDto.getIdUtente()
);
utente.setUsername(utenteDto.getUsername());
utente.setEmail(utenteDto.getEmail());
//Encrypt using springboot security
if (!utenteDto.getPassword().isBlank()) {
utente.setPasswordHash(
passwordEncoder.encode(utenteDto.getPassword())
);
}
if (utenteDto.getNumeroTel() != null) {
utente.setNumeroTel(utenteDto.getNumeroTel());
}
utente.setDataNascita(utenteDto.getDataNascita());
utente.setNome(utenteDto.getNome());
utente.setCognome(utenteDto.getCognome());
utenteRepository.save(utente);
}
@Override
public Preferenze findPrefByUtente(final Utente utente) {
return preferenzeRepository.findByIdUtente(utente.getIdUtente());
}
@Override
public Preferenze createPreferenze(final Utente utente) {
Preferenze preferenze = new Preferenze();
preferenze.setIdUtente(utente.getIdUtente());
preferenze.setNotifiche(true);
preferenze.setUtente(utente);
utente.setPreferenze(preferenze);
preferenzeRepository.save(preferenze);
return preferenze;
}
@Override
public void updatePreferenze(final Preferenze preferenze) {
preferenzeRepository.save(preferenze);
Utente utente = utenteRepository.findByIdUtente(
preferenze.getIdUtente()
);
utente.setPreferenze(preferenze);
}
}