@@ -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<String> extension;
|
||||
|
||||
@JsonProperty("count")
|
||||
private Integer count;
|
||||
}
|
||||
@@ -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<String> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user