diff --git a/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/controllers/ABISDataShareController.java b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/controllers/ABISDataShareController.java index 4b6de085..bde44286 100644 --- a/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/controllers/ABISDataShareController.java +++ b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/controllers/ABISDataShareController.java @@ -69,9 +69,7 @@ public ResponseWrapper saveDataShareToken( @RequestBody RequestWrapper requestWrapper, Errors errors) { log.info("sessionId", "idType", "id", "In saveDataShareToken method of ABISDataShareController."); log.info("Recvd request {}", requestWrapper); - ResponseWrapper responseWrapper = new ResponseWrapper<>(); - responseWrapper.setResponse("OK"); - return responseWrapper; + return abisDataShareService.saveDataShareToken(requestWrapper); } @PostMapping(value = "/invalidateDataShareToken") diff --git a/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/entity/AbisDataShareTokenEntity.java b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/entity/AbisDataShareTokenEntity.java new file mode 100644 index 00000000..76609921 --- /dev/null +++ b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/entity/AbisDataShareTokenEntity.java @@ -0,0 +1,33 @@ +package io.mosip.compliance.toolkit.entity; + +import lombok.*; +import org.springframework.stereotype.Component; + +import javax.persistence.*; + +@Component +@Entity +@Table(name = "datashare_tokens", schema = "toolkit") +@Getter +@Setter +@NoArgsConstructor +@ToString +@IdClass(AbisDataShareTokenPK.class) +public class AbisDataShareTokenEntity { + @Id + @Column(name = "partner_id") + private String partnerId; + @Id + @Column(name = "testcase_id") + private String testCaseId; + @Id + @Column(name = "testrun_id") + private String testRunId; + @Column(name = "token") + private String token; + @Column(name = "result") + private String result = ""; + + public AbisDataShareTokenEntity(String partnerId, String ctkTestCaseId, String ctkTestRunId, String token) { + } +} diff --git a/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/entity/AbisDataShareTokenPK.java b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/entity/AbisDataShareTokenPK.java new file mode 100644 index 00000000..8dd320ba --- /dev/null +++ b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/entity/AbisDataShareTokenPK.java @@ -0,0 +1,18 @@ +package io.mosip.compliance.toolkit.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class AbisDataShareTokenPK implements Serializable { + private String partnerId; + private String testCaseId; + private String testRunId; +} diff --git a/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/repository/AbisDataShareTokenRepository.java b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/repository/AbisDataShareTokenRepository.java new file mode 100644 index 00000000..3288a895 --- /dev/null +++ b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/repository/AbisDataShareTokenRepository.java @@ -0,0 +1,9 @@ +package io.mosip.compliance.toolkit.repository; + +import io.mosip.compliance.toolkit.entity.AbisDataShareTokenEntity; +import io.mosip.kernel.core.dataaccess.spi.repository.BaseRepository; +import org.springframework.stereotype.Repository; + +@Repository("AbisDataShareTokenRepository") +public interface AbisDataShareTokenRepository extends BaseRepository { +} diff --git a/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/service/ABISDataShareService.java b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/service/ABISDataShareService.java index 93ae16ae..818af65b 100644 --- a/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/service/ABISDataShareService.java +++ b/mosip-compliance-toolkit/src/main/java/io/mosip/compliance/toolkit/service/ABISDataShareService.java @@ -6,9 +6,14 @@ import java.io.InputStream; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Objects; +import io.mosip.compliance.toolkit.dto.abis.*; +import io.mosip.compliance.toolkit.entity.AbisDataShareTokenEntity; +import io.mosip.compliance.toolkit.repository.AbisDataShareTokenRepository; +import io.mosip.kernel.core.http.RequestWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.core.context.SecurityContextHolder; @@ -18,10 +23,6 @@ import io.mosip.compliance.toolkit.constants.AppConstants; import io.mosip.compliance.toolkit.constants.ProjectTypes; import io.mosip.compliance.toolkit.constants.ToolkitErrorCodes; -import io.mosip.compliance.toolkit.dto.abis.DataShareExpireRequest; -import io.mosip.compliance.toolkit.dto.abis.DataShareRequestDto; -import io.mosip.compliance.toolkit.dto.abis.DataShareResponseDto; -import io.mosip.compliance.toolkit.dto.abis.DataShareResponseWrapperDto; import io.mosip.compliance.toolkit.repository.BiometricTestDataRepository; import io.mosip.compliance.toolkit.util.KeyManagerHelper; import io.mosip.compliance.toolkit.util.ObjectMapperConfig; @@ -54,6 +55,9 @@ public class ABISDataShareService { @Autowired BiometricTestDataRepository biometricTestDataRepository; + @Autowired + AbisDataShareTokenRepository abisDataShareTokenRepository; + @Autowired TestCasesService testCasesService; @@ -237,4 +241,23 @@ public ResponseWrapper expireDataShareUrl(DataShareExpireRequest reques return responseWrapper; } + public ResponseWrapper saveDataShareToken(RequestWrapper requestWrapper) { + ResponseWrapper responseWrapper = new ResponseWrapper<>(); + AbisDataShareTokenEntity abisDataShareTokenEntity = new AbisDataShareTokenEntity(); + abisDataShareTokenEntity.setPartnerId(requestWrapper.getRequest().getPartnerId()); + abisDataShareTokenEntity.setTestCaseId(requestWrapper.getRequest().getCtkTestCaseId()); + abisDataShareTokenEntity.setTestRunId(requestWrapper.getRequest().getCtkTestRunId()); + abisDataShareTokenEntity.setToken(requestWrapper.getRequest().getToken()); + try { + AbisDataShareTokenEntity savedEntity = abisDataShareTokenRepository.save(abisDataShareTokenEntity); + } catch (Exception ex) { + responseWrapper.setResponse(AppConstants.FAILURE); + ServiceError serviceError = new ServiceError(); + serviceError.setMessage(ex.getLocalizedMessage()); + responseWrapper.setErrors(Collections.singletonList(serviceError)); + } + responseWrapper.setResponse(AppConstants.SUCCESS); + return responseWrapper; + } + }