RED-3450: Improved exception handling for validating digital KMS signature
This commit is contained in:
parent
d5ebe54a7c
commit
f85299f538
@ -3,16 +3,20 @@ package com.iqser.red.service.persistence.management.v1.processor.service;
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DigitalSignatureEntity;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DigitalSignatureKmsEntity;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.InternalServerErrorException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DigitalSignatureKmsRepository;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.DigitalSignatureKms;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.DigitalSignatureType;
|
||||
|
||||
import feign.FeignException;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@ -30,7 +34,14 @@ public class DigitalSignatureKmsService {
|
||||
public DigitalSignatureKmsEntity saveDigitalSignature(DigitalSignatureKmsEntity digitalSignature) {
|
||||
|
||||
log.info("Validate digital KMS signature before saving");
|
||||
pdfTronRedactionClient.testDigitalSignatureKms(convert(digitalSignature, DigitalSignatureKms.class));
|
||||
try {
|
||||
pdfTronRedactionClient.testDigitalSignatureKms(convert(digitalSignature, DigitalSignatureKms.class));
|
||||
} catch (FeignException e) {
|
||||
if (e.status() == HttpStatus.BAD_REQUEST.value()) {
|
||||
throw new BadRequestException(e.getMessage(), e);
|
||||
}
|
||||
throw new InternalServerErrorException("Could not validate digital KMS signature", e);
|
||||
}
|
||||
log.info("Digital KMS signature is valid");
|
||||
|
||||
encrypt(digitalSignature);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user