mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-03 16:00:25 +08:00
88 lines
2.9 KiB
Go
88 lines
2.9 KiB
Go
package router
|
|
|
|
import (
|
|
"mayfly-go/internal/devops/api"
|
|
"mayfly-go/internal/devops/application"
|
|
sysApplication "mayfly-go/internal/sys/application"
|
|
"mayfly-go/pkg/ctx"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func InitMachineFileRouter(router *gin.RouterGroup) {
|
|
machineFile := router.Group("machines")
|
|
{
|
|
mf := &api.MachineFile{
|
|
MachineFileApp: application.MachineFileApp,
|
|
MachineApp: application.MachineApp,
|
|
MsgApp: sysApplication.MsgApp,
|
|
}
|
|
|
|
// 获取指定机器文件列表
|
|
machineFile.GET(":machineId/files", func(c *gin.Context) {
|
|
ctx.NewReqCtxWithGin(c).Handle(mf.MachineFiles)
|
|
})
|
|
|
|
// 新增修改机器文件
|
|
addFileConf := ctx.NewLogInfo("新增机器文件配置").WithSave(true)
|
|
afcP := ctx.NewPermission("machine:file:add")
|
|
machineFile.POST(":machineId/files", func(c *gin.Context) {
|
|
ctx.NewReqCtxWithGin(c).WithLog(addFileConf).
|
|
WithRequiredPermission(afcP).
|
|
Handle(mf.SaveMachineFiles)
|
|
})
|
|
|
|
// 删除机器文件
|
|
delFileConf := ctx.NewLogInfo("删除机器文件配置").WithSave(true)
|
|
dfcP := ctx.NewPermission("machine:file:del")
|
|
machineFile.DELETE(":machineId/files/:fileId", func(c *gin.Context) {
|
|
ctx.NewReqCtxWithGin(c).WithLog(delFileConf).
|
|
WithRequiredPermission(dfcP).
|
|
Handle(mf.DeleteFile)
|
|
})
|
|
|
|
getContent := ctx.NewLogInfo("读取机器文件内容").WithSave(true)
|
|
machineFile.GET(":machineId/files/:fileId/read", func(c *gin.Context) {
|
|
ctx.NewReqCtxWithGin(c).WithLog(getContent).
|
|
Handle(mf.ReadFileContent)
|
|
})
|
|
|
|
getDir := ctx.NewLogInfo("读取机器目录")
|
|
machineFile.GET(":machineId/files/:fileId/read-dir", func(c *gin.Context) {
|
|
ctx.NewReqCtxWithGin(c).WithLog(getDir).
|
|
Handle(mf.GetDirEntry)
|
|
})
|
|
|
|
writeFile := ctx.NewLogInfo("写入or下载文件内容").WithSave(true)
|
|
wfP := ctx.NewPermission("machine:file:write")
|
|
machineFile.POST(":machineId/files/:fileId/write", func(c *gin.Context) {
|
|
ctx.NewReqCtxWithGin(c).WithLog(writeFile).
|
|
WithRequiredPermission(wfP).
|
|
Handle(mf.WriteFileContent)
|
|
})
|
|
|
|
createFile := ctx.NewLogInfo("创建机器文件or目录").WithSave(true)
|
|
machineFile.POST(":machineId/files/:fileId/create-file", func(c *gin.Context) {
|
|
ctx.NewReqCtxWithGin(c).WithLog(createFile).
|
|
WithRequiredPermission(wfP).
|
|
Handle(mf.CreateFile)
|
|
})
|
|
|
|
uploadFile := ctx.NewLogInfo("文件上传").WithSave(true)
|
|
ufP := ctx.NewPermission("machine:file:upload")
|
|
machineFile.POST(":machineId/files/:fileId/upload", func(c *gin.Context) {
|
|
ctx.NewReqCtxWithGin(c).WithLog(uploadFile).
|
|
WithRequiredPermission(ufP).
|
|
Handle(mf.UploadFile)
|
|
})
|
|
|
|
removeFile := ctx.NewLogInfo("删除文件or文件夹").WithSave(true)
|
|
rfP := ctx.NewPermission("machine:file:rm")
|
|
machineFile.DELETE(":machineId/files/:fileId/remove", func(c *gin.Context) {
|
|
ctx.NewReqCtxWithGin(c).WithLog(removeFile).
|
|
WithRequiredPermission(rfP).
|
|
Handle(mf.RemoveFile)
|
|
})
|
|
}
|
|
}
|