@@ -10,16 +10,12 @@ import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.soune.nocopy.dto.*;
|
||||
import ru.soune.nocopy.dto.file.*;
|
||||
import ru.soune.nocopy.entity.file.FileAppeal;
|
||||
import ru.soune.nocopy.entity.file.FileEntity;
|
||||
import ru.soune.nocopy.entity.file.FileStatus;
|
||||
import ru.soune.nocopy.entity.file.ProtectionStatus;
|
||||
import ru.soune.nocopy.entity.file.*;
|
||||
import ru.soune.nocopy.entity.file.moderation.ModerationLog;
|
||||
import ru.soune.nocopy.entity.monitoring.FileMonitoringEntity;
|
||||
import ru.soune.nocopy.exception.*;
|
||||
import ru.soune.nocopy.repository.FileAppealRepository;
|
||||
import ru.soune.nocopy.repository.FileEntityRepository;
|
||||
import ru.soune.nocopy.repository.*;
|
||||
import ru.soune.nocopy.service.file.cloud.CloudStorageService;
|
||||
import ru.soune.nocopy.repository.ModerationLogRepository;
|
||||
import ru.soune.nocopy.service.file.moderation.ModerationService;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.file.FileEntityService;
|
||||
@@ -48,6 +44,8 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private final FileEntityRepository fileEntityRepository;
|
||||
|
||||
private final FileMonitoringRepository fileMonitoringRepository;
|
||||
|
||||
private final CloudStorageService cloudStorageService;
|
||||
|
||||
private final ModerationService moderationService;
|
||||
@@ -56,6 +54,8 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private final ModerationLogRepository moderationLogRepository;
|
||||
|
||||
private final ImageHashRepository imageHashRepository;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) {
|
||||
try {
|
||||
@@ -715,7 +715,25 @@ public class FileEntityHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
if (!deletedIds.isEmpty()) {
|
||||
fileEntityRepository.deleteAllById(deletedIds);
|
||||
for (String fileId: deletedIds) {
|
||||
FileMonitoringEntity monitoring = fileMonitoringRepository.findByFileId(fileId).orElse(null);
|
||||
if (monitoring != null) {
|
||||
fileMonitoringRepository.delete(monitoring);
|
||||
}
|
||||
|
||||
List<ModerationLog> logRepositoryByFileId = moderationLogRepository.findByFileId(fileId);
|
||||
|
||||
moderationLogRepository.deleteAll(logRepositoryByFileId);
|
||||
|
||||
imageHashRepository.deleteByFileId(fileId);
|
||||
|
||||
List<FileAppeal> appeals = fileAppealRepository.findByFileId(fileId);
|
||||
|
||||
fileAppealRepository.deleteAll(appeals);
|
||||
|
||||
fileEntityRepository.deleteById(fileId);
|
||||
}
|
||||
|
||||
log.info("Deleted {} entities from database", deletedIds.size());
|
||||
}
|
||||
|
||||
|
||||
@@ -10,4 +10,6 @@ public interface ModerationLogRepository extends JpaRepository<ModerationLog, St
|
||||
List<ModerationLog> findByFileIdOrderByCreatedAtDesc(String fileId);
|
||||
|
||||
List<ModerationLog> findByModeratorId(Long moderatorId);
|
||||
|
||||
List<ModerationLog> findByFileId(String fileId);
|
||||
}
|
||||
Reference in New Issue
Block a user