From 454fa46df19c40ab9b9fc11f59c36dce64fcf332 Mon Sep 17 00:00:00 2001 From: PengyuDeng <89559616+PengyuDeng@users.noreply.github.com> Date: Wed, 27 Dec 2023 16:32:15 +0800 Subject: [PATCH] =?UTF-8?q?add(=E6=96=87=E4=BB=B6=E7=AE=A1=E7=90=86):=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20(#466)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --------- Co-authored-by: 老周 --- .../community/io/file/ClusterFileManager.java | 10 ++++++++++ .../org/jetlinks/community/io/file/FileManager.java | 2 ++ .../community/io/file/web/FileManagerController.java | 12 ++++++++++++ 3 files changed, 24 insertions(+) diff --git a/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/ClusterFileManager.java b/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/ClusterFileManager.java index 122c1b52..5cd83456 100644 --- a/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/ClusterFileManager.java +++ b/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/ClusterFileManager.java @@ -248,6 +248,16 @@ public class ClusterFileManager implements FileManager { }); } + @Override + public Mono delete(String id) { + return doDelete(id); + } + + public Mono doDelete(String id) { + return repository + .deleteById(id); + } + @EventListener public void handleDeleteEvent(EntityDeletedEvent event) { for (FileEntity fileEntity : event.getEntity()) { diff --git a/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/FileManager.java b/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/FileManager.java index d4d9853b..53995a15 100644 --- a/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/FileManager.java +++ b/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/FileManager.java @@ -29,6 +29,8 @@ public interface FileManager { Flux read(String id, Function> beforeRead); + Mono delete(String id); + interface ReaderContext { FileInfo info(); diff --git a/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/web/FileManagerController.java b/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/web/FileManagerController.java index 323fa281..48d32837 100644 --- a/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/web/FileManagerController.java +++ b/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/file/web/FileManagerController.java @@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.hswebframework.web.authorization.Authentication; import org.hswebframework.web.authorization.annotation.Authorize; +import org.hswebframework.web.authorization.annotation.DeleteAction; +import org.hswebframework.web.authorization.annotation.Resource; import org.hswebframework.web.authorization.exception.AccessDenyException; import org.jetlinks.community.io.file.FileInfo; import org.jetlinks.community.io.file.FileManager; @@ -24,6 +26,7 @@ import java.util.List; @RestController @RequestMapping("/file") @AllArgsConstructor +@Resource(id= "file-manager",name = "文件管理") @Tag(name = "需身份认证的文件管理") public class FileManagerController { @@ -100,4 +103,13 @@ public class FileManagerController { })); } + + @DeleteMapping("/{fileId}") + @DeleteAction + @Operation(summary = "删除文件") + public Mono delete(@PathVariable String fileId) { + return fileManager + .delete(fileId); + } + }