[R2] Add find method in service class

This commit is contained in:
Mirna Gama 2024-01-04 16:59:06 -03:00 committed by Mirna Gama
parent 8d365061ab
commit 6ad63db9d1
2 changed files with 27 additions and 0 deletions

View File

@ -1,10 +1,14 @@
package com.mirna.hospitalmanagementapi.application.services;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mirna.hospitalmanagementapi.application.usecase.doctor.AddDoctorUseCase;
import com.mirna.hospitalmanagementapi.application.usecase.doctor.FindAllDoctorsUseCase;
import com.mirna.hospitalmanagementapi.domain.dtos.DoctorDTO;
import com.mirna.hospitalmanagementapi.domain.dtos.DoctorPublicDataDTO;
import com.mirna.hospitalmanagementapi.domain.entities.Doctor;
import com.mirna.hospitalmanagementapi.domain.services.DoctorService;
@ -23,6 +27,9 @@ public class DoctorServiceImpl implements DoctorService {
@Autowired
private AddDoctorUseCase addDoctor;
@Autowired
private FindAllDoctorsUseCase findAllDoctors;
/**
* Adds a new doctor to the database.
*
@ -37,4 +44,14 @@ public class DoctorServiceImpl implements DoctorService {
return addDoctor.execute(doctor);
}
/**
* Finds doctors from the database.
*
* @return A paginated list containing data transfer objects with doctors public information in the repository
*/
@Override
public List<DoctorPublicDataDTO> findDoctors() {
return findAllDoctors.execute().stream().map(DoctorPublicDataDTO::new).toList();
}
}

View File

@ -1,6 +1,9 @@
package com.mirna.hospitalmanagementapi.domain.services;
import java.util.List;
import com.mirna.hospitalmanagementapi.domain.dtos.DoctorDTO;
import com.mirna.hospitalmanagementapi.domain.dtos.DoctorPublicDataDTO;
import com.mirna.hospitalmanagementapi.domain.entities.Doctor;
/**
@ -20,4 +23,11 @@ public interface DoctorService {
*/
public Doctor addDoctor(DoctorDTO doctorDTO);
/**
* Retrieves a list of doctors.
*
* @return A list containing data transfer objects with doctors public information in the repository
*/
public List<DoctorPublicDataDTO> findDoctors();
}