From 20ba14e47ecce372718fcafd7e39f14ea07d045e Mon Sep 17 00:00:00 2001 From: Mirna Gama Date: Thu, 11 Jan 2024 14:48:40 -0300 Subject: [PATCH] [R9] Find user by login use case class --- .../usecase/user/FindUserByLoginUseCase.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/com/mirna/hospitalmanagementapi/application/usecase/user/FindUserByLoginUseCase.java diff --git a/src/main/java/com/mirna/hospitalmanagementapi/application/usecase/user/FindUserByLoginUseCase.java b/src/main/java/com/mirna/hospitalmanagementapi/application/usecase/user/FindUserByLoginUseCase.java new file mode 100644 index 0000000..4321328 --- /dev/null +++ b/src/main/java/com/mirna/hospitalmanagementapi/application/usecase/user/FindUserByLoginUseCase.java @@ -0,0 +1,33 @@ +package com.mirna.hospitalmanagementapi.application.usecase.user; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.stereotype.Component; + +import com.mirna.hospitalmanagementapi.domain.entities.Doctor; +import com.mirna.hospitalmanagementapi.domain.repositories.auth.UserRepository; + +/** + * This class is used to execute the findUserByLogin method + * + * @author Mirna Gama + * @version 1.0 + */ +@Component +public class FindUserByLoginUseCase { + + @Autowired + private UserRepository userRepository; + + /** + * Executes the findUserByLogin method from User repository + * + * @param login A string representing the user's system login + * + * @return The corresponding user information if successful, or null if it is non-existent + * + */ + public UserDetails execute(String login) { + return userRepository.findUserByLogin(login); + } +}