From 154e69264c39a7378ac97d770f4bc9b944d87b2f Mon Sep 17 00:00:00 2001 From: "jagadeesh.t" Date: Thu, 11 Dec 2025 18:29:54 +0530 Subject: [PATCH 1/5] Added new api for packet send to perso --- .../PacketUpdateStatusController.java | 20 +++++++ .../dto/PacketSendToPersoResponseDto.java | 9 +++ .../service/PacketStatusUpdateService.java | 3 + .../impl/PacketStatusUpdateServiceImpl.java | 59 +++++++++++++++++++ .../resources/application-local1.properties | 1 + .../resources/application-test.properties | 1 + 6 files changed, 93 insertions(+) create mode 100644 admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/dto/PacketSendToPersoResponseDto.java diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/controller/PacketUpdateStatusController.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/controller/PacketUpdateStatusController.java index 3ebf5e93c7..b24cc6fce0 100644 --- a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/controller/PacketUpdateStatusController.java +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/controller/PacketUpdateStatusController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RestController; import io.mosip.admin.packetstatusupdater.dto.PacketResumeUpdateResponseDto; +import io.mosip.admin.packetstatusupdater.dto.PacketSendToPersoResponseDto; import io.mosip.admin.packetstatusupdater.dto.PacketStatusUpdateResponseDto; import io.mosip.admin.packetstatusupdater.service.PacketStatusUpdateService; import io.mosip.admin.packetstatusupdater.util.AuditUtil; @@ -70,4 +71,23 @@ public ResponseWrapper resumePacket(@RequestParam return responseWrapper; } + + /** + * Validate packet. + * + * @param rId the r id + * @return the response wrapper + */ + @PreAuthorize("hasAnyRole(@authorizedRoles.getGetpacketstatusupdate())") + @PostMapping(value = { "/sentToPerso" }, consumes = { "multipart/form-data" }) + //@PreAuthorize("hasAnyRole('ZONAL_ADMIN','GLOBAL_ADMIN')") + public ResponseWrapper sentPacketCardToPerso(@RequestParam(value = "rid") String rId, + @RequestParam(value = "langCode", required = false) String langCode) { + auditUtil.setAuditRequestDto(EventEnum.getEventEnumWithValue(EventEnum.PKT_STATUS_UPD_API_CALLED, rId), null); + ResponseWrapper responseWrapper = new ResponseWrapper<>(); + responseWrapper.setResponse(packetUpdateStatusService.sentPacketCardToPerso(rId, langCode)); + auditUtil.setAuditRequestDto(EventEnum.getEventEnumWithValue(EventEnum.PKT_STATUS_UPD_SUCCESS, rId), null); + return responseWrapper; + + } } diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/dto/PacketSendToPersoResponseDto.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/dto/PacketSendToPersoResponseDto.java new file mode 100644 index 0000000000..6944a5d9e2 --- /dev/null +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/dto/PacketSendToPersoResponseDto.java @@ -0,0 +1,9 @@ +package io.mosip.admin.packetstatusupdater.dto; + +import lombok.Data; + +@Data +public class PacketSendToPersoResponseDto { + + private String message; +} diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/PacketStatusUpdateService.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/PacketStatusUpdateService.java index 08f2daf887..a1018555d1 100644 --- a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/PacketStatusUpdateService.java +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/PacketStatusUpdateService.java @@ -1,6 +1,7 @@ package io.mosip.admin.packetstatusupdater.service; import io.mosip.admin.packetstatusupdater.dto.PacketResumeUpdateResponseDto; +import io.mosip.admin.packetstatusupdater.dto.PacketSendToPersoResponseDto; import io.mosip.admin.packetstatusupdater.dto.PacketStatusUpdateResponseDto; /** @@ -20,4 +21,6 @@ public interface PacketStatusUpdateService { public PacketStatusUpdateResponseDto getStatus(String rid, String langCode); public PacketResumeUpdateResponseDto updatePacket(String rid, String langCode); + + public PacketSendToPersoResponseDto sentPacketCardToPerso(String rid, String langCode); } diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java index 7160301284..6424fc6d96 100644 --- a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java @@ -8,6 +8,8 @@ import java.util.Map; import java.util.Properties; +import javax.smartcardio.Card; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.env.Environment; @@ -24,6 +26,7 @@ import io.mosip.admin.packetstatusupdater.constant.PacketStatusUpdateErrorCode; import io.mosip.admin.packetstatusupdater.dto.PacketResumeUpdateResponseDto; +import io.mosip.admin.packetstatusupdater.dto.PacketSendToPersoResponseDto; import io.mosip.admin.packetstatusupdater.dto.PacketStatusUpdateDto; import io.mosip.admin.packetstatusupdater.dto.PacketStatusUpdateResponseDto; import io.mosip.admin.packetstatusupdater.exception.MasterDataServiceException; @@ -59,6 +62,10 @@ public class PacketStatusUpdateServiceImpl implements PacketStatusUpdateService /** The packet update status url. */ @Value("${mosip.admin.packet-resume-update-url}") private String packetResumeUpdateUrl; + + /** The packet send card to perso. */ + @Value("${mosip.admin.packet-send-to-perso-url}") + private String packetSendToPerso; /** The zone validation url. */ @Value("${mosip.kernel.zone-validation-url}") @@ -113,6 +120,18 @@ public PacketResumeUpdateResponseDto updatePacket(String rId, String langCode) { auditUtil.setAuditRequestDto(EventEnum.PACKET_STATUS,null); return updatePacketResume(rId); } + + /* + * (non-Javadoc) + * + * @see io.mosip.admin.packetstatusupdater.service.PacketStatusUpdateService# + * sent packet to perso(java.lang.String) + */ + @Override + public PacketSendToPersoResponseDto sentPacketCardToPerso(String rId, String langCode) { + auditUtil.setAuditRequestDto(EventEnum.PACKET_STATUS,null); + return sendPacket(rId); + } /** * Gets the packet status. @@ -206,6 +225,46 @@ private PacketResumeUpdateResponseDto updatePacketResume(String rId) { ); } + /** + * Gets the packet status. + * + * @param rId + * + * @return the send packet to perso + */ + @SuppressWarnings({ "unchecked" }) + private PacketSendToPersoResponseDto sendPacket(String rId) { + try { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + HttpEntity entity = new HttpEntity<>(headers); + UriComponentsBuilder urlBuilder = UriComponentsBuilder.fromUriString(packetSendToPerso) + .path(rId); + logger.info("Calling Regproc API: {}", urlBuilder.toUriString()); + ResponseEntity response = restTemplate.postForEntity(urlBuilder.toUriString(), entity, String.class); + logger.info("RegProc raw response: {}", response.getBody()); + if (response.getStatusCode().is2xxSuccessful()) { + ResponseWrapper wrapper = objectMapper.readValue(response.getBody(), + new TypeReference>() {} + ); + String regprocMessage = wrapper.getResponse(); + PacketSendToPersoResponseDto regProcPacketStatusRequestDto = new PacketSendToPersoResponseDto(); + regProcPacketStatusRequestDto.setMessage(regprocMessage); + return regProcPacketStatusRequestDto; + } + } catch (RequestException e) { + logger.error("SESSIONID", "ADMIN-SERVICE", "ADMIN-SERVICE", e.getMessage() + ExceptionUtils.getStackTrace(e)); + throw e; + } catch (Exception e) { + logger.error("SESSIONID", "ADMIN-SERVICE", "ADMIN-SERVICE", e.getMessage() + ExceptionUtils.getStackTrace(e)); + throw new MasterDataServiceException(PacketStatusUpdateErrorCode.PACKET_FETCH_EXCEPTION.getErrorCode(), + PacketStatusUpdateErrorCode.PACKET_FETCH_EXCEPTION.getErrorMessage(),e); + } + auditUtil.setAuditRequestDto(EventEnum.getEventEnumWithValue(EventEnum.PACKET_STATUS_ERROR, rId), null); + throw new RequestException(PacketStatusUpdateErrorCode.PACKET_FETCH_EXCEPTION.getErrorCode(), + PacketStatusUpdateErrorCode.PACKET_FETCH_EXCEPTION.getErrorMessage() + ); + } /** * Gets the packet response. diff --git a/admin/admin-service/src/main/resources/application-local1.properties b/admin/admin-service/src/main/resources/application-local1.properties index 1aaa2df06e..e36128c17d 100644 --- a/admin/admin-service/src/main/resources/application-local1.properties +++ b/admin/admin-service/src/main/resources/application-local1.properties @@ -196,6 +196,7 @@ mosip.admin.resource.pages = 5,10,15,20,25,30,35,40,45,50 mosip.kernel.packet-status-update-url=https://dev.mosip.net/registrationprocessor/v1/registrationtransaction/search/ mosip.admin.packet-resume-update-url=https://dev.mosip.net/registrationprocessor/v1/registrationtransaction/prioritize/ +mosip.admin.packet-resume-update-url=https://dev.mosip.net/v1/print/print/sendCardToPerso/ mosip.kernel.zone-validation-url=https://dev.mosip.net/v1/masterdata/zones/authorize mosip.kernel.registrationcenterid.length=5 javax.persistence.jdbc.url=jdbc:postgresql://dev.mosip.net:30090/mosip_master diff --git a/admin/admin-service/src/test/resources/application-test.properties b/admin/admin-service/src/test/resources/application-test.properties index f0d1009ed4..e2df9c68dc 100644 --- a/admin/admin-service/src/test/resources/application-test.properties +++ b/admin/admin-service/src/test/resources/application-test.properties @@ -267,6 +267,7 @@ mosip.admin.packetstatus.api.statuscode=PROCESSING mosip.admin.packetstatus.api.packetId=mosip.registration.status mosip.kernel.packet-status-update-url=https://dev.mosip.io/registrationprocessor/v1/registrationtransaction/search/ mosip.admin.packet-resume-update-url=https://dev.mosip.net/registrationprocessor/v1/registrationtransaction/prioritize/ +mosip.admin.packet-resume-update-url=https://dev.mosip.net/v1/print/print/sendCardToPerso/ mosip.kernel.zone-validation-url=https://dev.mosip.io/v1/masterdata/zones/authorize mosip.kernel.registrationcenterid.length=5 From 05ae06c6a46b2256a5c03e9bd162d06e25147401 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Thu, 11 Dec 2025 18:32:51 +0530 Subject: [PATCH 2/5] Update push-trigger.yml --- .github/workflows/push-trigger.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push-trigger.yml b/.github/workflows/push-trigger.yml index 399a795223..c2e7dcb379 100644 --- a/.github/workflows/push-trigger.yml +++ b/.github/workflows/push-trigger.yml @@ -21,6 +21,7 @@ on: - develop - MOSIP* - tf_nira_dev + - digital_card jobs: build-maven-admin-services: From a0a43519ad82854436f5fcba1690223a14fb1aea Mon Sep 17 00:00:00 2001 From: "jagadeesh.t" Date: Thu, 11 Dec 2025 18:46:23 +0530 Subject: [PATCH 3/5] updated properties --- .../src/main/resources/application-local1.properties | 2 +- .../src/test/resources/application-test.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/admin-service/src/main/resources/application-local1.properties b/admin/admin-service/src/main/resources/application-local1.properties index e36128c17d..f2dfe0d3b8 100644 --- a/admin/admin-service/src/main/resources/application-local1.properties +++ b/admin/admin-service/src/main/resources/application-local1.properties @@ -196,7 +196,7 @@ mosip.admin.resource.pages = 5,10,15,20,25,30,35,40,45,50 mosip.kernel.packet-status-update-url=https://dev.mosip.net/registrationprocessor/v1/registrationtransaction/search/ mosip.admin.packet-resume-update-url=https://dev.mosip.net/registrationprocessor/v1/registrationtransaction/prioritize/ -mosip.admin.packet-resume-update-url=https://dev.mosip.net/v1/print/print/sendCardToPerso/ +mosip.admin.packet-send-to-perso-url=https://dev.mosip.net/v1/print/print/sendCardToPerso/ mosip.kernel.zone-validation-url=https://dev.mosip.net/v1/masterdata/zones/authorize mosip.kernel.registrationcenterid.length=5 javax.persistence.jdbc.url=jdbc:postgresql://dev.mosip.net:30090/mosip_master diff --git a/admin/admin-service/src/test/resources/application-test.properties b/admin/admin-service/src/test/resources/application-test.properties index e2df9c68dc..51513d9965 100644 --- a/admin/admin-service/src/test/resources/application-test.properties +++ b/admin/admin-service/src/test/resources/application-test.properties @@ -267,7 +267,7 @@ mosip.admin.packetstatus.api.statuscode=PROCESSING mosip.admin.packetstatus.api.packetId=mosip.registration.status mosip.kernel.packet-status-update-url=https://dev.mosip.io/registrationprocessor/v1/registrationtransaction/search/ mosip.admin.packet-resume-update-url=https://dev.mosip.net/registrationprocessor/v1/registrationtransaction/prioritize/ -mosip.admin.packet-resume-update-url=https://dev.mosip.net/v1/print/print/sendCardToPerso/ +mosip.admin.packet-send-to-perso-url=https://dev.mosip.net/v1/print/print/sendCardToPerso/ mosip.kernel.zone-validation-url=https://dev.mosip.io/v1/masterdata/zones/authorize mosip.kernel.registrationcenterid.length=5 From 9d2f4205e685eabc34fa1c4f8f50deda995b65f8 Mon Sep 17 00:00:00 2001 From: "jagadeesh.t" Date: Fri, 12 Dec 2025 17:29:32 +0530 Subject: [PATCH 4/5] updated --- .../service/impl/PacketStatusUpdateServiceImpl.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java index 6424fc6d96..0ceede0464 100644 --- a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java @@ -244,13 +244,10 @@ private PacketSendToPersoResponseDto sendPacket(String rId) { ResponseEntity response = restTemplate.postForEntity(urlBuilder.toUriString(), entity, String.class); logger.info("RegProc raw response: {}", response.getBody()); if (response.getStatusCode().is2xxSuccessful()) { - ResponseWrapper wrapper = objectMapper.readValue(response.getBody(), - new TypeReference>() {} - ); - String regprocMessage = wrapper.getResponse(); - PacketSendToPersoResponseDto regProcPacketStatusRequestDto = new PacketSendToPersoResponseDto(); - regProcPacketStatusRequestDto.setMessage(regprocMessage); - return regProcPacketStatusRequestDto; + String regprocMessage = response.getBody(); // direct string + PacketSendToPersoResponseDto dto = new PacketSendToPersoResponseDto(); + dto.setMessage(regprocMessage); + return dto; } } catch (RequestException e) { logger.error("SESSIONID", "ADMIN-SERVICE", "ADMIN-SERVICE", e.getMessage() + ExceptionUtils.getStackTrace(e)); From 4bc214f5d3d181c5499f9d8e1d2a60838a50362e Mon Sep 17 00:00:00 2001 From: "jagadeesh.t" Date: Fri, 12 Dec 2025 17:52:33 +0530 Subject: [PATCH 5/5] Updated --- .../service/impl/PacketStatusUpdateServiceImpl.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java index 0ceede0464..5855a515d3 100644 --- a/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java +++ b/admin/admin-service/src/main/java/io/mosip/admin/packetstatusupdater/service/impl/PacketStatusUpdateServiceImpl.java @@ -8,8 +8,6 @@ import java.util.Map; import java.util.Properties; -import javax.smartcardio.Card; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.env.Environment; @@ -244,11 +242,10 @@ private PacketSendToPersoResponseDto sendPacket(String rId) { ResponseEntity response = restTemplate.postForEntity(urlBuilder.toUriString(), entity, String.class); logger.info("RegProc raw response: {}", response.getBody()); if (response.getStatusCode().is2xxSuccessful()) { - String regprocMessage = response.getBody(); // direct string - PacketSendToPersoResponseDto dto = new PacketSendToPersoResponseDto(); - dto.setMessage(regprocMessage); - return dto; - } + PacketSendToPersoResponseDto dto = new PacketSendToPersoResponseDto(); + dto.setMessage(response.getBody()); + return dto; + } } catch (RequestException e) { logger.error("SESSIONID", "ADMIN-SERVICE", "ADMIN-SERVICE", e.getMessage() + ExceptionUtils.getStackTrace(e)); throw e;