RoleService.java

package com.hospital.portal.service;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hospital.portal.repository.AdminRepository;
import com.hospital.portal.repository.DoctorRepository;
import com.hospital.portal.repository.PatientRepository;


@Service
public class RoleService {
    @Autowired
    private AdminRepository adminRepository;
    
    @Autowired
    private DoctorRepository doctorRepository;
    
    @Autowired
    private PatientRepository patientRepository;

    private static final Logger logger = LogManager.getLogger(RoleService.class);

    /**
     * @brief Determines the role a spevified user has depending in which db table is saved its DNI
     * @param DNI of the user
     * @return The role of the user
    */
    public String determineUserRole(String dni) {
        logger.info("Determining role for patient with DNI: {}", dni);

        if (adminRepository.existsById(dni)) {
            return "ADMIN";
        } else if (doctorRepository.existsById(dni)) {
            return "DOCTOR";
        } else if (patientRepository.existsById(dni)) {
            return "PATIENT";
        }
        return null;
    }
}