mirror of https://github.com/allinssl/allinssl
237 lines
4.8 KiB
Go
237 lines
4.8 KiB
Go
package api
|
|
|
|
import (
|
|
"ALLinSSL/backend/internal/workflow"
|
|
"ALLinSSL/backend/public"
|
|
"github.com/gin-gonic/gin"
|
|
"strings"
|
|
)
|
|
|
|
func GetWorkflowList(c *gin.Context) {
|
|
var form struct {
|
|
Search string `form:"search"`
|
|
Page int64 `form:"p"`
|
|
Limit int64 `form:"limit"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
// c.JSON(http.StatusBadRequest, public.ResERR(err.Error()))
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
|
|
data, count, err := workflow.GetList(form.Search, form.Page, form.Limit)
|
|
if err != nil {
|
|
// c.JSON(http.StatusBadRequest, public.ResERR(err.Error()))
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
// c.JSON(http.StatusOK, public.ResOK(len(data), data, ""))
|
|
public.SuccessData(c, data, count)
|
|
return
|
|
}
|
|
|
|
func AddWorkflow(c *gin.Context) {
|
|
var form struct {
|
|
Name string `form:"name"`
|
|
Content string `form:"content"`
|
|
ExecType string `form:"exec_type"`
|
|
Active string `form:"active"`
|
|
ExecTime string `form:"exec_time"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
form.Name = strings.TrimSpace(form.Name)
|
|
form.ExecType = strings.TrimSpace(form.ExecType)
|
|
|
|
err = workflow.AddWorkflow(form.Name, form.Content, form.ExecType, form.Active, form.ExecTime)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
public.SuccessMsg(c, "添加成功")
|
|
return
|
|
}
|
|
|
|
func DelWorkflow(c *gin.Context) {
|
|
var form struct {
|
|
ID string `form:"id"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
form.ID = strings.TrimSpace(form.ID)
|
|
|
|
err = workflow.DelWorkflow(form.ID)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
public.SuccessMsg(c, "删除成功")
|
|
return
|
|
|
|
}
|
|
|
|
func UpdWorkflow(c *gin.Context) {
|
|
var form struct {
|
|
ID string `form:"id"`
|
|
Name string `form:"name"`
|
|
Content string `form:"content"`
|
|
ExecType string `form:"exec_type"`
|
|
Active string `form:"active"`
|
|
ExecTime string `form:"exec_time"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
form.ID = strings.TrimSpace(form.ID)
|
|
form.Name = strings.TrimSpace(form.Name)
|
|
form.ExecType = strings.TrimSpace(form.ExecType)
|
|
|
|
err = workflow.UpdWorkflow(form.ID, form.Name, form.Content, form.ExecType, form.Active, form.ExecTime)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
public.SuccessMsg(c, "修改成功")
|
|
return
|
|
}
|
|
|
|
func UpdExecType(c *gin.Context) {
|
|
var form struct {
|
|
ID string `form:"id"`
|
|
ExecType string `form:"exec_type"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
form.ID = strings.TrimSpace(form.ID)
|
|
form.ExecType = strings.TrimSpace(form.ExecType)
|
|
|
|
err = workflow.UpdExecType(form.ID, form.ExecType)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
public.SuccessMsg(c, "修改成功")
|
|
return
|
|
}
|
|
|
|
func UpdActive(c *gin.Context) {
|
|
var form struct {
|
|
ID string `form:"id"`
|
|
Active string `form:"active"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
|
|
form.ID = strings.TrimSpace(form.ID)
|
|
form.Active = strings.TrimSpace(form.Active)
|
|
if form.ID == "" {
|
|
public.FailMsg(c, "ID不能为空")
|
|
return
|
|
}
|
|
|
|
err = workflow.UpdActive(form.ID, form.Active)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
public.SuccessMsg(c, "修改成功")
|
|
return
|
|
}
|
|
|
|
func ExecuteWorkflow(c *gin.Context) {
|
|
var form struct {
|
|
ID string `form:"id"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
form.ID = strings.TrimSpace(form.ID)
|
|
|
|
err = workflow.ExecuteWorkflow(form.ID)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
public.SuccessMsg(c, "执行成功")
|
|
return
|
|
}
|
|
|
|
func StopWorkflow(c *gin.Context) {
|
|
var form struct {
|
|
ID string `form:"id"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
form.ID = strings.TrimSpace(form.ID)
|
|
|
|
err = workflow.StopWorkflow(form.ID)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
public.SuccessMsg(c, "停止成功")
|
|
return
|
|
}
|
|
|
|
func GetWorkflowHistory(c *gin.Context) {
|
|
var form struct {
|
|
ID string `form:"id"`
|
|
Page int64 `form:"p"`
|
|
Limit int64 `form:"limit"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
form.ID = strings.TrimSpace(form.ID)
|
|
|
|
data, count, err := workflow.GetListWH(form.ID, form.Page, form.Limit)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
public.SuccessData(c, data, count)
|
|
return
|
|
}
|
|
|
|
func GetExecLog(c *gin.Context) {
|
|
var form struct {
|
|
ID string `form:"id"`
|
|
}
|
|
err := c.Bind(&form)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
form.ID = strings.TrimSpace(form.ID)
|
|
|
|
data, err := workflow.GetExecLog(form.ID)
|
|
if err != nil {
|
|
public.FailMsg(c, err.Error())
|
|
return
|
|
}
|
|
public.SuccessData(c, data, 0)
|
|
return
|
|
}
|