From 821d46f108d0ddece74cae67e0149b24d308c408 Mon Sep 17 00:00:00 2001 From: Piyush7034 Date: Tue, 17 Dec 2024 19:29:57 +0530 Subject: [PATCH] [INJICERT-657] Added review changed related to rendering template names and docker Signed-off-by: Piyush7034 --- ...n.java => RenderingTemplateException.java} | 6 +- .../certify/api/dto/RenderingTemplateDTO.java | 13 +++ .../advice/ExceptionHandlerAdvice.java | 4 +- .../mosip/certify/config/TemplatesLoader.java | 93 ---------------- .../RenderingTemplateController.java | 9 +- .../services/CertifyIssuanceServiceImpl.java | 6 +- ...{RenderUtils.java => CredentialUtils.java} | 2 +- .../RenderingTemplateServiceImpl.java | 14 ++- .../spi/RenderingTemplateService.java | 4 +- .../VelocityTemplatingEngineImpl.java | 10 +- .../src/main/resources/svg-template.json | 6 - .../RenderingTemplateControllerTest.java | 19 ++-- .../certify/services/RenderUtilsTest.java | 2 +- .../RenderingTemplateServiceImplTest.java | 7 +- .../resources/application-test.properties | 1 - .../src/test/resources/svg-template.json | 6 - .../docker-compose-certify/certify_init.sql | 92 ---------------- .../config/certify-mock-identity.properties | 103 ------------------ .../certify-sunbird-insurance.properties | 98 ----------------- .../config/certify-csvdp-farmer.properties | 5 +- .../config/farmer_identity_data.csv | 4 +- .../docker-compose.yaml | 11 +- .../docker-compose-injistack/nginx.conf | 22 ++++ 23 files changed, 91 insertions(+), 446 deletions(-) rename certify-core/src/main/java/io/mosip/certify/core/exception/{TemplateException.java => RenderingTemplateException.java} (69%) create mode 100644 certify-integration-api/src/main/java/io/mosip/certify/api/dto/RenderingTemplateDTO.java delete mode 100644 certify-service/src/main/java/io/mosip/certify/config/TemplatesLoader.java rename certify-service/src/main/java/io/mosip/certify/services/{RenderUtils.java => CredentialUtils.java} (97%) delete mode 100644 certify-service/src/main/resources/svg-template.json delete mode 100644 certify-service/src/test/resources/svg-template.json delete mode 100644 docker-compose/docker-compose-certify/certify_init.sql delete mode 100644 docker-compose/docker-compose-certify/config/certify-mock-identity.properties delete mode 100644 docker-compose/docker-compose-certify/config/certify-sunbird-insurance.properties diff --git a/certify-core/src/main/java/io/mosip/certify/core/exception/TemplateException.java b/certify-core/src/main/java/io/mosip/certify/core/exception/RenderingTemplateException.java similarity index 69% rename from certify-core/src/main/java/io/mosip/certify/core/exception/TemplateException.java rename to certify-core/src/main/java/io/mosip/certify/core/exception/RenderingTemplateException.java index cf3e9939..f04579b7 100644 --- a/certify-core/src/main/java/io/mosip/certify/core/exception/TemplateException.java +++ b/certify-core/src/main/java/io/mosip/certify/core/exception/RenderingTemplateException.java @@ -2,15 +2,15 @@ import io.mosip.certify.core.constants.ErrorConstants; -public class TemplateException extends RuntimeException { +public class RenderingTemplateException extends RuntimeException { private String errorCode; - public TemplateException() { + public RenderingTemplateException() { super(ErrorConstants.UNKNOWN_ERROR); this.errorCode = ErrorConstants.UNKNOWN_ERROR; } - public TemplateException(String errorCode) { + public RenderingTemplateException(String errorCode) { super(errorCode); this.errorCode = errorCode; } diff --git a/certify-integration-api/src/main/java/io/mosip/certify/api/dto/RenderingTemplateDTO.java b/certify-integration-api/src/main/java/io/mosip/certify/api/dto/RenderingTemplateDTO.java new file mode 100644 index 00000000..4b720e10 --- /dev/null +++ b/certify-integration-api/src/main/java/io/mosip/certify/api/dto/RenderingTemplateDTO.java @@ -0,0 +1,13 @@ +package io.mosip.certify.api.dto; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class RenderingTemplateDTO { + private String id; + private String template; + private LocalDateTime createdTimes; + private LocalDateTime updatedTimes; +} diff --git a/certify-service/src/main/java/io/mosip/certify/advice/ExceptionHandlerAdvice.java b/certify-service/src/main/java/io/mosip/certify/advice/ExceptionHandlerAdvice.java index 6d0cdfca..e7ca7539 100644 --- a/certify-service/src/main/java/io/mosip/certify/advice/ExceptionHandlerAdvice.java +++ b/certify-service/src/main/java/io/mosip/certify/advice/ExceptionHandlerAdvice.java @@ -11,7 +11,7 @@ import io.mosip.certify.core.exception.CertifyException; import io.mosip.certify.core.exception.InvalidRequestException; import io.mosip.certify.core.exception.NotAuthenticatedException; -import io.mosip.certify.core.exception.TemplateException; +import io.mosip.certify.core.exception.RenderingTemplateException; import io.mosip.certify.core.util.CommonUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.TypeMismatchException; @@ -131,7 +131,7 @@ private ResponseEntity handleInternalControllerException(Except String errorCode = ((CertifyException) ex).getErrorCode(); return new ResponseEntity(getResponseWrapper(errorCode, getMessage(errorCode)), HttpStatus.OK); } - if(ex instanceof TemplateException) { + if(ex instanceof RenderingTemplateException) { return new ResponseEntity<>(getResponseWrapper(INVALID_REQUEST, ex.getMessage()) ,HttpStatus.NOT_FOUND); } if(ex instanceof AuthenticationCredentialsNotFoundException) { diff --git a/certify-service/src/main/java/io/mosip/certify/config/TemplatesLoader.java b/certify-service/src/main/java/io/mosip/certify/config/TemplatesLoader.java deleted file mode 100644 index ea3f5b18..00000000 --- a/certify-service/src/main/java/io/mosip/certify/config/TemplatesLoader.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - */ - -/* This is for temporary purpose till an API isn’t added to simplify Issuer onboarding. */ - -package io.mosip.certify.config; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import io.mosip.certify.services.entity.RenderingTemplate; -import io.mosip.certify.services.repository.RenderingTemplateRepository; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.CommandLineRunner; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.Resource; -import org.springframework.web.client.RestTemplate; - -import java.io.IOException; -import java.nio.file.Files; -import java.time.LocalDateTime; -import java.util.*; - - -@Configuration -@Slf4j -public class TemplatesLoader implements CommandLineRunner { - @Autowired - RenderingTemplateRepository svgRenderTemplateRepository; - - @Value("${mosip.certify.rendering-templates:}") - private String svgTemplateJson; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private RestTemplate restTemplate; - - @Override - public void run(String... args) throws Exception { - Long count = svgRenderTemplateRepository.count(); - if (count != 0) { - return; - } - String svgTemplateContent = ""; - - if(svgTemplateJson.startsWith("http")) { - svgTemplateContent = restTemplate.getForObject(svgTemplateJson, String.class); - } else { - Resource resource = new ClassPathResource(svgTemplateJson); - // TODO: Verify this w.r.t local path - try { - svgTemplateContent = (Files.readString(resource.getFile().toPath())); - } catch (IOException e) { - log.error("Missing local json file for referring svg templates", e); - } - } - - if(!svgTemplateContent.isEmpty()) { - try { - List svgTemplateMap = objectMapper.readValue(svgTemplateContent, List.class); - svgTemplateMap.forEach((value) -> { - RenderingTemplate svgRenderTemplate = new RenderingTemplate(); - LinkedHashMap valueMap = (LinkedHashMap) value; - String id = valueMap.get("id").toString(); - svgRenderTemplate.setId(id); - String templateURI = valueMap.get("content").toString(); - if(templateURI.startsWith("http")) { - String templateFromUrl = restTemplate.getForObject(templateURI, String.class); - svgRenderTemplate.setTemplate(templateFromUrl); - } else { - svgRenderTemplate.setTemplate(templateURI); - } - LocalDateTime localDateTime = LocalDateTime.now(); - svgRenderTemplate.setCreatedtimes(localDateTime); - svgRenderTemplate.setUpdatedtimes(localDateTime); - log.info("Template inserted in svg template table."); - svgRenderTemplateRepository.save(svgRenderTemplate); - }); - } catch (JsonProcessingException e) { - log.error("Missing configuration for svg template content " + e.getMessage()); - } - - } - log.info("=============== CERTIFY TEMPLATE SETUP COMPLETED ==============="); - } -} diff --git a/certify-service/src/main/java/io/mosip/certify/controller/RenderingTemplateController.java b/certify-service/src/main/java/io/mosip/certify/controller/RenderingTemplateController.java index c709439e..41178d55 100644 --- a/certify-service/src/main/java/io/mosip/certify/controller/RenderingTemplateController.java +++ b/certify-service/src/main/java/io/mosip/certify/controller/RenderingTemplateController.java @@ -5,8 +5,9 @@ */ package io.mosip.certify.controller; +import io.mosip.certify.api.dto.RenderingTemplateDTO; import io.mosip.certify.services.entity.RenderingTemplate; -import io.mosip.certify.core.exception.TemplateException; +import io.mosip.certify.core.exception.RenderingTemplateException; import io.mosip.certify.services.spi.RenderingTemplateService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -32,12 +33,12 @@ public class RenderingTemplateController { RenderingTemplateService renderingTemplateService; @GetMapping("/rendering-template/{id}") - public ResponseEntity serveSvgTemplate(@PathVariable String id) throws TemplateException { - RenderingTemplate template = renderingTemplateService.getSvgTemplate(id); + public ResponseEntity serveSvgTemplate(@PathVariable String id) throws RenderingTemplateException { + RenderingTemplateDTO template = renderingTemplateService.getSvgTemplate(id); return ResponseEntity.ok() .header(HttpHeaders.CONTENT_TYPE, "image/svg+xml") .cacheControl(CacheControl.maxAge(maxAgeDays, TimeUnit.DAYS).cachePublic()) - .lastModified(template.getUpdatedtimes().atZone(ZoneId.systemDefault()).toInstant()) + .lastModified(template.getUpdatedTimes().atZone(ZoneId.systemDefault()).toInstant()) .body(template.getTemplate()); } } diff --git a/certify-service/src/main/java/io/mosip/certify/services/CertifyIssuanceServiceImpl.java b/certify-service/src/main/java/io/mosip/certify/services/CertifyIssuanceServiceImpl.java index 203d1fe1..0ae39af1 100644 --- a/certify-service/src/main/java/io/mosip/certify/services/CertifyIssuanceServiceImpl.java +++ b/certify-service/src/main/java/io/mosip/certify/services/CertifyIssuanceServiceImpl.java @@ -75,7 +75,7 @@ public class CertifyIssuanceServiceImpl implements VCIssuanceService { private String issuerURI; @Value("${mosip.certify.data-provider-plugin.rendering-template-id:}") - private String svgTemplateId; + private String renderTemplateId; @Autowired private ProofValidatorFactory proofValidatorFactory; @@ -285,8 +285,8 @@ private VCResult getVerifiableCredential(CredentialRequest credentialRequest, Map templateParams = new HashMap<>(); templateParams.put(VelocityTemplatingConstants.TEMPLATE_NAME, CredentialUtils.getTemplateName(vcRequestDto)); templateParams.put(VelocityTemplatingConstants.ISSUER_URI, issuerURI); - if (!StringUtils.isEmpty(svgTemplateId)) { - templateParams.put(VelocityTemplatingConstants.SVG_TEMPLATE, svgTemplateId); + if (!StringUtils.isEmpty(renderTemplateId)) { + templateParams.put(VelocityTemplatingConstants.SVG_TEMPLATE, renderTemplateId); } String unSignedVC = vcFormatter.format(jsonObject, templateParams); vcResult = vcSigner.attachSignature(unSignedVC); diff --git a/certify-service/src/main/java/io/mosip/certify/services/RenderUtils.java b/certify-service/src/main/java/io/mosip/certify/services/CredentialUtils.java similarity index 97% rename from certify-service/src/main/java/io/mosip/certify/services/RenderUtils.java rename to certify-service/src/main/java/io/mosip/certify/services/CredentialUtils.java index 9e885e34..2234a1ad 100644 --- a/certify-service/src/main/java/io/mosip/certify/services/RenderUtils.java +++ b/certify-service/src/main/java/io/mosip/certify/services/CredentialUtils.java @@ -6,7 +6,7 @@ import io.ipfs.multibase.Multibase; -public class RenderUtils { +public class CredentialUtils { /** * Generate SVG digest for @param svg image as per spec. * ref: https://w3c-ccg.github.io/vc-render-method/#svgrenderingtemplate diff --git a/certify-service/src/main/java/io/mosip/certify/services/RenderingTemplateServiceImpl.java b/certify-service/src/main/java/io/mosip/certify/services/RenderingTemplateServiceImpl.java index bf94e977..edc7c6f5 100644 --- a/certify-service/src/main/java/io/mosip/certify/services/RenderingTemplateServiceImpl.java +++ b/certify-service/src/main/java/io/mosip/certify/services/RenderingTemplateServiceImpl.java @@ -5,9 +5,10 @@ */ package io.mosip.certify.services; +import io.mosip.certify.api.dto.RenderingTemplateDTO; import io.mosip.certify.core.constants.ErrorConstants; import io.mosip.certify.services.entity.RenderingTemplate; -import io.mosip.certify.core.exception.TemplateException; +import io.mosip.certify.core.exception.RenderingTemplateException; import io.mosip.certify.services.repository.RenderingTemplateRepository; import io.mosip.certify.services.spi.RenderingTemplateService; import lombok.extern.slf4j.Slf4j; @@ -24,11 +25,16 @@ public class RenderingTemplateServiceImpl implements RenderingTemplateService { @Override - public RenderingTemplate getSvgTemplate(String id) { + public RenderingTemplateDTO getSvgTemplate(String id) { Optional optional = svgRenderTemplateRepository.findById(id); - RenderingTemplate svgRenderTemplate = optional.orElseThrow(() -> new TemplateException(ErrorConstants.INVALID_TEMPLATE_ID)); + RenderingTemplate renderingTemplate = optional.orElseThrow(() -> new RenderingTemplateException(ErrorConstants.INVALID_TEMPLATE_ID)); + RenderingTemplateDTO renderingTemplateDTO = new RenderingTemplateDTO(); + renderingTemplateDTO.setId(renderingTemplate.getId()); + renderingTemplateDTO.setTemplate(renderingTemplate.getTemplate()); + renderingTemplateDTO.setCreatedTimes(renderingTemplate.getCreatedtimes()); + renderingTemplateDTO.setUpdatedTimes(renderingTemplate.getUpdatedtimes()); - return svgRenderTemplate; + return renderingTemplateDTO; } } diff --git a/certify-service/src/main/java/io/mosip/certify/services/spi/RenderingTemplateService.java b/certify-service/src/main/java/io/mosip/certify/services/spi/RenderingTemplateService.java index da701c01..f2b487c0 100644 --- a/certify-service/src/main/java/io/mosip/certify/services/spi/RenderingTemplateService.java +++ b/certify-service/src/main/java/io/mosip/certify/services/spi/RenderingTemplateService.java @@ -5,9 +5,9 @@ */ package io.mosip.certify.services.spi; -import io.mosip.certify.services.entity.RenderingTemplate; +import io.mosip.certify.api.dto.RenderingTemplateDTO; public interface RenderingTemplateService { - RenderingTemplate getSvgTemplate(String id); + RenderingTemplateDTO getSvgTemplate(String id); } diff --git a/certify-service/src/main/java/io/mosip/certify/services/templating/VelocityTemplatingEngineImpl.java b/certify-service/src/main/java/io/mosip/certify/services/templating/VelocityTemplatingEngineImpl.java index 3127831b..5cc0684f 100644 --- a/certify-service/src/main/java/io/mosip/certify/services/templating/VelocityTemplatingEngineImpl.java +++ b/certify-service/src/main/java/io/mosip/certify/services/templating/VelocityTemplatingEngineImpl.java @@ -16,10 +16,10 @@ import io.mosip.certify.core.constants.Constants; import io.mosip.certify.core.constants.VCDM2Constants; import io.mosip.certify.core.constants.VCDMConstants; -import io.mosip.certify.core.exception.TemplateException; +import io.mosip.certify.core.exception.RenderingTemplateException; import io.mosip.certify.services.repository.TemplateRepository; import io.mosip.certify.services.spi.RenderingTemplateService; -import io.mosip.certify.services.RenderUtils; +import io.mosip.certify.services.CredentialUtils; import jakarta.annotation.PostConstruct; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -83,7 +83,7 @@ public String format(JSONObject valueMap, Map templateSettings) String template = getTemplate(templateName); if (template == null) { log.error("Template {} not found", templateName); - throw new TemplateException("Expected template not found"); + throw new RenderingTemplateException("Expected template not found"); } String issuer = templateSettings.get(ISSUER_URI).toString(); StringWriter writer = new StringWriter(); @@ -117,9 +117,9 @@ public String format(JSONObject valueMap, Map templateSettings) if (templateSettings.containsKey(SVG_TEMPLATE) && templateName.contains(VCDM2Constants.URL)) { try { finalTemplate.put("_renderMethodSVGdigest", - RenderUtils.getDigestMultibase(renderingTemplateService.getSvgTemplate( + CredentialUtils.getDigestMultibase(renderingTemplateService.getSvgTemplate( (String) templateSettings.get(SVG_TEMPLATE)).getTemplate())); - } catch (TemplateException e) { + } catch (RenderingTemplateException e) { log.error("SVG Template: " + templateSettings.get(SVG_TEMPLATE) + " not available in DB", e); } } diff --git a/certify-service/src/main/resources/svg-template.json b/certify-service/src/main/resources/svg-template.json deleted file mode 100644 index 26d50c03..00000000 --- a/certify-service/src/main/resources/svg-template.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "id": "5b9c2a12-810a-7388-2dc8-13ee7ad88bac", - "content": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{credentialSubject/policyName}}\n {{credentialSubject/policyNumber}}\n {{credentialSubject/fullName}}\n {{credentialSubject/gender}}\n {{credentialSubject/email}}\n {{credentialSubject/mobile}}\n\n Policy Issued On\n {{credentialSubject/policyIssuedOn}}\n\n Policy Expires On\n {{credentialSubject/policyExpiresOn}}\n\n Issuance Date On\n {{issuanceDate}}\n\n Expiration Date On\n {{expirationDate}}\n" - } -] \ No newline at end of file diff --git a/certify-service/src/test/java/io/mosip/certify/controller/RenderingTemplateControllerTest.java b/certify-service/src/test/java/io/mosip/certify/controller/RenderingTemplateControllerTest.java index 8fe8b87f..af4457f7 100644 --- a/certify-service/src/test/java/io/mosip/certify/controller/RenderingTemplateControllerTest.java +++ b/certify-service/src/test/java/io/mosip/certify/controller/RenderingTemplateControllerTest.java @@ -1,9 +1,10 @@ package io.mosip.certify.controller; +import io.mosip.certify.api.dto.RenderingTemplateDTO; import io.mosip.certify.core.constants.ErrorConstants; import io.mosip.certify.core.dto.ParsedAccessToken; import io.mosip.certify.services.entity.RenderingTemplate; -import io.mosip.certify.core.exception.TemplateException; +import io.mosip.certify.core.exception.RenderingTemplateException; import io.mosip.certify.services.spi.RenderingTemplateService; import org.junit.Test; import org.junit.runner.RunWith; @@ -32,8 +33,8 @@ public class RenderingTemplateControllerTest { @Test public void getSvgTemplate_withValidId_thenPass() throws Exception { - RenderingTemplate renderingTemplate = new RenderingTemplate(); - renderingTemplate.setId("fake-id"); + RenderingTemplateDTO renderingTemplateDTO = new RenderingTemplateDTO(); + renderingTemplateDTO.setId("fake-id"); String template = """ @@ -41,23 +42,23 @@ public void getSvgTemplate_withValidId_thenPass() throws Exception { Hello, SVG! """; - renderingTemplate.setTemplate(template); + renderingTemplateDTO.setTemplate(template); LocalDateTime date = LocalDateTime.now(); - renderingTemplate.setCreatedtimes(date); - renderingTemplate.setUpdatedtimes(date); + renderingTemplateDTO.setCreatedTimes(date); + renderingTemplateDTO.setUpdatedTimes(date); - Mockito.when(renderingTemplateService.getSvgTemplate(Mockito.any())).thenReturn(renderingTemplate); + Mockito.when(renderingTemplateService.getSvgTemplate(Mockito.any())).thenReturn(renderingTemplateDTO); mockMvc.perform(get("/public/rendering-template/fake-id")) .andExpect(status().isOk()) - .andExpect(content().string(renderingTemplate.getTemplate())) + .andExpect(content().string(renderingTemplateDTO.getTemplate())) .andExpect(content().contentType("image/svg+xml")) .andExpect(header().string("Cache-Control", "max-age=86400, public")); } @Test public void getSvgTemplate_withInValidId_thenFail() throws Exception { - TemplateException templateException = new TemplateException(ErrorConstants.INVALID_TEMPLATE_ID); + RenderingTemplateException templateException = new RenderingTemplateException(ErrorConstants.INVALID_TEMPLATE_ID); Mockito.when(renderingTemplateService.getSvgTemplate("fake-id")).thenThrow(templateException); mockMvc.perform(get("/public/rendering-template/fake-id")) diff --git a/certify-service/src/test/java/io/mosip/certify/services/RenderUtilsTest.java b/certify-service/src/test/java/io/mosip/certify/services/RenderUtilsTest.java index 9ed3aa24..2e89369d 100644 --- a/certify-service/src/test/java/io/mosip/certify/services/RenderUtilsTest.java +++ b/certify-service/src/test/java/io/mosip/certify/services/RenderUtilsTest.java @@ -11,7 +11,7 @@ void getDigestMultibase() { String svg = """ """; - String actual = RenderUtils.getDigestMultibase(svg); + String actual = CredentialUtils.getDigestMultibase(svg); String expected = "z4po9QkJj1fhMt6cxHSnDnAUat4PEVrerUGGsPHLxJnK5"; assertEquals(expected, actual); } diff --git a/certify-service/src/test/java/io/mosip/certify/services/RenderingTemplateServiceImplTest.java b/certify-service/src/test/java/io/mosip/certify/services/RenderingTemplateServiceImplTest.java index 6c5380ea..83f3f3cc 100644 --- a/certify-service/src/test/java/io/mosip/certify/services/RenderingTemplateServiceImplTest.java +++ b/certify-service/src/test/java/io/mosip/certify/services/RenderingTemplateServiceImplTest.java @@ -1,8 +1,9 @@ package io.mosip.certify.services; +import io.mosip.certify.api.dto.RenderingTemplateDTO; import io.mosip.certify.core.constants.ErrorConstants; import io.mosip.certify.services.entity.RenderingTemplate; -import io.mosip.certify.core.exception.TemplateException; +import io.mosip.certify.core.exception.RenderingTemplateException; import io.mosip.certify.services.repository.RenderingTemplateRepository; import lombok.extern.slf4j.Slf4j; import org.junit.Assert; @@ -40,7 +41,7 @@ public void getSvgTemplate_withValidDetail_thenPass() { svgRenderTemplate.setCreatedtimes(LocalDateTime.now()); Optional optional = Optional.of(svgRenderTemplate); Mockito.when(svgRenderTemplateRepository.findById(Mockito.any())).thenReturn(optional); - RenderingTemplate svgRenderTemplateResponse = renderingTemplateService.getSvgTemplate("fake-id"); + RenderingTemplateDTO svgRenderTemplateResponse = renderingTemplateService.getSvgTemplate("fake-id"); Assert.assertNotNull(svgRenderTemplateResponse); Assert.assertEquals(svgRenderTemplate.getId(), svgRenderTemplateResponse.getId()); Assert.assertEquals(svgTemplate, optional.get().getTemplate()); @@ -49,7 +50,7 @@ public void getSvgTemplate_withValidDetail_thenPass() { @Test public void getSvgTemplate_withInvalidId_thenFail() { Mockito.when(svgRenderTemplateRepository.findById(Mockito.any())).thenReturn(Optional.empty()); - TemplateException templateException = Assert.assertThrows(TemplateException.class, () -> { + RenderingTemplateException templateException = Assert.assertThrows(RenderingTemplateException.class, () -> { renderingTemplateService.getSvgTemplate("fake-id"); }); Assert.assertEquals(ErrorConstants.INVALID_TEMPLATE_ID, templateException.getErrorCode()); diff --git a/certify-service/src/test/resources/application-test.properties b/certify-service/src/test/resources/application-test.properties index 35da2453..19a64724 100644 --- a/certify-service/src/test/resources/application-test.properties +++ b/certify-service/src/test/resources/application-test.properties @@ -219,7 +219,6 @@ mosip.certify.key-values={\ }}\ }\ } -mosip.certify.svg-templates=svg-template.json #------------------------------------ Key-manager specific properties -------------------------------------------------- diff --git a/certify-service/src/test/resources/svg-template.json b/certify-service/src/test/resources/svg-template.json deleted file mode 100644 index 26d50c03..00000000 --- a/certify-service/src/test/resources/svg-template.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "id": "5b9c2a12-810a-7388-2dc8-13ee7ad88bac", - "content": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{credentialSubject/policyName}}\n {{credentialSubject/policyNumber}}\n {{credentialSubject/fullName}}\n {{credentialSubject/gender}}\n {{credentialSubject/email}}\n {{credentialSubject/mobile}}\n\n Policy Issued On\n {{credentialSubject/policyIssuedOn}}\n\n Policy Expires On\n {{credentialSubject/policyExpiresOn}}\n\n Issuance Date On\n {{issuanceDate}}\n\n Expiration Date On\n {{expirationDate}}\n" - } -] \ No newline at end of file diff --git a/docker-compose/docker-compose-certify/certify_init.sql b/docker-compose/docker-compose-certify/certify_init.sql deleted file mode 100644 index 4a2b0ca7..00000000 --- a/docker-compose/docker-compose-certify/certify_init.sql +++ /dev/null @@ -1,92 +0,0 @@ -CREATE DATABASE inji_certify - ENCODING = 'UTF8' - LC_COLLATE = 'en_US.UTF-8' - LC_CTYPE = 'en_US.UTF-8' - TABLESPACE = pg_default - OWNER = postgres - TEMPLATE = template0; - -COMMENT ON DATABASE inji_certify IS 'certify related data is stored in this database'; - -\c inji_certify postgres - -DROP SCHEMA IF EXISTS certify CASCADE; -CREATE SCHEMA certify; -ALTER SCHEMA certify OWNER TO postgres; -ALTER DATABASE inji_certify SET search_path TO certify,pg_catalog,public; - -CREATE TABLE certify.key_alias( - id character varying(36) NOT NULL, - app_id character varying(36) NOT NULL, - ref_id character varying(128), - key_gen_dtimes timestamp, - key_expire_dtimes timestamp, - status_code character varying(36), - lang_code character varying(3), - cr_by character varying(256) NOT NULL, - cr_dtimes timestamp NOT NULL, - upd_by character varying(256), - upd_dtimes timestamp, - is_deleted boolean DEFAULT FALSE, - del_dtimes timestamp, - cert_thumbprint character varying(100), - uni_ident character varying(50), - CONSTRAINT pk_keymals_id PRIMARY KEY (id), - CONSTRAINT uni_ident_const UNIQUE (uni_ident) -); - -CREATE TABLE certify.key_policy_def( - app_id character varying(36) NOT NULL, - key_validity_duration smallint, - is_active boolean NOT NULL, - pre_expire_days smallint, - access_allowed character varying(1024), - cr_by character varying(256) NOT NULL, - cr_dtimes timestamp NOT NULL, - upd_by character varying(256), - upd_dtimes timestamp, - is_deleted boolean DEFAULT FALSE, - del_dtimes timestamp, - CONSTRAINT pk_keypdef_id PRIMARY KEY (app_id) -); - -CREATE TABLE certify.key_store( - id character varying(36) NOT NULL, - master_key character varying(36) NOT NULL, - private_key character varying(2500) NOT NULL, - certificate_data character varying NOT NULL, - cr_by character varying(256) NOT NULL, - cr_dtimes timestamp NOT NULL, - upd_by character varying(256), - upd_dtimes timestamp, - is_deleted boolean DEFAULT FALSE, - del_dtimes timestamp, - CONSTRAINT pk_keystr_id PRIMARY KEY (id) -); - -CREATE TABLE certify.rendering_template ( - id UUID NOT NULL, - template VARCHAR NOT NULL, - cr_dtimes timestamp NOT NULL, - upd_dtimes timestamp, - CONSTRAINT pk_svgtmp_id PRIMARY KEY (id) -); - -CREATE TABLE certify.credential_template( - context character varying(1024) NOT NULL, - credential_type character varying(512) NOT NULL, - template VARCHAR NOT NULL, - cr_dtimes timestamp NOT NULL default now(), - upd_dtimes timestamp, - CONSTRAINT pk_template PRIMARY KEY (context, credential_type) -); - - - -INSERT INTO certify.KEY_POLICY_DEF(APP_ID,KEY_VALIDITY_DURATION,PRE_EXPIRE_DAYS,ACCESS_ALLOWED,IS_ACTIVE,CR_BY,CR_DTIMES) VALUES('ROOT', 2920, 1125, 'NA', true, 'mosipadmin', now()); -INSERT INTO certify.KEY_POLICY_DEF(APP_ID,KEY_VALIDITY_DURATION,PRE_EXPIRE_DAYS,ACCESS_ALLOWED,IS_ACTIVE,CR_BY,CR_DTIMES) VALUES('CERTIFY_SERVICE', 1095, 50, 'NA', true, 'mosipadmin', now()); -INSERT INTO certify.KEY_POLICY_DEF(APP_ID,KEY_VALIDITY_DURATION,PRE_EXPIRE_DAYS,ACCESS_ALLOWED,IS_ACTIVE,CR_BY,CR_DTIMES) VALUES('CERTIFY_PARTNER', 1095, 50, 'NA', true, 'mosipadmin', now()); -INSERT INTO certify.KEY_POLICY_DEF(APP_ID,KEY_VALIDITY_DURATION,PRE_EXPIRE_DAYS,ACCESS_ALLOWED,IS_ACTIVE,CR_BY,CR_DTIMES) VALUES('CERTIFY_RSA', 1095, 50, 'NA', true, 'mosipadmin', now()); -INSERT INTO certify.KEY_POLICY_DEF(APP_ID,KEY_VALIDITY_DURATION,PRE_EXPIRE_DAYS,ACCESS_ALLOWED,IS_ACTIVE,CR_BY,CR_DTIMES) VALUES('CERTIFY_ED25519', 1095, 50, 'NA', true, 'mosipadmin', now()); -INSERT INTO certify.KEY_POLICY_DEF(APP_ID,KEY_VALIDITY_DURATION,PRE_EXPIRE_DAYS,ACCESS_ALLOWED,IS_ACTIVE,CR_BY,CR_DTIMES) VALUES('BASE', 730, 30, 'NA', true, 'mosipadmin', now()); - diff --git a/docker-compose/docker-compose-certify/config/certify-mock-identity.properties b/docker-compose/docker-compose-certify/config/certify-mock-identity.properties deleted file mode 100644 index 57c7a24d..00000000 --- a/docker-compose/docker-compose-certify/config/certify-mock-identity.properties +++ /dev/null @@ -1,103 +0,0 @@ -## ------------------------------------------- Mock ID Integration properties ------------------------------------------------------------ -mosip.certify.integration.scan-base-package=io.mosip.certify.mock.integration -mosip.certify.integration.audit-plugin=LoggerAuditService -mosip.certify.integration.vci-plugin=MockVCIssuancePlugin - -## ------------------------------------------- Mock ID plugin related properties ------------------------------------------------------------ -mosip.certify.mock.vciplugin.verification-method=${mosip.certify.authn.jwk-set-uri} -mosip.certify.mock.authenticator.get-identity-url=http://mock-identity-system:8082/v1/mock-identity-system/identity -mosip.certify.cache.security.algorithm-name=AES/ECB/PKCS5Padding -mosip.certify.cache.secure.individual-id=false -mosip.certify.cache.store.individual-id=true -# TODO: Onboard secrets for local build -mosip.certify.mock.vciplugin.issuer.key-cert=dummy -mosip.certify.rendering-templates=insurance-svg-template.json -mosip.certify.key-values={\ - 'vd12' : {\ - 'credential_issuer': '${mosip.certify.identifier}', \ - 'authorization_servers': {'${mosip.certify.authorization.url}'}, \ - 'credential_endpoint': '${mosip.certify.identifier}${server.servlet.path}/issuance/vd12/credential', \ - 'display': {{'name': 'Mock Verifiable Credential', 'locale': 'en'}},\ - 'credentials_supported' : { \ - 'MockVerifiableCredential_ldp' : {\ - 'format': 'ldp_vc',\ - 'scope' : 'mock_identity_vc_ldp',\ - 'cryptographic_binding_methods_supported': {'did:jwk'},\ - 'cryptographic_suites_supported': {'RsaSignature2018'},\ - 'proof_types_supported': {'jwt'},\ - 'credential_definition': {\ - 'type': {'VerifiableCredential','MockVerifiableCredential'},\ - 'credentialSubject': {\ - 'fullName': { 'display': {{'name': 'Full Name', 'locale': 'en' }}},\ - 'phone': { 'display': {{'name': 'Phone Number', 'locale': 'en' }}},\ - 'dateOfBirth': { 'display': {{'name': 'DOB', 'locale': 'en' }}},\ - 'gender': { 'display': {{'name': 'Gender', 'locale': 'en' }}},\ - 'email': { 'display': {{'name': 'Email Id', 'locale': 'en' }}},\ - 'region': { 'display': {{'name': 'Region', 'locale': 'en' }}},\ - 'province': { 'display': {{'name': 'Province', 'locale': 'en' }}},\ - 'UIN': { 'display': {{'name': 'UIN', 'locale': 'en' }}},\ - 'VID': { 'display': {{'name': 'VID', 'locale': 'en' }}},\ - 'postalCode': { 'display': {{'name': 'Postal Code', 'locale': 'en' }}}\ - }},\ - 'display': {{'name': 'Mock Verifiable Credential', \ - 'locale': 'en', \ - 'logo': {'url': '${mosipbox.public.url}/logo.png','alt_text': 'a square logo of a MOSIP'},\ - 'background_color': '#12107c',\ - 'text_color': '#FFFFFF'}},\ - 'order' : {'fullName','phone','dateOfBirth','gender','email','region','province','UIN', 'VID', 'postalCode'}\ - }\ - }\ - },\ - 'latest' : {\ - 'credential_issuer': '${mosip.certify.identifier}', \ - 'authorization_servers': {'${mosip.certify.authorization.url}'}, \ - 'credential_endpoint': '${mosip.certify.identifier}${server.servlet.path}/issuance/credential', \ - 'display': {{'name': 'Mock Verifiable Credential', 'locale': 'en'}},\ - 'credential_configurations_supported' : { \ - 'MockVerifiableCredential_ldp' : {\ - 'format': 'ldp_vc',\ - 'scope' : 'mock_identity_vc_ldp',\ - 'cryptographic_binding_methods_supported': {'did:jwk'},\ - 'credential_signing_alg_values_supported': {'RsaSignature2018'},\ - 'proof_types_supported': {'jwt': {'proof_signing_alg_values_supported': {'RS256', 'PS256', 'ES256'}}},\ - 'credential_definition': {\ - 'type': {'VerifiableCredential','MockVerifiableCredential'},\ - 'credentialSubject': {\ - 'fullName': { 'display': {{'name': 'Full Name', 'locale': 'en' }}},\ - 'phone': { 'display': {{'name': 'Phone Number', 'locale': 'en' }}},\ - 'dateOfBirth': { 'display': {{'name': 'DOB', 'locale': 'en' }}},\ - 'gender': { 'display': {{'name': 'Gender', 'locale': 'en' }}},\ - 'email': { 'display': {{'name': 'Email Id', 'locale': 'en' }}},\ - 'region': { 'display': {{'name': 'Region', 'locale': 'en' }}},\ - 'province': { 'display': {{'name': 'Province', 'locale': 'en' }}},\ - 'UIN': { 'display': {{'name': 'UIN', 'locale': 'en' }}},\ - 'VID': { 'display': {{'name': 'VID', 'locale': 'en' }}},\ - 'postalCode': { 'display': {{'name': 'Postal Code', 'locale': 'en' }}}\ - }},\ - 'display': {{'name': 'Mock Verifiable Credential', \ - 'locale': 'en', \ - 'logo': {'url': '${mosipbox.public.url}/logo.png','alt_text': 'a square logo of a MOSIP'},\ - 'background_color': '#12107c',\ - 'background_image': { 'uri': 'https://${mosipbox.public.url}/inji/mosip-logo.png' }, \ - 'text_color': '#FFFFFF'}},\ - 'order' : {'fullName','phone','dateOfBirth','gender','email','region','province','UIN', 'VID', 'postalCode'}\ - },\ - "DrivingLicenseCredential":{\ - 'format': 'mso_mdoc',\ - 'doctype': 'org.iso.18013.5.1.mDL',\ - 'scope' : 'sample_vc_mdoc',\ - 'cryptographic_binding_methods_supported': {'cose_key'},\ - 'credential_signing_alg_values_supported': {'ES256'},\ - 'proof_types_supported': {'jwt': {'proof_signing_alg_values_supported': {'ES256'}}},\ - 'claims': {\ - 'org.iso.18013.5.1': {'given_name': {'display': {{'name': 'Given Name','locale': 'en'}}},'family_name': {'display': {{'name': 'Family Name','locale': 'en'}}},'issue_date': {'display': {{'name': 'Issue Date','locale': 'en'}}},'expiry_date': {'display': {{'name': 'Expiry Date','locale': 'en'}}},'birth_date': {'display': {{'name': 'Birth Date','locale': 'en'}}},'issuing_country': {'display': {{'name': 'Issuing Country','locale': 'en'}}},'document_number': {'display': {{'name': 'Document Number','locale': 'en'}}}}},\ - 'display': {{'name': 'Mobile Driving License Verifiable Credential', \ - 'locale': 'en', \ - 'background_image': { 'uri': 'https://sunbird.org/images/sunbird-logo-new.png' }, \ - 'logo': {'url': 'https://sunbird.org/images/sunbird-logo-new.png','alt_text': 'a square logo of a Sunbird Mobile Driving License'},\ - 'background_color': '#FDFAF9',\ - 'text_color': '#7C4616'}},\ - 'order' : {'org.iso.18013.5.1~family_name','org.iso.18013.5.1~given_name','org.iso.18013.5.1~document_number','org.iso.18013.5.1~issuing_country','org.iso.18013.5.1~issue_date','org.iso.18013.5.1~expiry_date','org.iso.18013.5.1~birth_date'}\ - }\ - }\ - }} \ No newline at end of file diff --git a/docker-compose/docker-compose-certify/config/certify-sunbird-insurance.properties b/docker-compose/docker-compose-certify/config/certify-sunbird-insurance.properties deleted file mode 100644 index 9552ae19..00000000 --- a/docker-compose/docker-compose-certify/config/certify-sunbird-insurance.properties +++ /dev/null @@ -1,98 +0,0 @@ -# ------------------------------------------- Integrations ------------------------------------------------------------ -mosip.certify.integration.scan-base-package=io.mosip.certify.sunbirdrc.integration -mosip.certify.integration.vci-plugin=SunbirdRCVCIssuancePlugin -mosip.certify.integration.audit-plugin=LoggerAuditService - -##--------------------sunbird registry related demo configuration-------------------------## - -mosip.certify.vciplugin.sunbird-rc.issue-credential-url=http://sunbird-registry:80/credential/credentials/issue -mosip.certify.vciplugin.sunbird-rc.supported-credential-types=HealthInsuranceCredential,LifeInsuranceCredential,InsuranceCredential -mosip.certify.vciplugin.sunbird-rc.credential-type.HealthInsuranceCredential.static-value-map.issuerId=did:web:challabeehyv.github.io:DID-Resolve:190d673a-0cfb-45f4-a8f4-5efaaaef0b4b -mosip.certify.vciplugin.sunbird-rc.credential-type.HealthInsuranceCredential.template-url=https://raw.githubusercontent.com/challabeehyv/mimoto-config/main/InsuranceConfig.json -mosip.certify.vciplugin.sunbird-rc.credential-type.HealthInsuranceCredential.registry-get-url=http://sunbird-registry:80/registry/api/v1/Insurance/ -mosip.certify.vciplugin.sunbird-rc.credential-type.HealthInsuranceCredential.cred-schema-id=did:schema:c45e2840-bf2a-440d-b4aa-52ff3e205f18 -mosip.certify.vciplugin.sunbird-rc.credential-type.HealthInsuranceCredential.cred-schema-version=1.0.0 -mosip.certify.vciplugin.sunbird-rc.credential-type.HealthInsuranceCredential.registry-search-url=http://sunbird-registry:80/registry/api/v1/Insurance/search - -mosip.certify.vciplugin.sunbird-rc.credential-type.LifeInsuranceCredential.static-value-map.issuerId=did:web:challabeehyv.github.io:DID-Resolve:190d673a-0cfb-45f4-a8f4-5efaaaef0b4b -mosip.certify.vciplugin.sunbird-rc.credential-type.LifeInsuranceCredential.template-url=https://raw.githubusercontent.com/challabeehyv/mimoto-config/main/InsuranceConfig.json -mosip.certify.vciplugin.sunbird-rc.credential-type.LifeInsuranceCredential.registry-get-url=http://sunbird-registry:80/registry/api/v1/Insurance/ -mosip.certify.vciplugin.sunbird-rc.credential-type.LifeInsuranceCredential.cred-schema-id=did:schema:c45e2840-bf2a-440d-b4aa-52ff3e205f18 -mosip.certify.vciplugin.sunbird-rc.credential-type.LifeInsuranceCredential.cred-schema-version=1.0.0 -mosip.certify.vciplugin.sunbird-rc.credential-type.LifeInsuranceCredential.registry-search-url=http://sunbird-registry:80/registry/api/v1/Insurance/search - - -mosip.certify.vciplugin.sunbird-rc.credential-type.InsuranceCredential.static-value-map.issuerId=did:web:challabeehyv.github.io:DID-Resolve:190d673a-0cfb-45f4-a8f4-5efaaaef0b4b -mosip.certify.vciplugin.sunbird-rc.credential-type.InsuranceCredential.template-url=https://raw.githubusercontent.com/challabeehyv/mimoto-config/main/InsuranceConfig.json -mosip.certify.vciplugin.sunbird-rc.credential-type.InsuranceCredential.registry-get-url=http://sunbird-registry:80/registry/api/v1/Insurance/ -mosip.certify.vciplugin.sunbird-rc.credential-type.InsuranceCredential.cred-schema-id=did:schema:c45e2840-bf2a-440d-b4aa-52ff3e205f18 -mosip.certify.vciplugin.sunbird-rc.credential-type.InsuranceCredential.cred-schema-version=1.0.0 -mosip.certify.vciplugin.sunbird-rc.credential-type.InsuranceCredential.registry-search-url=http://sunbird-registry:80/registry/api/v1/Insurance/search - - -mosip.certify.rendering-templates=insurance-svg-template.json -mosip.certify.key-values={\ - 'latest' : {\ - 'credential_issuer': '${mosipbox.public.url}', \ - 'authorization_servers': {'${mosip.certify.authorization.url}'}, \ - 'credential_endpoint': '${mosipbox.public.url}${server.servlet.path}/issuance/credential', \ - 'display': {{'name': 'Insurance', 'locale': 'en'}},\ - 'credential_configurations_supported' : { \ - "InsuranceCredential" : {\ - 'format': 'ldp_vc',\ - 'scope' : 'sunbird_rc_insurance_vc_ldp',\ - 'cryptographic_binding_methods_supported': {'did:jwk'},\ - 'credential_signing_alg_values_supported': {'Ed25519Signature2020'},\ - 'proof_types_supported': {'jwt': {'proof_signing_alg_values_supported': {'RS256', 'PS256'}}},\ - 'credential_definition': {\ - 'type': {'VerifiableCredential','InsuranceCredential'},\ - 'credentialSubject': {\ - 'fullName': {'display': {{'name': 'Name','locale': 'en'}}}, \ - 'mobile': {'display': {{'name': 'Phone Number','locale': 'en'}}},\ - 'dob': {'display': {{'name': 'Date of Birth','locale': 'en'}}},\ - 'gender': {'display': {{'name': 'Gender','locale': 'en'}}},\ - 'benefits': {'display': {{'name': 'Benefits','locale': 'en'}}},\ - 'email': {'display': {{'name': 'Email Id','locale': 'en'}}},\ - 'policyIssuedOn': {'display': {{'name': 'Policy Issued On','locale': 'en'}}},\ - 'policyExpiresOn': {'display': {{'name': 'Policy Expires On','locale': 'en'}}},\ - 'policyName': {'display': {{'name': 'Policy Name','locale': 'en'}}},\ - 'policyNumber': {'display': {{'name': 'Policy Number','locale': 'en'}}}\ - }},\ - 'display': {{'name': 'Sunbird RC Insurance Verifiable Credential', \ - 'locale': 'en', \ - 'logo': {'url': 'https://sunbird.org/images/sunbird-logo-new.png','alt_text': 'a square logo of a Sunbird'},\ - 'background_color': '#FDFAF9',\ - 'background_image': { 'uri': 'https://sunbird.org/images/sunbird-logo-new.png' }, \ - 'text_color': '#7C4616'}},\ - 'order' : {'fullName','policyName','policyExpiresOn','policyIssuedOn','policyNumber','mobile','dob','gender','benefits','email'}\ - },\ - "LifeInsuranceCredential":{\ - 'format': 'ldp_vc',\ - 'scope' : 'life_insurance_vc_ldp',\ - 'cryptographic_binding_methods_supported': {'did:jwk'},\ - 'credential_signing_alg_values_supported': {'Ed25519Signature2020'},\ - 'proof_types_supported': {'jwt': {'proof_signing_alg_values_supported': {'RS256', 'ES256'}}},\ - 'credential_definition': {\ - 'type': {'VerifiableCredential'},\ - 'credentialSubject': {\ - 'fullName': {'display': {{'name': 'Name','locale': 'en'}}}, \ - 'mobile': {'display': {{'name': 'Phone Number','locale': 'en'}}},\ - 'dob': {'display': {{'name': 'Date of Birth','locale': 'en'}}},\ - 'gender': {'display': {{'name': 'Gender','locale': 'en'}}},\ - 'benefits': {'display': {{'name': 'Benefits','locale': 'en'}}},\ - 'email': {'display': {{'name': 'Email Id','locale': 'en'}}},\ - 'policyIssuedOn': {'display': {{'name': 'Policy Issued On','locale': 'en'}}},\ - 'policyExpiresOn': {'display': {{'name': 'Policy Expires On','locale': 'en'}}},\ - 'policyName': {'display': {{'name': 'Policy Name','locale': 'en'}}},\ - 'policyNumber': {'display': {{'name': 'Policy Number','locale': 'en'}}}\ - }},\ - 'display': {{'name': 'Life Insurance Verifiable Credential', \ - 'locale': 'en', \ - 'logo': {'url': 'https://sunbird.org/images/sunbird-logo-new.png','alt_text': 'a square logo of a Sunbird'},\ - 'background_image': { 'uri': 'https://sunbird.org/images/sunbird-logo-new.png' }, \ - 'background_color': '#FDFAF9',\ - 'background_image': { 'uri': 'https://sunbird.org/images/sunbird-logo-new.png' }, \ - 'text_color': '#7C4616'}},\ - 'order' : {'fullName','policyName','policyExpiresOn','policyIssuedOn','policyNumber','mobile','dob','gender','benefits','email'}\ - }}\ - }} \ No newline at end of file diff --git a/docker-compose/docker-compose-injistack/config/certify-csvdp-farmer.properties b/docker-compose/docker-compose-injistack/config/certify-csvdp-farmer.properties index 2ae8e901..6fee5b35 100644 --- a/docker-compose/docker-compose-injistack/config/certify-csvdp-farmer.properties +++ b/docker-compose/docker-compose-injistack/config/certify-csvdp-farmer.properties @@ -9,9 +9,6 @@ mosip.certify.mock.authenticator.get-identity-url=http://mock-identity-system:80 mosip.certify.cache.security.algorithm-name=AES/ECB/PKCS5Padding mosip.certify.cache.secure.individual-id=false mosip.certify.cache.store.individual-id=true -# TODO: Onboard secrets for local build -mosip.certify.mock.vciplugin.issuer.key-cert="dummy-issuer-cert" -mosip.certify.mock.vciplugin.ca.key-cert=dummy mosip.certify.rendering-templates=insurance-svg-template.json mosip.certify.identifier=http://localhost:8090 @@ -26,7 +23,7 @@ mosip.certify.data-provider-plugin.issuer.vc-sign-algo=Ed25519Signature2020 mosip.certify.mock.data-provider.csv.identifier-column=id mosip.certify.mock.data-provider.csv.data-columns=id,fullName,mobileNumber,dateOfBirth,gender,state,district,villageOrTown,postalCode,landArea,landOwnershipType,primaryCropType,secondaryCropType,face,farmerID mosip.certify.mock.data-provider.csv-registry-uri=https://raw.githubusercontent.com/mosip/inji-config/refs/heads/develop/farmer_registry.csv -mosip.certify.data-provider-plugin.svg-template-id= +mosip.certify.data-provider-plugin.rendering-template-id= mosip.certify.key-values={\ 'vd12' : {\ 'credential_issuer': '${mosip.certify.identifier}',\ diff --git a/docker-compose/docker-compose-injistack/config/farmer_identity_data.csv b/docker-compose/docker-compose-injistack/config/farmer_identity_data.csv index 3bb6ac36..9a3f2010 100644 --- a/docker-compose/docker-compose-injistack/config/farmer_identity_data.csv +++ b/docker-compose/docker-compose-injistack/config/farmer_identity_data.csv @@ -1,6 +1,6 @@ id,fullName,mobileNumber,dateOfBirth,gender,state,district,villageOrTown,postalCode,landArea,landOwnershipType,primaryCropType,secondaryCropType,face,farmerID -1234,John Doe,9876543210,25-05-1990,Male,Karnataka,Bangalore,Koramangala,453000,3 hectares,Owner,Maize,Rice,"data:image/jpeg;base64,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",987654321 +1234,John Doe,9876543210,25-05-1990,Male,Karnataka,Bangalore,Koramangala,453000,3 hectares,Owner,Maize,Rice,"data:image/jpeg;base64,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",987654321 876543210,Mary Smith,8765432109,12-11-1985,Female,Uttar Pradesh,Lucknow,Gomti Nagar,226010,2.5 acres,Tenant,Rice,Wheat,"a",123456789 -7550166913,Raj Patel,7550166914,24-01-1998,Male,Karnataka,Bangalore,Koramangala,560068,5 acres,Self-owned,Cotton,Barley,"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAlgCWAAD/4TLURXhpZgAATU0AKgAAAAgADAALAAIAAAAmAAAIqgEAAAMAAAABAwAAAAEBAAMAAAABBAAAAAESAAMAAAABAAEAAAEaAAUAAAABAAAI0AEbAAUAAAABAAAI2AEoAAMAAAABAAIAAAExAAIAAAAmAAAI4AEyAAIAAAAUAAAJBgITAAMAAAABAAEAAIdpAAQAAAABAAAJGuocAAcAAAgMAAAAngAAEf4c6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdpbmRvd3MgUGhvdG8gRWRpdG9yIDEwLjAuMTAwMTEuMTYzODQAAAAASAAAAAEAAABIAAAAAVdpbmRvd3MgUGhvdG8gRWRpdG9yIDEwLjAuMTAwMTEuMTYzODQAMjAyMzowMzoyOCAxODo0NDo1OAAADZAAAAIAAAAFAAARyJADAAIAAAAUAAARzpAEAAIAAAAUAAAR4pEBAAIAAAAEPz8/AJIIAAMAAAABAAAAAJKRAAIAAAADMDAAAJKSAAIAAAADMDAAAKAAAAIAAAAFAAAR9qABAAMAAAABAAEAAKACAAMAAAABAwAAAKADAAMAAAABBAAAAKQGAAMAAAABAAAAAOocAAcAAAgMAAAJvAAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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OlJERj48L3g6eG1wbWV0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9J3cnPz7/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAFSAVMDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdI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",4567538771 +7550166913,Raj Patel,7550166914,24-01-1998,Male,Karnataka,Bangalore,Koramangala,560068,5 acres,Self-owned,Cotton,Barley,"data:image/jpeg;base64,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",4567538771 654321098,Sarah Johnson,6543210987,15-02-1988,Male,Tamil Nadu,Madurai,Melur,625106,1 hectare,Owner,Banana,Mango,"a",4567538772 543210987,Arun Kumar,5432109876,22-09-1995,Male,Karnataka,Bangalore,Koramangala,560034,2 acres,Tenant,Tomato,Peppers,"a",345678910 \ No newline at end of file diff --git a/docker-compose/docker-compose-injistack/docker-compose.yaml b/docker-compose/docker-compose-injistack/docker-compose.yaml index 0ac55d8b..92575af0 100644 --- a/docker-compose/docker-compose-injistack/docker-compose.yaml +++ b/docker-compose/docker-compose-injistack/docker-compose.yaml @@ -39,14 +39,17 @@ services: container_name: nginx image: nginx:alpine ports: - - '8099:80' + - '8080:80' volumes: - ./config/mimoto-issuers-config.json:/config/server/mimoto-issuers-config.json - ./config/mimoto-trusted-verifiers.json:/config/server/mimoto-trusted-verifiers.json - ./config/credential-template.html:/config/server/credential-template.html - ./nginx.conf:/etc/nginx/nginx.conf + depends_on: + - mimoto-service networks: - network + mimoto-service: container_name: 'Mimoto-Service' image: 'mosipid/mimoto:0.14.0' @@ -65,8 +68,6 @@ services: - ./config/mimoto-issuers-config.json:/home/mosip/mimoto-issuers-config.json - ./config/mimoto-trusted-verifiers.json:/home/mosip/mimoto-trusted-verifiers.json - ./certs/oidckeystore.p12:/home/mosip/certs/oidckeystore.p12 - depends_on: - - nginx inji-web: container_name: 'inji-web' @@ -74,8 +75,10 @@ services: ports: - '3001:3004' environment: - - MIMOTO_HOST=http://localhost:3010 + - MIMOTO_HOST=http://localhost:8080/v1/mimoto # Pointing to the Nginx service - DEFAULT_LANG=en + depends_on: + - nginx networks: - network diff --git a/docker-compose/docker-compose-injistack/nginx.conf b/docker-compose/docker-compose-injistack/nginx.conf index 03a3e1d7..a11042b8 100644 --- a/docker-compose/docker-compose-injistack/nginx.conf +++ b/docker-compose/docker-compose-injistack/nginx.conf @@ -4,9 +4,31 @@ http { server { listen 80; + # Serve static files, if any location / { root /config/server; autoindex on; } + + # Proxy API requests to mimoto-service + location /v1/mimoto/ { + proxy_pass http://mimoto-service:8099/v1/mimoto/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Connection ""; + + # Add CORS headers + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, Cache-Control' always; + + # Handle OPTIONS requests (for pre-flight checks) + if ($request_method = 'OPTIONS') { + return 204; + } + } } }