From 4e73e06d20fdc1baf4e22f333bbcc65d25cbac38 Mon Sep 17 00:00:00 2001
From: Darshan Nagesh <darshan.nagesh@tarento.com>
Date: Tue, 29 Mar 2022 10:41:34 +0530
Subject: [PATCH] Adding Plain Form API endpoint

---
 .../controllers/FormsController.java            | 17 +++++++++++++++++
 .../com/tarento/formservice/dao/FormsDao.java   |  2 ++
 .../formservice/dao/impl/FormsDaoImpl.java      |  8 +++++++-
 .../formservice/service/FormsService.java       |  2 ++
 .../service/impl/FormsServiceImpl.java          | 12 ++++++++++++
 .../tarento/formservice/utils/PathRoutes.java   |  1 +
 6 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/src/main/java/com/tarento/formservice/controllers/FormsController.java b/src/main/java/com/tarento/formservice/controllers/FormsController.java
index 0767741..34fe52f 100644
--- a/src/main/java/com/tarento/formservice/controllers/FormsController.java
+++ b/src/main/java/com/tarento/formservice/controllers/FormsController.java
@@ -440,4 +440,21 @@ public class FormsController {
 		}
 		return ResponseGenerator.failureResponse();
 	}
+	
+	@PostMapping(value = PathRoutes.FormServiceApi.SAVE_PLAIN_FORM)
+	public String savePlainForm(@RequestBody IncomingData incomingData) throws IOException {
+		try {
+			if(incomingData != null) {
+				incomingData.setFormId(9999l);
+				if (formsService.savePlainForm(incomingData)) {
+					return ResponseGenerator.successResponse(Boolean.TRUE);
+				}
+			}
+			
+		} catch (Exception e) {
+			logger.error(String.format(Constants.EXCEPTION, "savePlainForm", e.getMessage()));
+			return ResponseGenerator.failureResponse(Constants.ResponseMessages.CHECK_REQUEST_PARAMS);
+		}
+		return ResponseGenerator.failureResponse();
+	}
 }
diff --git a/src/main/java/com/tarento/formservice/dao/FormsDao.java b/src/main/java/com/tarento/formservice/dao/FormsDao.java
index e31d5c3..30decee 100644
--- a/src/main/java/com/tarento/formservice/dao/FormsDao.java
+++ b/src/main/java/com/tarento/formservice/dao/FormsDao.java
@@ -25,6 +25,8 @@ public interface FormsDao {
 
 	public Boolean addFormData(IncomingData incomingData);
 
+	public Boolean addPlainFormData(IncomingData incomingData); 
+
 	Boolean updateFormData(Map<String, Object> jsonMap, String id);
 
 	Boolean updateFormData(Object object, String id);
diff --git a/src/main/java/com/tarento/formservice/dao/impl/FormsDaoImpl.java b/src/main/java/com/tarento/formservice/dao/impl/FormsDaoImpl.java
index 3432362..244db1c 100644
--- a/src/main/java/com/tarento/formservice/dao/impl/FormsDaoImpl.java
+++ b/src/main/java/com/tarento/formservice/dao/impl/FormsDaoImpl.java
@@ -63,7 +63,13 @@ public class FormsDaoImpl implements FormsDao {
 		incomingData.setApplicationId(RandomStringUtils.random(15, Boolean.TRUE, Boolean.TRUE));
 		return elasticsearchRepo.writeDatatoElastic(incomingData, incomingData.getApplicationId(),
 				appConfig.getFormDataIndex(), appConfig.getFormIndexType());
-
+	}
+	
+	@Override
+	public Boolean addPlainFormData(IncomingData incomingData) {
+		incomingData.setApplicationId(RandomStringUtils.random(15, Boolean.TRUE, Boolean.TRUE));
+		return elasticsearchRepo.writeDatatoElastic(incomingData, incomingData.getApplicationId(),
+				"fs-plain-form", "forms");
 	}
 
 	@Override
diff --git a/src/main/java/com/tarento/formservice/service/FormsService.java b/src/main/java/com/tarento/formservice/service/FormsService.java
index f65b337..9ee7bb9 100644
--- a/src/main/java/com/tarento/formservice/service/FormsService.java
+++ b/src/main/java/com/tarento/formservice/service/FormsService.java
@@ -42,6 +42,8 @@ public interface FormsService {
 	KeyValueList getApplicationsStatusCount(UserInfo userInfo);
 
 	public Boolean saveFormSubmitv1(IncomingData incomingData, UserInfo userInfo, String action);
+	
+	public Boolean savePlainForm(IncomingData incomingData);
 
 	public String fileUpload(MultipartFile multipartFile, String folderName);
 
diff --git a/src/main/java/com/tarento/formservice/service/impl/FormsServiceImpl.java b/src/main/java/com/tarento/formservice/service/impl/FormsServiceImpl.java
index 41183a1..edcc6e5 100644
--- a/src/main/java/com/tarento/formservice/service/impl/FormsServiceImpl.java
+++ b/src/main/java/com/tarento/formservice/service/impl/FormsServiceImpl.java
@@ -619,6 +619,18 @@ public class FormsServiceImpl implements FormsService {
 		return indexed;
 	}
 
+	@Override
+	public Boolean savePlainForm(IncomingData incomingData) {
+		Boolean indexed = null; 
+		try {
+				indexed = formsDao.addPlainFormData(incomingData);
+		} catch (Exception e) {
+			LOGGER.error(String.format(Constants.EXCEPTION, "savePlainForm", e.getMessage()));
+		}
+		return indexed;
+	}
+
+	
 	@Override
 	public Map<String, Object> getApplicationById(String applicationId, UserInfo userInfo) {
 		SearchRequestDto searchRequestDto = new SearchRequestDto();
diff --git a/src/main/java/com/tarento/formservice/utils/PathRoutes.java b/src/main/java/com/tarento/formservice/utils/PathRoutes.java
index 6b63ed3..04023c4 100644
--- a/src/main/java/com/tarento/formservice/utils/PathRoutes.java
+++ b/src/main/java/com/tarento/formservice/utils/PathRoutes.java
@@ -27,6 +27,7 @@ public interface PathRoutes {
 		final String GET_ALL_FORM_STATUS = "/getAllFormStatus";
 		final String SUBMIT_BULK_INSPECTION = "/submitBulkInspection";
 		final String CONSENT_BULK_APPLICATION = "/consentBulkApplication";
+		final String SAVE_PLAIN_FORM = "/v1/savePlainForm";
 	}
 
 	public interface JsonFormServiceApi {
-- 
GitLab