diff --git a/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go b/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go index 8e82d0fb31686859ddf957824cf03ecb577ec2c5..b4c01338f7f7ea8402bee27db7cac4497fd4cf56 100644 --- a/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/controller/dangerous_rule.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/model" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/service" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddDangerousRuleHandler(c *gin.Context) { diff --git a/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go b/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go index 9a268db8076c079c9654886cc6776aa46bf4100f..a324f5a566906925ec40ad32ff568f6565aff523 100644 --- a/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go +++ b/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/common/enum/rule" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/common/enum/script" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func ScriptTypeListHandler(c *gin.Context) { diff --git a/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go b/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go index 861fd83e803f741d0d81421fdd82f2a61a6461c8..c77832c03f8893bdaf045c481352cfe1502b0b95 100644 --- a/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/dao/dangerous_rule.go @@ -1,9 +1,9 @@ package dao import ( - "gitee.com/openeuler/PilotGo/sdk/response" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/global" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/model" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddDangerousRule(rule *model.DangerousRule) error { diff --git a/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go b/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go index c4a6fd49a1df8f263e2b37ec27f86a9a812a4db1..72a9f840abf99f7a0ca52ef84c17a0a78fb8b4cc 100644 --- a/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go @@ -4,11 +4,11 @@ import ( "fmt" "time" - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/go-sql-driver/mysql" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/global" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/dao" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/dangerous_rule/model" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddDangerousRule(rule *model.DangerousRule) error { diff --git a/automation/server/internal/module/script_library/controller/exec.go b/automation/server/internal/module/script_library/controller/exec.go index f9e4b95fd0df5ff7fae1117aad77679b713f99fb..61149fa26eafd7df4668cfba6b7510457ccd66ce 100644 --- a/automation/server/internal/module/script_library/controller/exec.go +++ b/automation/server/internal/module/script_library/controller/exec.go @@ -20,7 +20,7 @@ func ExecScriptHandler(c *gin.Context) { response.Fail(c, nil, err.Error()) return } - hosts, err := global.App.Client.MachineList() + _, err := global.App.Client.MachineList() if err != nil { response.Fail(c, nil, err.Error()) return @@ -30,8 +30,5 @@ func ExecScriptHandler(c *gin.Context) { response.Fail(c, nil, err.Error()) return } - response.Success(c, gin.H{ - "hosts": hosts, - "result": result, - }, "success") + response.Success(c, result, "success") } diff --git a/automation/server/internal/module/script_library/controller/script.go b/automation/server/internal/module/script_library/controller/script.go index c184ad7f318cf822c74ffb825c455410fbbbd805..e76f53f02ed6238f359b90a42ce504fd7fe0d70d 100644 --- a/automation/server/internal/module/script_library/controller/script.go +++ b/automation/server/internal/module/script_library/controller/script.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/service" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddScriptHandler(c *gin.Context) { diff --git a/automation/server/internal/module/script_library/controller/script_version.go b/automation/server/internal/module/script_library/controller/script_version.go index fb91c75b47246c0be9947c6330196222ce92be4b..7bbd1a01b0f76ea29bf56c0d7179721b664faad8 100644 --- a/automation/server/internal/module/script_library/controller/script_version.go +++ b/automation/server/internal/module/script_library/controller/script_version.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/service" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func GetScriptVersionsHandler(c *gin.Context) { diff --git a/automation/server/internal/module/script_library/controller/tag.go b/automation/server/internal/module/script_library/controller/tag.go index 63b70a34ec32eedd8a171582b518dbdb69439c86..8c534a74ac722d77450e38bf9014aaa1f1a9c27d 100644 --- a/automation/server/internal/module/script_library/controller/tag.go +++ b/automation/server/internal/module/script_library/controller/tag.go @@ -1,10 +1,10 @@ package controller import ( - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/service" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func GetTagsHandler(c *gin.Context) { diff --git a/automation/server/internal/module/script_library/dao/script.go b/automation/server/internal/module/script_library/dao/script.go index 55a996e9e5a4b60d8b64a4331d452dc3a98f41df..773a4ead2139471ef5e1ff9c93d2f7b286ed2ac3 100644 --- a/automation/server/internal/module/script_library/dao/script.go +++ b/automation/server/internal/module/script_library/dao/script.go @@ -3,10 +3,10 @@ package dao import ( "strings" - "gitee.com/openeuler/PilotGo/sdk/response" "gorm.io/gorm" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/global" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func AddScript(script *model.Script, scriptVersion *model.ScriptVersion) error { diff --git a/automation/server/internal/module/script_library/model/script.go b/automation/server/internal/module/script_library/model/script.go index 491d18ee6a15308c9f4a5f2f0121f86d53d7fa1c..2185dc312b322a066f9c85fb13d7d19e7c15891c 100644 --- a/automation/server/internal/module/script_library/model/script.go +++ b/automation/server/internal/module/script_library/model/script.go @@ -5,6 +5,7 @@ import "encoding/json" type Script struct { ID string `json:"id" gorm:"primaryKey;type:varchar(36);not null;comment:脚本ID"` Name string `json:"name" gorm:"type:varchar(255);not null;uniqueIndex:uniq_script_name;comment:脚本名称"` + ScriptName string `json:"script_name" gorm:"type:varchar(255);not null;uniqueIndex:uniq_script_name;comment:脚本文件名称"` ScriptType string `json:"script_type" gorm:"type:varchar(100);not null;comment:脚本类型"` Description string `json:"description" gorm:"type:varchar(500);comment:脚本描述"` Tags string `json:"tags" gorm:"comment:场景标签"` diff --git a/automation/server/internal/module/script_library/model/script_version.go b/automation/server/internal/module/script_library/model/script_version.go index 7a7903f4e8c70c7f70882c06ca9c3014ff52b734..e758285c64073e2e1c7b6fbf81a38d697211df9c 100644 --- a/automation/server/internal/module/script_library/model/script_version.go +++ b/automation/server/internal/module/script_library/model/script_version.go @@ -19,7 +19,7 @@ type ScriptVersion struct { Content string `json:"content" gorm:"type:text;not null;comment:脚本内容"` Version string `json:"version" gorm:"type:varchar(50);not null;uniqueIndex:uniq_script_version;comment:脚本版本号"` VersionDesc string `json:"version_desc" gorm:"type:varchar(500);uniqueIndex:uniq_script_version;comment:脚本版本描述"` - Status bool `json:"status" gorm:"type:boolean;not null;default:false;comment:脚本版本状态,true表示上线,false表示禁用"` + Status bool `json:"status" gorm:"type:boolean;not null;default:false;comment:脚本版本状态,true表示已发布,false表示开发中"` Creator string `json:"creator" gorm:"type:varchar(100);not null;comment:创建者"` CreatedAt string `json:"created_at" gorm:"comment:创建时间"` LastModifyUser string `json:"last_modify_user" gorm:"type:varchar(100);not null;comment:最后修改者"` diff --git a/automation/server/internal/module/script_library/service/script.go b/automation/server/internal/module/script_library/service/script.go index 6527dbeb0dd000146afeb0c99cf12d38572595ce..0783eb5b88142b16ab40d992a84811c6230a7c3c 100644 --- a/automation/server/internal/module/script_library/service/script.go +++ b/automation/server/internal/module/script_library/service/script.go @@ -3,10 +3,10 @@ package service import ( "time" - "gitee.com/openeuler/PilotGo/sdk/response" "github.com/google/uuid" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/dao" "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/script_library/model" + "openeuler.org/PilotGo/PilotGo-plugin-automation/pkg/response" ) func generateScriptId() string { diff --git a/automation/server/pkg/response/response.go b/automation/server/pkg/response/response.go new file mode 100644 index 0000000000000000000000000000000000000000..e086a28513ed5e7d2dcc2c2e233de816912c1713 --- /dev/null +++ b/automation/server/pkg/response/response.go @@ -0,0 +1,89 @@ +/* + * Copyright (c) KylinSoft Co., Ltd. 2024.All rights reserved. + * PilotGo licensed under the Mulan Permissive Software License, Version 2. + * See LICENSE file for more details. + * Author: zhanghan2021 + * Date: Wed Sep 27 17:35:12 2023 +0800 + */ +package response + +import ( + "fmt" + "net/http" + "reflect" + + "github.com/gin-gonic/gin" +) + +func Success(c *gin.Context, data interface{}, msg string) { + result(c, http.StatusOK, http.StatusOK, data, msg) +} +func Fail(c *gin.Context, data interface{}, msg string) { + result(c, http.StatusOK, http.StatusBadRequest, data, msg) +} +func Unavailable(c *gin.Context, data interface{}, msg string) { + result(c, http.StatusOK, http.StatusServiceUnavailable, data, msg) +} + +// 拼装json 分页数据 +func DataPagination(c *gin.Context, list interface{}, total int, query *PaginationQ) { + c.JSON(http.StatusOK, gin.H{ + "code": http.StatusOK, + "ok": true, + "results": list, + "total": total, + "page": query.Page, + "size": query.PageSize}) +} + +func result(c *gin.Context, httpStatus int, code int, data interface{}, msg string) { + c.JSON(httpStatus, gin.H{ + "code": code, + "results": data, + "msg": msg}) +} + +type PaginationQ struct { + Ok bool `json:"ok"` + PageSize int `form:"size" json:"size"` + Page int `form:"page" json:"page"` + Data interface{} `json:"results" comment:"muster be a pointer of slice gorm.Model"` + TotalSize int `json:"total"` +} + +// 结构体分页查询方法 +func DataPaging(p *PaginationQ, list interface{}, total int) (interface{}, error) { + data := make([]interface{}, 0) + if reflect.TypeOf(list).Kind() == reflect.Slice { + s := reflect.ValueOf(list) + for i := 0; i < s.Len(); i++ { + ele := s.Index(i) + data = append(data, ele.Interface()) + } + } + if p.PageSize < 1 { + p.PageSize = 10 + } + if p.Page < 1 { + p.Page = 1 + } + if total == 0 { + p.TotalSize = 0 + } + num := p.PageSize * (p.Page - 1) + if num > total { + return nil, fmt.Errorf("页码超出") + } + if p.PageSize*p.Page > total { + return data[num:], nil + } else { + if p.PageSize*p.Page < num { + return nil, fmt.Errorf("读取错误") + } + if p.PageSize*p.Page == 0 { + return data, nil + } else { + return data[num : p.Page*p.PageSize], nil + } + } +}