migration-fp-hotfix

This commit is contained in:
Kilian Schuettler 2024-07-23 09:55:19 +02:00
parent 2f35d2b218
commit fe3b437b80
2 changed files with 28 additions and 2 deletions

View File

@ -96,6 +96,23 @@ public class SaasMigrationService implements TenantSyncService {
for (var file : files) {
var dossier = dossierService.getDossierById(file.getDossierId());
if (dossier.getHardDeletedTime() != null) {
if (fileStatusPersistenceService.getStatus(file.getFileId()).getHardDeletedTime() != null) {
saasMigrationStatusPersistenceService.updateStatus(file.getFileId(), SaasMigrationStatus.FINISHED);
continue;
} else {
fileStatusPersistenceService.hardDelete(file.getFileId(), dossier.getHardDeletedTime());
saasMigrationStatusPersistenceService.updateStatus(file.getFileId(), SaasMigrationStatus.FINISHED);
continue;
}
}
if (fileStatusPersistenceService.getStatus(file.getFileId()).getHardDeletedTime() != null) {
saasMigrationStatusPersistenceService.updateStatus(file.getFileId(), SaasMigrationStatus.FINISHED);
continue;
}
if (!file.getStatus().equals(SaasMigrationStatus.MIGRATION_REQUIRED)) {
log.info("Skipping {} for tenant {} since migration status is {}", file.getFileId(), TenantContext.getTenantId(), file.getStatus());
continue;

View File

@ -403,7 +403,10 @@ public class FileStatusPersistenceService {
public List<FileEntity> getStatusesForDossierTemplate(String dossierTemplateId) {
return dossierService.findAllDossiersForDossierTemplateId(dossierTemplateId)
.stream().map(dossier -> fileRepository.findByDossierId(dossier.getId())).flatMap(List::stream).toList();
.stream()
.map(dossier -> fileRepository.findByDossierId(dossier.getId()))
.flatMap(List::stream)
.toList();
}
@ -444,6 +447,12 @@ public class FileStatusPersistenceService {
public void hardDelete(String fileId) {
var now = OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS);
hardDelete(fileId, now);
}
@Transactional
public void hardDelete(String fileId, OffsetDateTime now) {
fileRepository.hardDeleteFiles(List.of(fileId), ProcessingStatus.PROCESSED, now);
fileAttributesRepository.deleteByFileId(fileId);
@ -453,7 +462,7 @@ public class FileStatusPersistenceService {
@Transactional
public void softDelete(String fileId, OffsetDateTime softDeletedTime) {
fileRepository.setSoftDelete(fileId, ProcessingStatus.PROCESSED, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), softDeletedTime);
fileRepository.setSoftDelete(fileId, ProcessingStatus.PROCESSED, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), softDeletedTime);
}