Added call_id property for file upload type validation specific to call_id.

This commit is contained in:
piyuskag
2024-11-05 20:47:06 +05:30
parent 6d5b1f2fd8
commit a63bd84e39
2 changed files with 17 additions and 1 deletions

View File

@@ -32,6 +32,7 @@ import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationExceptio
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -114,6 +115,9 @@ public class ApplicationDao {
@Value("${carlo_email}")
private String carloEmail;
@Value("${call.id}")
private String callId;
@Autowired
private AmazonS3Service amazonS3Service;
@@ -795,7 +799,7 @@ public class ApplicationDao {
MultipartFile file) {
ApplicationEntity applicationEntity = validateApplication(applicationId);
validator.validateUserWithCompany(request, applicationEntity.getCompany().getId());
validateFileType(file);
validateFileTypeForCall(file, applicationEntity);
ApplicationSignedDocumentEntity applicationSignedDocument = applicationSignedDocumentRepository
.findByApplicationIdAndStatus(applicationId, ApplicationSignedDocumentStatusEnum.ACTIVE.getValue());
if (applicationSignedDocument != null) {
@@ -815,6 +819,16 @@ public class ApplicationDao {
applicationRepository.save(applicationEntity);
return convertApplicationSignedDocumentToApplicationSignedDocumentResponse(applicationSignedDocument);
}
private void validateFileTypeForCall(MultipartFile file, ApplicationEntity applicationEntity) {
List<String> validCallIds = Arrays.asList(callId.split(","));
if (applicationEntity != null && validCallIds.contains(applicationEntity.getCall().getId().toString())) {
return;
}
validateFileType(file);
}
private UploadFileOnAmazonS3Response uploadFileOnAmazonS3ForUserSignedDocument(MultipartFile file, Long callId, Long applicationId) {
try {
String s3Path = generateS3PathForDelegation(callId, applicationId);

View File

@@ -23,6 +23,8 @@ spring.liquibase.enabled=true
springdoc.api-docs.path=/v1/api-docs
springdoc.swagger-ui.tagsSorter=alpha
#signed_document_callIds for more file type upload feature.
call.id=10
#aws configuration
aws.access.key.id=AKIAVWDQWCUEOSUN4LUW