mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/1Panel-dev/1Panel.git
synced 2026-09-21 00:24:12 +08:00
205 lines
5.9 KiB
Go
205 lines
5.9 KiB
Go
package v2
|
|
|
|
import (
|
|
"github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
|
|
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// @Tags Host tool
|
|
// @Summary Get tool status
|
|
// @Accept json
|
|
// @Param request body request.HostToolTypeReq true "request"
|
|
// @Success 200 {object} response.HostToolRes
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /hosts/tool/status [post]
|
|
func (b *BaseApi) GetToolStatus(c *gin.Context) {
|
|
var req request.HostToolTypeReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
|
|
config, err := hostToolService.GetToolStatus(req)
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, config)
|
|
}
|
|
|
|
// @Tags Host tool
|
|
// @Summary Create Host tool Config
|
|
// @Accept json
|
|
// @Param request body request.HostToolCreate true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /hosts/tool/init [post]
|
|
// @x-panel-log {"bodyKeys":["type"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"创建 [type] 配置","formatEN":"create [type] config"}
|
|
func (b *BaseApi) InitToolConfig(c *gin.Context) {
|
|
var req request.HostToolCreate
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
|
|
if err := hostToolService.CreateToolConfig(req); err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags Host tool
|
|
// @Summary Operate tool
|
|
// @Accept json
|
|
// @Param request body request.HostToolOperateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /hosts/tool/operate [post]
|
|
// @x-panel-log {"bodyKeys":["operate","type"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"[operate] [type] ","formatEN":"[operate] [type]"}
|
|
func (b *BaseApi) OperateTool(c *gin.Context) {
|
|
var req request.HostToolOperateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
err := hostToolService.OperateTool(req)
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags Host tool
|
|
// @Summary Get tool config
|
|
// @Accept json
|
|
// @Param request body request.HostToolTypeReq true "request"
|
|
// @Success 200 {object} response.HostToolConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /hosts/tool/config/get [post]
|
|
func (b *BaseApi) GetToolConfig(c *gin.Context) {
|
|
var req request.HostToolTypeReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
|
|
config, err := hostToolService.GetToolConfig(req)
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, config)
|
|
}
|
|
|
|
// @Tags Host tool
|
|
// @Summary Update tool config
|
|
// @Accept json
|
|
// @Param request body request.HostToolConfigUpdate true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /hosts/tool/config/set [post]
|
|
// @x-panel-log {"bodyKeys":["type"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"更新 [type] 主机工具配置文件 ","formatEN":"update [type] tool config"}
|
|
func (b *BaseApi) UpdateToolConfig(c *gin.Context) {
|
|
var req request.HostToolConfigUpdate
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
|
|
if err := hostToolService.UpdateToolConfig(req); err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags Host tool
|
|
// @Summary Create Supervisor process
|
|
// @Accept json
|
|
// @Param request body request.SupervisorProcessConfig true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /hosts/tool/supervisor/process [post]
|
|
// @x-panel-log {"bodyKeys":["operate"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"[operate] 守护进程 ","formatEN":"[operate] process"}
|
|
func (b *BaseApi) OperateProcess(c *gin.Context) {
|
|
var req request.SupervisorProcessConfig
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
|
|
err := hostToolService.OperateSupervisorProcess(req)
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags Host tool
|
|
// @Summary Get Supervisor process config
|
|
// @Accept json
|
|
// @Success 200 {object} response.SupervisorProcessConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /hosts/tool/supervisor/process [get]
|
|
func (b *BaseApi) GetProcess(c *gin.Context) {
|
|
configs, err := hostToolService.GetSupervisorProcessConfig()
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, configs)
|
|
}
|
|
|
|
// @Tags Host tool
|
|
// @Summary Get Supervisor process config file
|
|
// @Accept json
|
|
// @Param request body request.HostSupervisorProcessFileGetReq true "request"
|
|
// @Success 200 {string} content
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /hosts/tool/supervisor/process/file/get [post]
|
|
func (b *BaseApi) GetProcessFile(c *gin.Context) {
|
|
var req request.HostSupervisorProcessFileGetReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
content, err := hostToolService.GetSupervisorProcessFile(req)
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, content)
|
|
}
|
|
|
|
// @Tags Host tool
|
|
// @Summary Operate Supervisor process config file
|
|
// @Accept json
|
|
// @Param request body request.HostSupervisorProcessFileOperateReq true "request"
|
|
// @Success 200 {string} content
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /hosts/tool/supervisor/process/file [post]
|
|
// @x-panel-log {"bodyKeys":["operate"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"[operate] Supervisor 进程文件 ","formatEN":"[operate] Supervisor Process Config file"}
|
|
func (b *BaseApi) OperateProcessFile(c *gin.Context) {
|
|
var req request.HostSupervisorProcessFileOperateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
content, err := hostToolService.OperateSupervisorProcessFile(request.SupervisorProcessFileReq{
|
|
Name: req.Name,
|
|
Operate: req.Operate,
|
|
Content: req.Content,
|
|
File: req.File,
|
|
})
|
|
if err != nil {
|
|
helper.InternalServer(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, content)
|
|
}
|