package net.gepafin.tendermanagement.service.impl; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import net.gepafin.tendermanagement.dao.UserDao; import net.gepafin.tendermanagement.enums.UserStatusEnum; import net.gepafin.tendermanagement.model.request.*; import net.gepafin.tendermanagement.model.response.LoginResponse; import net.gepafin.tendermanagement.model.response.UserResponseBean; import net.gepafin.tendermanagement.model.util.JWTToken; import net.gepafin.tendermanagement.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.format.DateTimeFormatter; @Service public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Transactional(rollbackFor = Exception.class) public UserResponseBean createUser(UserReq userReq) { return userDao.createUser(userReq); } @Override @Transactional(rollbackFor = Exception.class) public UserResponseBean updateUser(Long userId, UpdateUserReq userReq) { return userDao.updateUser(userId, userReq); } @Override @Transactional(readOnly = true) public UserResponseBean getUserById(Long userId) { return userDao.getUserById(userId); } @Override @Transactional(rollbackFor = Exception.class) public void deleteUser(Long userId) { userDao.deleteUser(userId); } @Override public JWTToken login(LoginReq loginReq) { return userDao.login(loginReq); } @Override public String initiatePasswordReset(InitiatePasswordResetReq resetReq) { return userDao.initiatePasswordReset(resetReq); } @Override public Boolean resetPassword(ResetPasswordReq resetPasswordReq) { return userDao.resetPassword(resetPasswordReq); } @Override public Boolean changePassword(ChangePasswordRequest request){ return userDao.changePassword(request); } @Override public void logoutUser(HttpServletRequest request, HttpServletResponse response) { userDao.logout(request,response); } @Override @Transactional(rollbackFor = Exception.class) public UserResponseBean updateUserStatus(Long userId, UserStatusEnum statusReq) { return userDao.updateUserStatus(userId, statusReq); } }