mirror of
https://gitee.com/dromara/mayfly-go
synced 2026-01-06 06:35:47 +08:00
refactor: 代码结构调整
This commit is contained in:
83
server/internal/machine/router/machine.go
Normal file
83
server/internal/machine/router/machine.go
Normal file
@@ -0,0 +1,83 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"mayfly-go/internal/machine/api"
|
||||
"mayfly-go/internal/machine/application"
|
||||
projectapp "mayfly-go/internal/project/application"
|
||||
"mayfly-go/pkg/ctx"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func InitMachineRouter(router *gin.RouterGroup) {
|
||||
m := &api.Machine{
|
||||
MachineApp: application.GetMachineApp(),
|
||||
ProjectApp: projectapp.GetProjectApp(),
|
||||
}
|
||||
|
||||
machines := router.Group("machines")
|
||||
{
|
||||
machines.GET("", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).Handle(m.Machines)
|
||||
})
|
||||
|
||||
machines.GET(":machineId/pwd", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).Handle(m.GetMachinePwd)
|
||||
})
|
||||
|
||||
machines.GET(":machineId/stats", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).Handle(m.MachineStats)
|
||||
})
|
||||
|
||||
machines.GET(":machineId/process", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).Handle(m.GetProcess)
|
||||
})
|
||||
|
||||
// 终止进程
|
||||
killProcessL := ctx.NewLogInfo("终止进程").WithSave(true)
|
||||
killProcessP := ctx.NewPermission("machine:killprocess")
|
||||
machines.DELETE(":machineId/process", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).
|
||||
WithLog(killProcessL).
|
||||
WithRequiredPermission(killProcessP).
|
||||
Handle(m.KillProcess)
|
||||
})
|
||||
|
||||
saveMachine := ctx.NewLogInfo("保存机器信息").WithSave(true)
|
||||
saveMachineP := ctx.NewPermission("machine:update")
|
||||
machines.POST("", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).
|
||||
WithLog(saveMachine).
|
||||
WithRequiredPermission(saveMachineP).
|
||||
Handle(m.SaveMachine)
|
||||
})
|
||||
|
||||
changeStatus := ctx.NewLogInfo("调整机器状态").WithSave(true)
|
||||
machines.PUT(":machineId/:status", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).
|
||||
WithLog(changeStatus).
|
||||
Handle(m.ChangeStatus)
|
||||
})
|
||||
|
||||
delMachine := ctx.NewLogInfo("删除机器").WithSave(true)
|
||||
machines.DELETE(":machineId", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).
|
||||
WithLog(delMachine).
|
||||
Handle(m.DeleteMachine)
|
||||
})
|
||||
|
||||
closeCli := ctx.NewLogInfo("关闭机器客户端").WithSave(true)
|
||||
machines.DELETE(":machineId/close-cli", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).WithLog(closeCli).Handle(m.CloseCli)
|
||||
})
|
||||
|
||||
machines.GET(":machineId/terminal", m.WsSSH)
|
||||
|
||||
// 获取机器终端回放记录的相应文件夹名或文件名,目前具有保存机器信息的权限标识才有权限查看终端回放
|
||||
machines.GET("rec/names", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).
|
||||
WithRequiredPermission(saveMachineP).
|
||||
Handle(m.MachineRecDirNames)
|
||||
})
|
||||
}
|
||||
}
|
||||
87
server/internal/machine/router/machine_file.go
Normal file
87
server/internal/machine/router/machine_file.go
Normal file
@@ -0,0 +1,87 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"mayfly-go/internal/machine/api"
|
||||
"mayfly-go/internal/machine/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.GetMachineFileApp(),
|
||||
MachineApp: application.GetMachineApp(),
|
||||
MsgApp: sysApplication.GetMsgApp(),
|
||||
}
|
||||
|
||||
// 获取指定机器文件列表
|
||||
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)
|
||||
})
|
||||
}
|
||||
}
|
||||
53
server/internal/machine/router/machine_script.go
Normal file
53
server/internal/machine/router/machine_script.go
Normal file
@@ -0,0 +1,53 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"mayfly-go/internal/machine/api"
|
||||
"mayfly-go/internal/machine/application"
|
||||
projectapp "mayfly-go/internal/project/application"
|
||||
"mayfly-go/pkg/ctx"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func InitMachineScriptRouter(router *gin.RouterGroup) {
|
||||
machines := router.Group("machines")
|
||||
{
|
||||
ms := &api.MachineScript{
|
||||
MachineScriptApp: application.GetMachineScriptApp(),
|
||||
MachineApp: application.GetMachineApp(),
|
||||
ProjectApp: projectapp.GetProjectApp(),
|
||||
}
|
||||
|
||||
// 获取指定机器脚本列表
|
||||
machines.GET(":machineId/scripts", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).Handle(ms.MachineScripts)
|
||||
})
|
||||
|
||||
saveMachienScriptLog := ctx.NewLogInfo("保存脚本").WithSave(true)
|
||||
smsP := ctx.NewPermission("machine:script:save")
|
||||
// 保存脚本
|
||||
machines.POST(":machineId/scripts", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).WithLog(saveMachienScriptLog).
|
||||
WithRequiredPermission(smsP).
|
||||
Handle(ms.SaveMachineScript)
|
||||
})
|
||||
|
||||
deleteLog := ctx.NewLogInfo("删除脚本").WithSave(true)
|
||||
dP := ctx.NewPermission("machine:script:del")
|
||||
// 保存脚本
|
||||
machines.DELETE(":machineId/scripts/:scriptId", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).WithLog(deleteLog).
|
||||
WithRequiredPermission(dP).
|
||||
Handle(ms.DeleteMachineScript)
|
||||
})
|
||||
|
||||
runLog := ctx.NewLogInfo("执行机器脚本").WithSave(true)
|
||||
rP := ctx.NewPermission("machine:script:run")
|
||||
// 运行脚本
|
||||
machines.GET(":machineId/scripts/:scriptId/run", func(c *gin.Context) {
|
||||
ctx.NewReqCtxWithGin(c).WithLog(runLog).
|
||||
WithRequiredPermission(rP).
|
||||
Handle(ms.RunMachineScript)
|
||||
})
|
||||
}
|
||||
}
|
||||
9
server/internal/machine/router/router.go
Normal file
9
server/internal/machine/router/router.go
Normal file
@@ -0,0 +1,9 @@
|
||||
package router
|
||||
|
||||
import "github.com/gin-gonic/gin"
|
||||
|
||||
func Init(router *gin.RouterGroup) {
|
||||
InitMachineRouter(router)
|
||||
InitMachineFileRouter(router)
|
||||
InitMachineScriptRouter(router)
|
||||
}
|
||||
Reference in New Issue
Block a user