undlete fix

This commit is contained in:
Timo Bejan 2021-09-29 16:07:16 +03:00
parent 01eb984f43
commit 7a0bc96c63
2 changed files with 8 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package com.iqser.red.service.persistence.management.v1.processor.service.persistence;
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository;
@ -106,6 +107,9 @@ public class DossierPersistenceService {
@Transactional
public void undelete(String dossierId) {
dossierRepository.findById(dossierId).ifPresent(dossier -> {
if (dossier.getHardDeletedTime() != null) {
throw new BadRequestException("Cannot undelete a hard-dossier file!");
}
dossier.setStatus(DossierStatus.ACTIVE);
dossier.setSoftDeletedTime(null);
});

View File

@ -2,6 +2,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persis
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeEntity;
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository;
@ -234,6 +235,9 @@ public class FileStatusPersistenceService {
public void undelete(String fileId, FileStatus statusBefore) {
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
if (file.getHardDeletedTime() != null) {
throw new BadRequestException("Cannot undelete a hard-dossier file!");
}
file.setStatus(statusBefore != null ? statusBefore : FileStatus.UNASSIGNED);
file.setDeleted(null);
}, () -> {