From 41162a430bfde7320569a0887bfdb6ed73a38729 Mon Sep 17 00:00:00 2001
From: Amoghavarsh <93114621+5Amogh@users.noreply.github.com>
Date: Thu, 25 Sep 2025 10:31:49 +0530
Subject: [PATCH 1/2] Update pom.xml
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 13df3f5..368e9ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
com.iemr.admin
admin-api
- 3.4.0
+ 3.5.0
war
Admin-API
Admin Page
From 27241e13b9ead18a03456c8997b3934debc3c1ae Mon Sep 17 00:00:00 2001
From: SnehaRH <77656297+snehar-nd@users.noreply.github.com>
Date: Fri, 26 Sep 2025 14:14:41 +0530
Subject: [PATCH 2/2] Cherry-pick the commits related to 3.5.0 form 3.6.0
(#106)
* Compile error resolved
* fix: cherry pic the #101 pr
* fix: cherry pic the #101 pr
* Main branch changes missed
* fix: cherry pic the #103 pr
* fix: cherry pic the #104 pr
* fix: cherry pic the #104 pr
* fix: cherry pick the #104 pr
* fix code rabbit comments
---------
Co-authored-by: Ravi Shanigarapu
---
.../EmployeeMasterController.java | 2 +-
.../EmployeeSignatureController.java | 53 +++++++++++++------
.../EmployeeSignatureServiceImpl.java | 14 +++++
3 files changed, 53 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/iemr/admin/controller/employeemaster/EmployeeMasterController.java b/src/main/java/com/iemr/admin/controller/employeemaster/EmployeeMasterController.java
index b02e2c9..ffe6dcd 100644
--- a/src/main/java/com/iemr/admin/controller/employeemaster/EmployeeMasterController.java
+++ b/src/main/java/com/iemr/admin/controller/employeemaster/EmployeeMasterController.java
@@ -1051,7 +1051,7 @@ public String getEmployeeByDesignation(@RequestBody String getDesignation) {
ArrayList employeeBydesiganation = employeeMasterInter.getEmployeeByDesiganationID(
employeeMaster.getDesignationID(), employeeMaster1.getServiceProviderID());
-
+
response.setResponse(employeeBydesiganation.toString());
} catch (Exception e) {
diff --git a/src/main/java/com/iemr/admin/controller/employeemaster/EmployeeSignatureController.java b/src/main/java/com/iemr/admin/controller/employeemaster/EmployeeSignatureController.java
index bd4a62d..22826e0 100644
--- a/src/main/java/com/iemr/admin/controller/employeemaster/EmployeeSignatureController.java
+++ b/src/main/java/com/iemr/admin/controller/employeemaster/EmployeeSignatureController.java
@@ -21,17 +21,22 @@
*/
package com.iemr.admin.controller.employeemaster;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.util.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.PropertySource;
+import org.springframework.http.ContentDisposition;
import org.springframework.http.HttpHeaders;
+import org.springframework.http.InvalidMediaTypeException;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@@ -39,10 +44,10 @@
import com.iemr.admin.data.employeemaster.EmployeeSignature;
import com.iemr.admin.service.employeemaster.EmployeeSignatureServiceImpl;
-import com.iemr.admin.utils.mapper.InputMapper;
import com.iemr.admin.utils.response.OutputResponse;
import io.swagger.v3.oas.annotations.Operation;
+import jakarta.servlet.http.HttpServletRequest;
@PropertySource("classpath:application.properties")
@@ -54,12 +59,10 @@ public class EmployeeSignatureController {
@Autowired
EmployeeSignatureServiceImpl employeeSignatureServiceImpl;
- private InputMapper inputMapper = new InputMapper();
-
private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
@Operation(summary = "Upload")
- @RequestMapping(value = "/upload", headers = "Authorization", method = { RequestMethod.POST }, produces = {
+ @PostMapping(value = "/upload", headers = "Authorization", produces = {
"application/json" })
public String uploadFile(@RequestBody EmployeeSignature emp) {
OutputResponse response = new OutputResponse();
@@ -83,22 +86,27 @@ public String uploadFile(@RequestBody EmployeeSignature emp) {
}
@Operation(summary = "User id")
- @RequestMapping(value = "/{userID}", headers = "Authorization", method = { RequestMethod.GET })
+ @GetMapping(value = "/{userID}", headers = "Authorization")
public ResponseEntity fetchFile(@PathVariable("userID") Long userID) throws Exception {
- OutputResponse response = new OutputResponse();
logger.debug("File download for userID" + userID);
try {
EmployeeSignature userSignID = employeeSignatureServiceImpl.fetchSignature(userID);
HttpHeaders responseHeaders = new HttpHeaders();
- responseHeaders.set(HttpHeaders.CONTENT_DISPOSITION,
- "inline; filename=\"" + userSignID.getFileName() + "\"");
- responseHeaders.set("filename", userSignID.getFileName());
-
- return ResponseEntity.ok().contentType(MediaType.parseMediaType(userSignID.getFileType()))
- .headers(responseHeaders).body(userSignID.getSignature());
-
+ ContentDisposition cd = ContentDisposition.attachment()
+ .filename(userSignID.getFileName(), StandardCharsets.UTF_8).build();
+ responseHeaders.setContentDisposition(cd);
+
+ MediaType mediaType;
+ try {
+ mediaType = MediaType.parseMediaType(userSignID.getFileType());
+ } catch (InvalidMediaTypeException | NullPointerException e) {
+ mediaType = MediaType.APPLICATION_OCTET_STREAM;
+ }
+ byte[] fileBytes = userSignID.getSignature(); // MUST be byte[]
+ return ResponseEntity.ok().headers(responseHeaders).contentType(mediaType).contentLength(fileBytes.length)
+ .body(fileBytes);
} catch (Exception e) {
logger.error("Unexpected error:", e);
logger.error("File download for userID failed with exception " + e.getMessage(), e);
@@ -128,4 +136,19 @@ public String existFile(@PathVariable("userID") Long userID) throws Exception {
logger.debug("response" + response);
return response.toString();
}
-}
+
+ @Operation(summary = "Active or DeActive user Signature")
+ @PostMapping(value = "/activateOrdeActivateSignature", headers = "Authorization", produces = { "application/json" })
+ public String ActivateUser(@RequestBody String activateUser, HttpServletRequest request) {
+ OutputResponse response = new OutputResponse();
+ try {
+ EmployeeSignature empSignature = employeeSignatureServiceImpl.updateUserSignatureStatus(activateUser);
+ boolean active = empSignature.getDeleted() == null ? false : !empSignature.getDeleted();
+ response.setResponse("{\"userID\":" + empSignature.getUserID() + ",\"active\":" + active + "}");
+ } catch (Exception e) {
+ logger.error("Active or Deactivate User Signature failed with exception " + e.getMessage(), e);
+ response.setError(e);
+ }
+ return response.toString();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/iemr/admin/service/employeemaster/EmployeeSignatureServiceImpl.java b/src/main/java/com/iemr/admin/service/employeemaster/EmployeeSignatureServiceImpl.java
index 2505576..b6a42a2 100644
--- a/src/main/java/com/iemr/admin/service/employeemaster/EmployeeSignatureServiceImpl.java
+++ b/src/main/java/com/iemr/admin/service/employeemaster/EmployeeSignatureServiceImpl.java
@@ -26,6 +26,7 @@
import com.iemr.admin.data.employeemaster.EmployeeSignature;
import com.iemr.admin.repo.employeemaster.EmployeeSignatureRepo;
+import org.json.JSONObject;
@Service
public class EmployeeSignatureServiceImpl implements EmployeeSignatureService {
@@ -67,4 +68,17 @@ public Boolean existSignature(Long userID) {
return employeeSignatureRepo.countByUserIDAndSignatureNotNull(userID)>0;
}
+ @Override
+ public EmployeeSignature updateUserSignatureStatus(String activateUser) {
+ JSONObject obj = new JSONObject(activateUser);
+ Long userID = obj.getLong("userID");
+ // String role = obj.getString("role");
+ boolean active = obj.getBoolean("active");
+ EmployeeSignature signature = employeeSignatureRepo.findOneByUserID(userID);
+ if (signature == null) {
+ throw new IllegalArgumentException("No signature found for userID: " + userID);
+ }
+ signature.setDeleted(!active);
+ return employeeSignatureRepo.save(signature);
+ }
}