Added user action and versioning in form.

This commit is contained in:
piyushkag
2024-11-26 15:44:21 +05:30
parent 7d04e4ab58
commit f6a5dd4523
3 changed files with 191 additions and 57 deletions

View File

@@ -3,10 +3,14 @@ package net.gepafin.tendermanagement.web.rest.api.impl;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.enums.UserActionContextEnum;
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
import net.gepafin.tendermanagement.model.request.FormRequest;
import net.gepafin.tendermanagement.model.request.UserActionRequest;
import net.gepafin.tendermanagement.model.response.FormResponseBean;
import net.gepafin.tendermanagement.model.util.Response;
import net.gepafin.tendermanagement.service.FormService;
import net.gepafin.tendermanagement.util.LoggingUtil;
import net.gepafin.tendermanagement.web.rest.api.FormApi;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
@@ -24,8 +28,15 @@ public class FormApiController implements FormApi {
@Autowired
private FormService formService;
@Autowired
private LoggingUtil loggingUtil;
@Override
public ResponseEntity<Response<FormResponseBean>> createForm(HttpServletRequest request,Long callId, FormRequest formRequest) {
/** This code is responsible for creating user action logs for the "Create form" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT).actionContext(UserActionContextEnum.CREATE_FORM).build());
FormResponseBean formResponseBean = formService.createForm(request,callId, formRequest);
return ResponseEntity.status(HttpStatus.CREATED)
.body(new Response<>(formResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_CREATED_SUCCESSFULLY)));
@@ -33,6 +44,10 @@ public class FormApiController implements FormApi {
@Override
public ResponseEntity<Response<FormResponseBean>> updateForm(HttpServletRequest request, Long formId, FormRequest formRequest,Boolean forceDeleteFlow) {
/** This code is responsible for creating user action logs for the "Update form" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE).actionContext(UserActionContextEnum.UPDATE_FORM).build());
FormResponseBean formResponseBean = formService.updateForm(request, formId, formRequest,forceDeleteFlow);
return ResponseEntity.status(HttpStatus.CREATED)
.body(new Response<>(formResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_UPDATED_SUCCESSFULLY)));
@@ -40,6 +55,10 @@ public class FormApiController implements FormApi {
@Override
public ResponseEntity<Response<FormResponseBean>> getFormById(HttpServletRequest request, Long formId) {
/** This code is responsible for creating user action logs for the "Get form by id" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW).actionContext(UserActionContextEnum.GET_FORM).build());
FormResponseBean formResponseBean=formService.getFormById(request,formId);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(formResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FETCHED_SUCCESSFULLY)));
@@ -47,6 +66,10 @@ public class FormApiController implements FormApi {
@Override
public ResponseEntity<Response<Void>> deleteForm(HttpServletRequest request, Long formId) {
/** This code is responsible for creating user action logs for the "delete form" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.DELETE).actionContext(UserActionContextEnum.DELETE_FORM).build());
formService.deleteForm(request,formId);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_DELETED_SUCCESSFULLY)));
@@ -54,6 +77,10 @@ public class FormApiController implements FormApi {
@Override
public ResponseEntity<Response<List<FormResponseBean>>> getFormsByCallId(HttpServletRequest request, Long callId) {
/** This code is responsible for creating user action logs for the "Get forms by call id" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW).actionContext(UserActionContextEnum.GET_FORM).build());
List<FormResponseBean> formResponseBean=formService.getFormsByCallId(request,callId);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(formResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FETCHED_SUCCESSFULLY)));