github.com/cloudreve/Cloudreve/v3@v3.0.0-20240224133659-3edb00a6484c/routers/controllers/objects.go (about) 1 package controllers 2 3 import ( 4 "context" 5 6 "github.com/cloudreve/Cloudreve/v3/service/explorer" 7 "github.com/gin-gonic/gin" 8 ) 9 10 // Delete 删除文件或目录 11 func Delete(c *gin.Context) { 12 // 创建上下文 13 ctx, cancel := context.WithCancel(context.Background()) 14 defer cancel() 15 16 var service explorer.ItemIDService 17 if err := c.ShouldBindJSON(&service); err == nil { 18 res := service.Delete(ctx, c) 19 c.JSON(200, res) 20 } else { 21 c.JSON(200, ErrorResponse(err)) 22 } 23 } 24 25 // Move 移动文件或目录 26 func Move(c *gin.Context) { 27 // 创建上下文 28 ctx, cancel := context.WithCancel(context.Background()) 29 defer cancel() 30 31 var service explorer.ItemMoveService 32 if err := c.ShouldBindJSON(&service); err == nil { 33 res := service.Move(ctx, c) 34 c.JSON(200, res) 35 } else { 36 c.JSON(200, ErrorResponse(err)) 37 } 38 } 39 40 // Copy 复制文件或目录 41 func Copy(c *gin.Context) { 42 // 创建上下文 43 ctx, cancel := context.WithCancel(context.Background()) 44 defer cancel() 45 46 var service explorer.ItemMoveService 47 if err := c.ShouldBindJSON(&service); err == nil { 48 res := service.Copy(ctx, c) 49 c.JSON(200, res) 50 } else { 51 c.JSON(200, ErrorResponse(err)) 52 } 53 } 54 55 // Rename 重命名文件或目录 56 func Rename(c *gin.Context) { 57 // 创建上下文 58 ctx, cancel := context.WithCancel(context.Background()) 59 defer cancel() 60 61 var service explorer.ItemRenameService 62 if err := c.ShouldBindJSON(&service); err == nil { 63 res := service.Rename(ctx, c) 64 c.JSON(200, res) 65 } else { 66 c.JSON(200, ErrorResponse(err)) 67 } 68 } 69 70 // Rename 重命名文件或目录 71 func GetProperty(c *gin.Context) { 72 // 创建上下文 73 ctx, cancel := context.WithCancel(context.Background()) 74 defer cancel() 75 76 var service explorer.ItemPropertyService 77 service.ID = c.Param("id") 78 if err := c.ShouldBindQuery(&service); err == nil { 79 res := service.GetProperty(ctx, c) 80 c.JSON(200, res) 81 } else { 82 c.JSON(200, ErrorResponse(err)) 83 } 84 }