2025-12-17 13:41:05 +07:00
|
|
|
package ru.soune.nocopy.service.file;
|
2025-12-15 19:49:09 +07:00
|
|
|
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
2025-12-17 13:41:05 +07:00
|
|
|
import ru.soune.nocopy.dto.file.UploadProgressResponse;
|
2026-02-13 21:11:30 +07:00
|
|
|
import ru.soune.nocopy.entity.file.FileEntity;
|
2026-01-30 12:52:16 +07:00
|
|
|
import ru.soune.nocopy.entity.file.FileStatus;
|
2025-12-17 13:41:05 +07:00
|
|
|
import ru.soune.nocopy.entity.file.FileUploadSession;
|
2025-12-15 19:49:09 +07:00
|
|
|
|
2025-12-16 03:44:59 +07:00
|
|
|
import java.io.IOException;
|
|
|
|
|
|
2025-12-15 19:49:09 +07:00
|
|
|
public interface FileUploadService {
|
|
|
|
|
FileUploadSession initUpload(Long userId, String fileName,
|
2026-02-25 19:29:19 +07:00
|
|
|
String fileType, String extension, String convertTo, long fileSize);
|
2025-12-15 19:49:09 +07:00
|
|
|
|
2025-12-25 15:27:45 +07:00
|
|
|
void handleExpiredSession(FileUploadSession session);
|
2025-12-16 03:44:59 +07:00
|
|
|
|
2026-01-26 14:14:56 +07:00
|
|
|
void cancelUpload(String uploadId);
|
2026-01-26 14:20:00 +07:00
|
|
|
|
2026-01-26 21:03:45 +07:00
|
|
|
UploadProgressResponse uploadChunk(String uploadId, Integer chunkNumber, MultipartFile chunkFile, Integer findSimilar);
|
2026-01-26 14:28:47 +07:00
|
|
|
|
|
|
|
|
UploadProgressResponse getUploadProgress(String uploadId);
|
|
|
|
|
|
2026-02-13 21:11:30 +07:00
|
|
|
FileEntity completeFileProcessingAsync(FileUploadSession session, FileStatus status);
|
2025-12-15 19:49:09 +07:00
|
|
|
}
|