diff --git a/src/main/java/com/mirna/hospitalmanagementapi/application/services/DoctorServiceImpl.java b/src/main/java/com/mirna/hospitalmanagementapi/application/services/DoctorServiceImpl.java index ed67877..bed95f2 100644 --- a/src/main/java/com/mirna/hospitalmanagementapi/application/services/DoctorServiceImpl.java +++ b/src/main/java/com/mirna/hospitalmanagementapi/application/services/DoctorServiceImpl.java @@ -127,4 +127,23 @@ public class DoctorServiceImpl implements DoctorService { } + /** + * Deactivates an existing doctor record by provided id + * @param id Long that represents the doctor's unique identifier + * + * @return The deactivated doctor if successful, or null if there is an error. + */ + @Override + public Doctor deactivateDoctor(Long id) { + Doctor doctor = findDoctorById.execute(id); + + if (doctor != null) { + doctor.setActive(false); + + return saveDoctor.execute(doctor); + } + + return null; + } + } diff --git a/src/main/java/com/mirna/hospitalmanagementapi/domain/services/DoctorService.java b/src/main/java/com/mirna/hospitalmanagementapi/domain/services/DoctorService.java index df5ebbd..d22a046 100644 --- a/src/main/java/com/mirna/hospitalmanagementapi/domain/services/DoctorService.java +++ b/src/main/java/com/mirna/hospitalmanagementapi/domain/services/DoctorService.java @@ -43,4 +43,12 @@ public interface DoctorService { * @return The updated doctor if successful, or null if there is an error. */ public Doctor updateDoctor(DoctorUpdatedDataDTO doctorUpdatedDataDTO); + + /** + * Deactivates an existing doctor record by provided id + * @param id Long that represents the doctor's unique identifier + * + * @return The deactivated doctor if successful, or null if there is an error. + */ + public Doctor deactivateDoctor(Long id); }