Skip to content
Snippets Groups Projects
Commit 2c9022ed authored by Jessie Ragot's avatar Jessie Ragot
Browse files

Adding an empty medical record to a patient's registration

parent c1a02578
No related branches found
No related tags found
No related merge requests found
package com.projet.projetIndu.services;
import com.projet.projetIndu.dto.UserRegistrationDTO;
import com.projet.projetIndu.entities.Doctor;
import com.projet.projetIndu.entities.Patient;
import com.projet.projetIndu.entities.Role;
import com.projet.projetIndu.entities.User;
import com.projet.projetIndu.entities.*;
import com.projet.projetIndu.repositories.UserRepository;
import jakarta.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
......@@ -22,11 +20,13 @@ import java.util.Optional;
public class UserService implements UserDetailsService {
private final UserRepository userRepository;
private final BCryptPasswordEncoder passwordEncoder;
private final MedicalFileService medicalFileService;
@Autowired
public UserService(UserRepository userRepository, BCryptPasswordEncoder passwordEncoder) {
public UserService(UserRepository userRepository, BCryptPasswordEncoder passwordEncoder, MedicalFileService medicalFileService) {
this.userRepository = userRepository;
this.passwordEncoder = passwordEncoder;
this.medicalFileService = medicalFileService;
}
public List<User> getAllUsers() {
......@@ -49,6 +49,7 @@ public class UserService implements UserDetailsService {
userRepository.deleteById(id);
}
@Transactional
public User registerUser(UserRegistrationDTO userDTO) {
if (userRepository.existsByEmail(userDTO.getEmail())) {
throw new IllegalArgumentException("Email already taken");
......@@ -87,9 +88,15 @@ public class UserService implements UserDetailsService {
user.setPassword(encodedPassword);
user.setRole(userDTO.getRole());
return userRepository.save(user);
User savedUser = userRepository.save(user);
if (savedUser instanceof Patient) {
MedicalFile medicalFile = new MedicalFile((Patient) savedUser, "", "");
medicalFileService.saveMedicalFiles(medicalFile);
}
return savedUser;
}
@Override
public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
......@@ -102,6 +109,4 @@ public class UserService implements UserDetailsService {
.authorities(user.getClass().getSimpleName())
.build();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment