mirror of https://github.com/1Panel-dev/1Panel
40 lines
1.2 KiB
Go
40 lines
1.2 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"
|
|
websocket2 "github.com/1Panel-dev/1Panel/backend/utils/websocket"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func (b *BaseApi) ProcessWs(c *gin.Context) {
|
|
ws, err := wsUpgrade.Upgrade(c.Writer, c.Request, nil)
|
|
if err != nil {
|
|
return
|
|
}
|
|
wsClient := websocket2.NewWsClient("processClient", ws)
|
|
go wsClient.Read()
|
|
go wsClient.Write()
|
|
}
|
|
|
|
// @Tags Process
|
|
// @Summary Stop Process
|
|
// @Description 停止进程
|
|
// @Param request body request.ProcessReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Router /process/stop [post]
|
|
// @x-panel-log {"bodyKeys":["PID"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"结束进程 [PID]","formatEN":"结束进程 [PID]"}
|
|
func (b *BaseApi) StopProcess(c *gin.Context) {
|
|
var req request.ProcessReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := processService.StopProcess(req); err != nil {
|
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
|
return
|
|
}
|
|
helper.SuccessWithOutData(c)
|
|
}
|