mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2024-12-12 07:29:11 +08:00
175 lines
5.8 KiB
Go
175 lines
5.8 KiB
Go
|
package v1
|
||
|
|
||
|
import (
|
||
|
"github.com/1Panel-dev/1Panel/backend/app/api/v1/helper"
|
||
|
"github.com/1Panel-dev/1Panel/backend/app/dto/request"
|
||
|
"github.com/1Panel-dev/1Panel/backend/constant"
|
||
|
"github.com/1Panel-dev/1Panel/backend/global"
|
||
|
"github.com/gin-gonic/gin"
|
||
|
)
|
||
|
|
||
|
// @Tags Host tool
|
||
|
// @Summary Get tool
|
||
|
// @Description 获取主机工具状态
|
||
|
// @Accept json
|
||
|
// @Param request body request.HostToolReq true "request"
|
||
|
// @Success 200
|
||
|
// @Security ApiKeyAuth
|
||
|
// @Router /host/tool [post]
|
||
|
func (b *BaseApi) GetToolStatus(c *gin.Context) {
|
||
|
var req request.HostToolReq
|
||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
if err := global.VALID.Struct(req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
config, err := hostToolService.GetToolStatus(req)
|
||
|
if err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
||
|
return
|
||
|
}
|
||
|
helper.SuccessWithData(c, config)
|
||
|
}
|
||
|
|
||
|
// @Tags Host tool
|
||
|
// @Summary Create Host tool Config
|
||
|
// @Description 创建主机工具配置
|
||
|
// @Accept json
|
||
|
// @Param request body request.HostToolCreate true "request"
|
||
|
// @Success 200
|
||
|
// @Security ApiKeyAuth
|
||
|
// @Router /host/tool/create [post]
|
||
|
// @x-panel-log {"bodyKeys":["type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"创建 [type] 配置","formatEN":"create [type] config"}
|
||
|
func (b *BaseApi) InitToolConfig(c *gin.Context) {
|
||
|
var req request.HostToolCreate
|
||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
if err := global.VALID.Struct(req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
if err := hostToolService.CreateToolConfig(req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
||
|
return
|
||
|
}
|
||
|
helper.SuccessWithOutData(c)
|
||
|
}
|
||
|
|
||
|
// @Tags Host tool
|
||
|
// @Summary Operate tool
|
||
|
// @Description 操作主机工具
|
||
|
// @Accept json
|
||
|
// @Param request body request.HostToolReq true "request"
|
||
|
// @Success 200
|
||
|
// @Security ApiKeyAuth
|
||
|
// @Router /host/tool/operate [post]
|
||
|
// @x-panel-log {"bodyKeys":["operate","type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"[operate] [type] ","formatEN":"[operate] [type]"}
|
||
|
func (b *BaseApi) OperateTool(c *gin.Context) {
|
||
|
var req request.HostToolReq
|
||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
if err := global.VALID.Struct(req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
err := hostToolService.OperateTool(req)
|
||
|
if err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
||
|
return
|
||
|
}
|
||
|
helper.SuccessWithOutData(c)
|
||
|
}
|
||
|
|
||
|
// @Tags Host tool
|
||
|
// @Summary Get tool config
|
||
|
// @Description 操作主机工具配置文件
|
||
|
// @Accept json
|
||
|
// @Param request body request.HostToolConfig true "request"
|
||
|
// @Success 200
|
||
|
// @Security ApiKeyAuth
|
||
|
// @Router /host/tool/config [post]
|
||
|
// @x-panel-log {"bodyKeys":["operate"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"[operate] 主机工具配置文件 ","formatEN":"[operate] tool config"}
|
||
|
func (b *BaseApi) OperateToolConfig(c *gin.Context) {
|
||
|
var req request.HostToolConfig
|
||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
if err := global.VALID.Struct(req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
config, err := hostToolService.OperateToolConfig(req)
|
||
|
if err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
||
|
return
|
||
|
}
|
||
|
helper.SuccessWithData(c, config)
|
||
|
}
|
||
|
|
||
|
// @Tags Host tool
|
||
|
// @Summary Get tool
|
||
|
// @Description 获取主机工具日志
|
||
|
// @Accept json
|
||
|
// @Param request body request.HostToolLogReq true "request"
|
||
|
// @Success 200
|
||
|
// @Security ApiKeyAuth
|
||
|
// @Router /host/tool/log [post]
|
||
|
func (b *BaseApi) GetToolLog(c *gin.Context) {
|
||
|
var req request.HostToolLogReq
|
||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
if err := global.VALID.Struct(req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
logContent, err := hostToolService.GetToolLog(req)
|
||
|
if err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
||
|
return
|
||
|
}
|
||
|
helper.SuccessWithData(c, logContent)
|
||
|
}
|
||
|
|
||
|
// @Tags Host tool
|
||
|
// @Summary Create Supervisor process
|
||
|
// @Description 操作守护进程
|
||
|
// @Accept json
|
||
|
// @Param request body request.SupervisorProcessConfig true "request"
|
||
|
// @Success 200
|
||
|
// @Security ApiKeyAuth
|
||
|
// @Router /host/tool/supervisor/process [post]
|
||
|
// @x-panel-log {"bodyKeys":["operate"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"[operate] 守护进程 ","formatEN":"[operate] process"}
|
||
|
func (b *BaseApi) OperateProcess(c *gin.Context) {
|
||
|
var req request.SupervisorProcessConfig
|
||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
if err := global.VALID.Struct(req); err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
err := hostToolService.OperateSupervisorProcess(req)
|
||
|
if err != nil {
|
||
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
||
|
return
|
||
|
}
|
||
|
helper.SuccessWithOutData(c)
|
||
|
}
|