dev merge
Test Workflow / test (push) Has been cancelled

This commit is contained in:
2026-04-22 17:53:36 +07:00
parent 5de7e828c2
commit 0529af6526
2 changed files with 28 additions and 8 deletions
@@ -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);
} }