public UserInfo getUserInfo()

in src/main/java/com/epam/digital/data/platform/history/service/UserInfoRetrieveService.java [59:106]


  public UserInfo getUserInfo(HistoryTableRowDdmInfo tableDdmInfo) {
    if (!signatureEnabled) {
      log.info("Signature processing is disabled");
      return EMPTY_USER_INFO;
    }
    var key = tableDdmInfo.getDigitalSign();
    if (key == null) {
      log.error("Signature not saved. Key == null");
      return EMPTY_USER_INFO;
    }
    var content = historicSignatureFormDataStorageService.getFormData(key);
    if (content.isEmpty()) {
      log.error("Signature not found for key {}", key);
      return EMPTY_USER_INFO;
    }

    String signature;
    String data;
    try {
      var formDataDto = content.get();
      data = objectMapper.writeValueAsString(formDataDto.getData());
      signature = formDataDto.getSignature();
    } catch (JsonProcessingException e) {
      throw new RuntimeJsonMappingException(e.getMessage());
    }

    OwnerResponseDto owner;
    try {
      owner = digitalSignatureRestClient.getOwnerInfinite(
          new VerificationRequestDto(signature, data));
    } catch (BadRequestException e) {
      log.error("Bad request. {}", e.getErrorDto().getMessage());
      return EMPTY_USER_INFO;
    } catch (InternalServerErrorException e) {
      log.error("Internal server error. {}", e.getErrorDto().getMessage());
      return EMPTY_USER_INFO;
    } catch (SignatureValidationException e) {
      log.error("Signature validation error. {}", e.getErrorDto().getMessage());
      return EMPTY_USER_INFO;
    }

    if (owner == null) {
      log.error("Failed to get the owner of the digital signature");
      return EMPTY_USER_INFO;
    }

    return new UserInfo(owner.getFullName(), owner.getDrfo(), owner.getEdrpou());
  }