From c5ef58ddd4e6798086a71d06342d24a797b70e6d Mon Sep 17 00:00:00 2001 From: vladp Date: Wed, 24 Dec 2025 14:20:49 +0700 Subject: [PATCH] fix after test --- .../dto/file/FileExtensionResponse.java | 17 +++++++++++++++ .../nocopy/handler/FileUploadHandler.java | 21 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/main/java/ru/soune/nocopy/dto/file/FileExtensionResponse.java diff --git a/src/main/java/ru/soune/nocopy/dto/file/FileExtensionResponse.java b/src/main/java/ru/soune/nocopy/dto/file/FileExtensionResponse.java new file mode 100644 index 0000000..026def0 --- /dev/null +++ b/src/main/java/ru/soune/nocopy/dto/file/FileExtensionResponse.java @@ -0,0 +1,17 @@ +package ru.soune.nocopy.dto.file; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Data +@Builder +public class FileExtensionResponse { + @JsonProperty("file_extension") + private List extension; + + @JsonProperty("count") + private Integer count; +} diff --git a/src/main/java/ru/soune/nocopy/handler/FileUploadHandler.java b/src/main/java/ru/soune/nocopy/handler/FileUploadHandler.java index 7674f4c..a0a4366 100644 --- a/src/main/java/ru/soune/nocopy/handler/FileUploadHandler.java +++ b/src/main/java/ru/soune/nocopy/handler/FileUploadHandler.java @@ -44,6 +44,8 @@ public class FileUploadHandler implements RequestHandler { return handleInitUpload(request, fileRequest); case "file_types": return handleGetFileTypes(request); + case "file_extension": + return handleGetFileExtensions(fileRequest, request); case "chunks": return handleGetChunkStatus(request, fileRequest); case "cancel": @@ -243,4 +245,23 @@ public class FileUploadHandler implements RequestHandler { "Failed to get file types", null); } } + + private BaseResponse handleGetFileExtensions(FileUploadRequest fileRequest, BaseRequest request) { + try { + FileType fileType = FileType.valueOf(fileRequest.getFileType().toUpperCase()); + List allowedExtensions = fileType.getAllowedExtensions(); + + FileExtensionResponse response = FileExtensionResponse.builder() + .extension(allowedExtensions) + .count(allowedExtensions.size()) + .build(); + + return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(), + MessageCode.SUCCESS.getDescription(), response); + } catch (Exception e) { + log.error("Error getting file extensions", e); + return new BaseResponse(request.getMsgId(), MessageCode.FILE_UPLOAD_ERROR.getCode(), + "Failed to get file extensions", null); + } + } }