Added action logs for user api's.
This commit is contained in:
@@ -76,7 +76,7 @@ public class CallApiController implements CallApi {
|
||||
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_UPDATE_SUCCESSFULLY_MSG)));
|
||||
}
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
@Transactional
|
||||
public ResponseEntity<Response<CallResponse>> getCallById(HttpServletRequest request, Long callId,Long companyId) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "get Call by id" operation. **/
|
||||
|
||||
@@ -4,7 +4,11 @@ import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import net.gepafin.tendermanagement.config.Translator;
|
||||
import net.gepafin.tendermanagement.config.jwt.TokenProvider;
|
||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||
import net.gepafin.tendermanagement.entities.UserActionEntity;
|
||||
import net.gepafin.tendermanagement.enums.UserActionContextEnum;
|
||||
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
|
||||
import net.gepafin.tendermanagement.enums.UserStatusEnum;
|
||||
import net.gepafin.tendermanagement.model.request.*;
|
||||
import net.gepafin.tendermanagement.model.response.UserSamlResponse;
|
||||
@@ -12,6 +16,7 @@ import net.gepafin.tendermanagement.model.response.UserResponseBean;
|
||||
import net.gepafin.tendermanagement.model.util.JWTToken;
|
||||
import net.gepafin.tendermanagement.model.util.Response;
|
||||
import net.gepafin.tendermanagement.service.UserService;
|
||||
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||
import net.gepafin.tendermanagement.web.rest.api.UserApi;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||
import org.slf4j.Logger;
|
||||
@@ -35,12 +40,27 @@ public class UserApiController implements UserApi {
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
@Autowired
|
||||
private LoggingUtil loggingUtil;
|
||||
|
||||
@Autowired
|
||||
private TokenProvider tokenProvider;
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<JWTToken>> createUser(HttpServletRequest request, String tempToken, @RequestBody UserReq userReq) {
|
||||
log.info("Create User with - Request Body: {}", userReq);
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Create User" operation, even tempToken and userToken is present or not**/
|
||||
UserActionEntity userAction = loggingUtil.logUserActionWithoutToken(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT).actionContext(UserActionContextEnum.CREATE_USER).build());
|
||||
|
||||
JWTToken createdUser = userService.createUser(request, tempToken, userReq);
|
||||
return ResponseEntity.status(HttpStatus.CREATED)
|
||||
.body(new Response<>(createdUser, Status.SUCCESS, Translator.toLocale(GepafinConstant.USER_CREATED_SUCCESS_MSG)));
|
||||
|
||||
/** This code is responsible for updating the user action log with new data after token generation.**/
|
||||
if (userAction != null) {
|
||||
loggingUtil.updateUserActionWithTokenDetails(userAction.getId(), createdUser.getToken(), null );
|
||||
}
|
||||
|
||||
return ResponseEntity.status(HttpStatus.CREATED).body(new Response<>(createdUser, Status.SUCCESS, Translator.toLocale(GepafinConstant.USER_CREATED_SUCCESS_MSG)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -48,34 +68,58 @@ public class UserApiController implements UserApi {
|
||||
@PathVariable("userId") Long userId,
|
||||
@Valid @RequestBody UpdateUserReq userReq) {
|
||||
log.info("Update User - User ID: {}, Request Body: {}", userId, userReq);
|
||||
|
||||
/** This code is responsible for "Updating user details" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE)
|
||||
.actionContext(UserActionContextEnum.UPDATE_USER_DETAILS).build());
|
||||
|
||||
UserResponseBean updatedUser = userService.updateUser(request, userId, userReq);
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(updatedUser, Status.SUCCESS, Translator.toLocale(GepafinConstant.USER_UPDATED_SUCCESS_MSG)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<UserResponseBean>> getUserById(HttpServletRequest request,
|
||||
@PathVariable("userId") Long userId) {
|
||||
public ResponseEntity<Response<UserResponseBean>> getUserById(HttpServletRequest request, @PathVariable("userId") Long userId) {
|
||||
|
||||
log.info("Get User by ID - User ID: {}", userId);
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Get user" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW).actionContext(UserActionContextEnum.GET_USER).build());
|
||||
|
||||
UserResponseBean user = userService.getUserById(request, userId);
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(user, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_USER_SUCCESS_MSG)));
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK).body(new Response<>(user, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_USER_SUCCESS_MSG)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<Void>> deleteUser(HttpServletRequest request,
|
||||
@PathVariable("userId") Long userId) {
|
||||
public ResponseEntity<Response<Void>> deleteUser(HttpServletRequest request, @PathVariable("userId") Long userId) {
|
||||
log.info("Delete User - User ID: {}", userId);
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Delete user" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.DELETE).actionContext(UserActionContextEnum.DELETE_USER).build());
|
||||
|
||||
userService.deleteUser(request, userId);
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.USER_DELETED_SUCCESS_MSG)));
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK).body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.USER_DELETED_SUCCESS_MSG)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<JWTToken>> login(HttpServletRequest request,
|
||||
@Valid @RequestBody LoginReq loginReq) {
|
||||
public ResponseEntity<Response<JWTToken>> login(HttpServletRequest request, @Valid @RequestBody LoginReq loginReq) {
|
||||
|
||||
log.info("User login attempt ");
|
||||
JWTToken jwtToken = userService.login(loginReq,request);
|
||||
|
||||
/** This code is responsible for creating user action logs for the "LOGIN" operation. **/
|
||||
UserActionEntity userAction = loggingUtil.logUserActionWithoutToken(
|
||||
UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT).actionContext(UserActionContextEnum.USER_LOGIN).build());
|
||||
|
||||
JWTToken jwtToken = userService.login(loginReq, request);
|
||||
|
||||
/** This code is responsible for updating the action and version log with new data after token generation.**/
|
||||
if (userAction != null) {
|
||||
loggingUtil.updateUserActionWithTokenDetails(userAction.getId(), jwtToken.getToken(), null);
|
||||
loggingUtil.updateVersionHistoriesWithTokenDetails(userAction.getId(), jwtToken.getToken());
|
||||
}
|
||||
return ResponseEntity.ok(new Response<>(jwtToken, Status.SUCCESS, Translator.toLocale(GepafinConstant.LOGIN_SUCCESS_MSG)));
|
||||
}
|
||||
@Override
|
||||
@@ -106,6 +150,10 @@ public class UserApiController implements UserApi {
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<Void>> logoutUser(HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Logout" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.LOGOUT).actionContext(UserActionContextEnum.LOGOUT_USER).build());
|
||||
|
||||
userService.logoutUser(request, response);
|
||||
|
||||
log.info("User has successfully logged");
|
||||
@@ -123,24 +171,50 @@ public class UserApiController implements UserApi {
|
||||
public ResponseEntity<Response<UserResponseBean>> getValidUser(HttpServletRequest request) {
|
||||
log.info("Get Valid User Detail");
|
||||
UserResponseBean user = userService.getValidUser(request);
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Get valid user details." operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW).actionContext(UserActionContextEnum.GET_VALID_USER_DETAILS).build());
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(user, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_USER_SUCCESS_MSG)));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<JWTToken>> validateExistingUserToken(HttpServletRequest request, String token) {
|
||||
log.info("User login attempt via spid token");
|
||||
JWTToken data = userService.validateExistingUserToken(request, token);
|
||||
return ResponseEntity.ok(new Response<>(data, Status.SUCCESS, Translator.toLocale(GepafinConstant.TOKEN_VALIDATE_SUCCESS_MSE)));
|
||||
|
||||
log.info("User login attempt via spid token");
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Validating existing user from spid token" operation. **/
|
||||
UserActionEntity userAction = loggingUtil.logUserActionWithoutToken(
|
||||
UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW).actionContext(UserActionContextEnum.VALIDATE_EXISTING_USER_WITH_SPID_TOKEN)
|
||||
.build());
|
||||
|
||||
JWTToken data = userService.validateExistingUserToken(request, token);
|
||||
|
||||
/** This code is responsible for updating the action and version log with new data.**/
|
||||
if (userAction != null) {
|
||||
loggingUtil.updateUserActionWithTokenDetails(userAction.getId(), data.getToken(), data);
|
||||
loggingUtil.updateVersionHistoriesWithTokenDetails(userAction.getId(), data.getToken());
|
||||
}
|
||||
|
||||
return ResponseEntity.ok(new Response<>(data, Status.SUCCESS, Translator.toLocale(GepafinConstant.TOKEN_VALIDATE_SUCCESS_MSG)));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<UserSamlResponse>> validateNewUserToken(HttpServletRequest request, String token) {
|
||||
log.info("User validating spid token");
|
||||
UserSamlResponse data = userService.validateNewUserToken(request,token);
|
||||
return ResponseEntity.ok(new Response<>(data, Status.SUCCESS, Translator.toLocale(GepafinConstant.TOKEN_VALIDATE_SUCCESS_MSE)));
|
||||
|
||||
log.info("User validating spid token");
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Validating new user from spid token" operation. **/
|
||||
loggingUtil.logUserActionWithoutToken(
|
||||
UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW).actionContext(UserActionContextEnum.VALIDATE_NEW_USER_WITH_SPID_TOKEN).build());
|
||||
|
||||
UserSamlResponse data = userService.validateNewUserToken(request, token);
|
||||
|
||||
return ResponseEntity.ok(new Response<>(data, Status.SUCCESS, Translator.toLocale(GepafinConstant.TOKEN_VALIDATE_SUCCESS_MSG)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<List<UserResponseBean>>> getAllUsers(HttpServletRequest request,
|
||||
Long roleId) {
|
||||
|
||||
Reference in New Issue
Block a user