@@ -10,16 +10,12 @@ import org.springframework.data.domain.Sort;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import ru.soune.nocopy.dto.*;
|
import ru.soune.nocopy.dto.*;
|
||||||
import ru.soune.nocopy.dto.file.*;
|
import ru.soune.nocopy.dto.file.*;
|
||||||
import ru.soune.nocopy.entity.file.FileAppeal;
|
import ru.soune.nocopy.entity.file.*;
|
||||||
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.moderation.ModerationLog;
|
import ru.soune.nocopy.entity.file.moderation.ModerationLog;
|
||||||
|
import ru.soune.nocopy.entity.monitoring.FileMonitoringEntity;
|
||||||
import ru.soune.nocopy.exception.*;
|
import ru.soune.nocopy.exception.*;
|
||||||
import ru.soune.nocopy.repository.FileAppealRepository;
|
import ru.soune.nocopy.repository.*;
|
||||||
import ru.soune.nocopy.repository.FileEntityRepository;
|
|
||||||
import ru.soune.nocopy.service.file.cloud.CloudStorageService;
|
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.file.moderation.ModerationService;
|
||||||
import ru.soune.nocopy.service.register.AuthService;
|
import ru.soune.nocopy.service.register.AuthService;
|
||||||
import ru.soune.nocopy.service.file.FileEntityService;
|
import ru.soune.nocopy.service.file.FileEntityService;
|
||||||
@@ -48,6 +44,8 @@ public class FileEntityHandler implements RequestHandler {
|
|||||||
|
|
||||||
private final FileEntityRepository fileEntityRepository;
|
private final FileEntityRepository fileEntityRepository;
|
||||||
|
|
||||||
|
private final FileMonitoringRepository fileMonitoringRepository;
|
||||||
|
|
||||||
private final CloudStorageService cloudStorageService;
|
private final CloudStorageService cloudStorageService;
|
||||||
|
|
||||||
private final ModerationService moderationService;
|
private final ModerationService moderationService;
|
||||||
@@ -56,6 +54,8 @@ public class FileEntityHandler implements RequestHandler {
|
|||||||
|
|
||||||
private final ModerationLogRepository moderationLogRepository;
|
private final ModerationLogRepository moderationLogRepository;
|
||||||
|
|
||||||
|
private final ImageHashRepository imageHashRepository;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BaseResponse handle(BaseRequest request) {
|
public BaseResponse handle(BaseRequest request) {
|
||||||
try {
|
try {
|
||||||
@@ -715,7 +715,25 @@ public class FileEntityHandler implements RequestHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!deletedIds.isEmpty()) {
|
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());
|
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> findByFileIdOrderByCreatedAtDesc(String fileId);
|
||||||
|
|
||||||
List<ModerationLog> findByModeratorId(Long moderatorId);
|
List<ModerationLog> findByModeratorId(Long moderatorId);
|
||||||
|
|
||||||
|
List<ModerationLog> findByFileId(String fileId);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user