RED-6981 - save file size when uploading
This commit is contained in:
parent
06c788d664
commit
95ed1c643a
@ -56,7 +56,7 @@ public class FileService {
|
||||
private final DossierService dossierService;
|
||||
|
||||
|
||||
public JSONPrimitive<String> upload(AddFileRequest request, boolean keepManualRedactions) {
|
||||
public JSONPrimitive<String> upload(AddFileRequest request, boolean keepManualRedactions, long size) {
|
||||
|
||||
dossierPersistenceService.getAndValidateDossier(request.getDossierId());
|
||||
|
||||
@ -79,7 +79,7 @@ public class FileService {
|
||||
} else {
|
||||
// the file is new, should create a new status for it.
|
||||
log.info("File {} has no status yet, creating one and setting to unprocessed.", request.getFilename());
|
||||
fileStatusService.createStatus(request.getDossierId(), request.getFileId(), request.getUploader(), request.getFilename());
|
||||
fileStatusService.createStatus(request.getDossierId(), request.getFileId(), request.getUploader(), request.getFilename(), size);
|
||||
}
|
||||
|
||||
return new JSONPrimitive<>(request.getFileId());
|
||||
|
||||
@ -501,9 +501,9 @@ public class FileStatusService {
|
||||
|
||||
|
||||
@Transactional
|
||||
public void createStatus(String dossierId, String fileId, String uploader, String filename) {
|
||||
public void createStatus(String dossierId, String fileId, String uploader, String filename, long size) {
|
||||
|
||||
fileStatusPersistenceService.createStatus(dossierId, fileId, filename, uploader);
|
||||
fileStatusPersistenceService.createStatus(dossierId, fileId, filename, uploader, size);
|
||||
addToAnalysisQueue(dossierId, fileId, false, Set.of(), false);
|
||||
}
|
||||
|
||||
|
||||
@ -72,7 +72,7 @@ public class UploadService {
|
||||
try {
|
||||
|
||||
storageService.storeObject(TenantContext.getTenantId(), storageId, new ByteArrayInputStream(fileContent));
|
||||
fileService.upload(new AddFileRequest(fileName, fileId, dossierId, KeycloakSecurity.getUserId()), keepManualRedactions);
|
||||
fileService.upload(new AddFileRequest(fileName, fileId, dossierId, KeycloakSecurity.getUserId()), keepManualRedactions, fileContent.length);
|
||||
|
||||
} catch (Exception e) {
|
||||
storageService.deleteObject(TenantContext.getTenantId(), storageId);
|
||||
|
||||
@ -40,7 +40,7 @@ public class FileStatusPersistenceService {
|
||||
private final DossierPersistenceService dossierService;
|
||||
|
||||
|
||||
public void createStatus(String dossierId, String fileId, String filename, String uploader) {
|
||||
public void createStatus(String dossierId, String fileId, String filename, String uploader, long size) {
|
||||
|
||||
OffsetDateTime now = OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS);
|
||||
FileEntity file = new FileEntity();
|
||||
@ -56,6 +56,7 @@ public class FileStatusPersistenceService {
|
||||
file.setLastUpdated(now);
|
||||
file.setFileManipulationDate(now);
|
||||
file.setProcessingErrorCounter(0);
|
||||
file.setFileSize(size);
|
||||
fileRepository.save(file);
|
||||
}
|
||||
|
||||
@ -66,11 +67,12 @@ public class FileStatusPersistenceService {
|
||||
if (isFileDeleted(fileId)) {
|
||||
return;
|
||||
}
|
||||
|
||||
log.info("File " + fileId + " has been optimized with file size " + fileSize);
|
||||
fileRepository.updateProcessingStatus(fileId,
|
||||
ProcessingStatus.PRE_PROCESSED,
|
||||
OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS),
|
||||
hasHighlights,
|
||||
fileSize,
|
||||
calculateProcessingErrorCounter(fileId, ProcessingStatus.PRE_PROCESSED));
|
||||
}
|
||||
|
||||
|
||||
@ -72,8 +72,8 @@ public interface FileRepository extends JpaRepository<FileEntity, String> {
|
||||
|
||||
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query("update FileEntity f set f.processingStatus = :processingStatus, f.lastUpdated = :lastUpdated," + " f.hasHighlights = :hasHighlights, f.fileSize = :fileSize, f.processingErrorCounter = :processingErrorCounter " + " where f.id = :fileId")
|
||||
void updateProcessingStatus(String fileId, ProcessingStatus processingStatus, OffsetDateTime lastUpdated, boolean hasHighlights, long fileSize, int processingErrorCounter);
|
||||
@Query("update FileEntity f set f.processingStatus = :processingStatus, f.lastUpdated = :lastUpdated," + " f.hasHighlights = :hasHighlights, f.processingErrorCounter = :processingErrorCounter " + " where f.id = :fileId")
|
||||
void updateProcessingStatus(String fileId, ProcessingStatus processingStatus, OffsetDateTime lastUpdated, boolean hasHighlights, int processingErrorCounter);
|
||||
|
||||
|
||||
@Modifying(clearAutomatically = true)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user