diff --git a/src/main/java/ru/soune/nocopy/controller/ApiController.java b/src/main/java/ru/soune/nocopy/controller/ApiController.java index 7cf63c3..d740319 100644 --- a/src/main/java/ru/soune/nocopy/controller/ApiController.java +++ b/src/main/java/ru/soune/nocopy/controller/ApiController.java @@ -337,7 +337,7 @@ public class ApiController { errorData)); } - Path filePath = Paths.get(entityResponse.getFilePath()); + Path filePath = Paths.get(entityResponse.getProtectStatus()); Resource resource = new UrlResource(filePath.toUri()); if (!resource.exists()) { diff --git a/src/main/java/ru/soune/nocopy/controller/FileController.java b/src/main/java/ru/soune/nocopy/controller/FileController.java index 51d687a..7812198 100644 --- a/src/main/java/ru/soune/nocopy/controller/FileController.java +++ b/src/main/java/ru/soune/nocopy/controller/FileController.java @@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import ru.soune.nocopy.entity.file.FileEntity; +import ru.soune.nocopy.entity.file.ProtectionStatus; import ru.soune.nocopy.repository.FileEntityRepository; import ru.soune.nocopy.service.file.FileStorageService; @@ -34,11 +35,11 @@ public class FileController { FileEntity fileEntity = fileRepository.findById(fileId) .orElseThrow(() -> new RuntimeException("File not found")); -// if (fileEntity.getProtectionStatus() != ProtectionStatus.NOT_PROTECTED) { -// throw new RuntimeException("File is protected"); -// } + if (fileEntity.getProtectionStatus() != ProtectionStatus.NOT_PROTECTED) { + throw new RuntimeException("File is protected"); + } - Resource resource = fileStorageService.loadFileAsResource(fileEntity.getFilePath()); + Resource resource = fileStorageService.loadFileAsResource(fileEntity.getProtectedFilePath()); return ResponseEntity.ok() .contentType(new MediaType(fileEntity.getMimeType(), fileEntity.getFileExtension())) @@ -46,19 +47,4 @@ public class FileController { "inline; filename=\"" + fileEntity.getOriginalFileName() + "\"") .body(resource); } - - @GetMapping("/download/{fileId}") - public ResponseEntity downloadFile(@PathVariable String fileId) throws IOException { - - FileEntity fileEntity = fileRepository.findById(fileId) - .orElseThrow(() -> new RuntimeException("File not found")); - - Resource resource = fileStorageService.loadFileAsResource(fileEntity.getFilePath()); - - return ResponseEntity.ok() - .contentType(MediaType.APPLICATION_OCTET_STREAM) - .header(HttpHeaders.CONTENT_DISPOSITION, - "attachment; filename=\"" + fileEntity.getOriginalFileName() + "\"") - .body(resource); - } } diff --git a/src/main/java/ru/soune/nocopy/handler/FileEntityHandler.java b/src/main/java/ru/soune/nocopy/handler/FileEntityHandler.java index 2d6fcdf..3e925e5 100644 --- a/src/main/java/ru/soune/nocopy/handler/FileEntityHandler.java +++ b/src/main/java/ru/soune/nocopy/handler/FileEntityHandler.java @@ -285,10 +285,6 @@ public class FileEntityHandler implements RequestHandler { .build(); } else { fileEntityService.softDeleteFileWithHash(fileEntity); -// -// imageHashRepository.deleteByFileId(fileEntity.getId()); -// -// fileEntityService.markAsDeleted(fileEntity); response = DeleteFileResponse.builder() .fileId(fileRequest.getFileId()) diff --git a/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java b/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java index 6aa130a..ae1871b 100644 --- a/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java +++ b/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java @@ -353,7 +353,7 @@ public class FileEntityService { .userId(fileEntity.getUserId()) .originalFileName(fileEntity.getOriginalFileName()) .storedFileName(fileEntity.getStoredFileName()) - .filePath(fileEntity.getFilePath()) + .filePath(fileEntity.getProtectedFilePath()) .fileSize(fileEntity.getFileSize()) .mimeType(fileEntity.getMimeType()) .fileExtension(fileEntity.getFileExtension())