diff --git a/src/main/java/com/mirna/hospitalmanagementapi/application/services/UserServiceImpl.java b/src/main/java/com/mirna/hospitalmanagementapi/application/services/UserServiceImpl.java new file mode 100644 index 0000000..3b3a507 --- /dev/null +++ b/src/main/java/com/mirna/hospitalmanagementapi/application/services/UserServiceImpl.java @@ -0,0 +1,36 @@ +package com.mirna.hospitalmanagementapi.application.services; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.stereotype.Service; + +import com.mirna.hospitalmanagementapi.application.usecase.user.FindUserByLoginUseCase; +import com.mirna.hospitalmanagementapi.domain.services.UserService; + +/** + * This class is an implementation of the UserService interface. + * + * This class provides methods to perform operations on User entity + * + * @author Mirna Gama + * @version 1.0 + */ + +@Service +public class UserServiceImpl implements UserService { + + @Autowired + private FindUserByLoginUseCase findUserByLogin; + + /** + * Finds a stored user information by login. + * + * @param id A long representing the user's system login + * @return The corresponding user information if successful, or null if it is non-existent. + */ + @Override + public UserDetails findUserByLogin(String login) { + return findUserByLogin.execute(login); + } + +} diff --git a/src/main/java/com/mirna/hospitalmanagementapi/domain/services/UserService.java b/src/main/java/com/mirna/hospitalmanagementapi/domain/services/UserService.java new file mode 100644 index 0000000..28f90e3 --- /dev/null +++ b/src/main/java/com/mirna/hospitalmanagementapi/domain/services/UserService.java @@ -0,0 +1,22 @@ +package com.mirna.hospitalmanagementapi.domain.services; + +import org.springframework.security.core.userdetails.UserDetails; + +/** + * User service interface for managing user information. +* + * @see User + * @author Mirna Gama + * @version 1.0 +*/ +public interface UserService { + + /** + * Finds a stored user information by login. + * + * @param id A long representing the user's system login + * @return The corresponding user information if successful, or null if it is non-existent. + */ + public UserDetails findUserByLogin(String login); + +}