diff --git a/.github/workflows/push-trigger.yml b/.github/workflows/push-trigger.yml index 399a7952235..c2e7dcb3794 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: 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 3ebf5e93c74..b24cc6fce01 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 00000000000..6944a5d9e27 --- /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 08f2daf8871..a1018555d18 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 71603012841..5855a515d33 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 @@ -24,6 +24,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 +60,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 +118,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 +223,42 @@ 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()) { + 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; + } 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 1aaa2df06ea..f2dfe0d3b86 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-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 f0d1009ed4c..51513d99652 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-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