From f166bb930c1c6140e397be50f9e50ae937c40092 Mon Sep 17 00:00:00 2001 From: Mirna Gama Date: Sat, 6 Jan 2024 19:15:52 -0300 Subject: [PATCH] [R6] Find patients use case class --- .../usecase/patient/FindPatientsUseCase.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/com/mirna/hospitalmanagementapi/application/usecase/patient/FindPatientsUseCase.java diff --git a/src/main/java/com/mirna/hospitalmanagementapi/application/usecase/patient/FindPatientsUseCase.java b/src/main/java/com/mirna/hospitalmanagementapi/application/usecase/patient/FindPatientsUseCase.java new file mode 100644 index 0000000..23d1a28 --- /dev/null +++ b/src/main/java/com/mirna/hospitalmanagementapi/application/usecase/patient/FindPatientsUseCase.java @@ -0,0 +1,34 @@ +package com.mirna.hospitalmanagementapi.application.usecase.patient; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Component; + +import com.mirna.hospitalmanagementapi.domain.entities.Patient; +import com.mirna.hospitalmanagementapi.domain.repositories.PatientRepository; + +/** + * This class is used to execute the findPatientsByActiveTrue method from patient repository + * + * @author Mirna Gama + * @version 1.0 + */ +@Component +public class FindPatientsUseCase { + + @Autowired + private PatientRepository patientRepository; + + /** + * Executes the findDoctorsByActiveTrue method from Patient repository + * + * @param pageable Pagination information, such as size and page number + * + * @return A paginated list with active stored patients if successful, or null if there is an error + * + */ + public Page execute(Pageable pageable) { + return this.patientRepository.findPatientsByActiveTrue(pageable); + } +}