package net.gepafin.tendermanagement.service; import net.gepafin.tendermanagement.entities.UserEntity; import net.gepafin.tendermanagement.model.request.LoginReq; import net.gepafin.tendermanagement.model.request.UpdateUserReq; import net.gepafin.tendermanagement.model.request.UserReq; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import net.gepafin.tendermanagement.enums.UserStatusEnum; import net.gepafin.tendermanagement.model.request.*; import net.gepafin.tendermanagement.model.response.UserSamlResponse; import net.gepafin.tendermanagement.model.response.UserResponseBean; import net.gepafin.tendermanagement.model.util.JWTToken; import java.util.List; public interface UserService { JWTToken createUser(HttpServletRequest request, String tempToken, UserReq userReq); UserResponseBean updateUser(HttpServletRequest request, Long userId, UpdateUserReq userReq); UserResponseBean getUserById(HttpServletRequest request, Long userId); void deleteUser(HttpServletRequest request, Long userId); JWTToken login(LoginReq loginReq,HttpServletRequest request); UserEntity validateUser(Long userId); void initiatePasswordReset(InitiatePasswordResetReq resetReq); Boolean resetPassword(ResetPasswordReq resetPasswordReq); Boolean changePassword(HttpServletRequest httpServletRequest, ChangePasswordRequest request); void logoutUser(HttpServletRequest request, HttpServletResponse response); UserResponseBean updateUserStatus(Long userId, UserStatusEnum statusReq); UserResponseBean getValidUser(HttpServletRequest request); JWTToken validateExistingUserToken(HttpServletRequest request, String token); UserSamlResponse validateNewUserToken(HttpServletRequest request, String token); UserEntity getUserByBeneficiaryId(Long beneficiaryId); public UserEntity getUserEntityById(Long userId); List getAllUsers(HttpServletRequest request, List roleIds); }