From 71a51ef1deff02726c0c3ef449790edf08bf649a Mon Sep 17 00:00:00 2001 From: zhanghan Date: Fri, 19 Sep 2025 15:36:08 +0800 Subject: [PATCH] Add the script file name field; Method of adding orchestration to obtain data --- .../module/job_workflow/dao/template.go | 34 ++++++++++++ .../module/job_workflow/model/template.go | 52 +++++++++++++++++++ .../module/script_library/dao/script.go | 1 + .../script_library/dao/script_version.go | 2 + .../module/script_library/model/script.go | 2 + .../script_library/model/script_version.go | 2 + .../module/script_library/service/script.go | 2 +- 7 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 automation/server/internal/module/job_workflow/dao/template.go create mode 100644 automation/server/internal/module/job_workflow/model/template.go diff --git a/automation/server/internal/module/job_workflow/dao/template.go b/automation/server/internal/module/job_workflow/dao/template.go new file mode 100644 index 00000000..af1762cb --- /dev/null +++ b/automation/server/internal/module/job_workflow/dao/template.go @@ -0,0 +1,34 @@ +package dao + +import ( + "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/global" + "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/job_workflow/model" +) + +func GetTemplateByID(id int) (*model.TaskTemplate, error) { + var template model.TaskTemplate + if err := global.App.MySQL.First(&template, id).Error; err != nil { + return nil, err + } + return &template, nil +} + +func GetAllTemplates() ([]*model.TaskTemplate, error) { + var templates []*model.TaskTemplate + if err := global.App.MySQL.Find(&templates).Error; err != nil { + return nil, err + } + return templates, nil +} + +func CreateTemplate(t *model.TaskTemplate) error { + return global.App.MySQL.Create(t).Error +} + +func UpdateTemplate(id int, t *model.TaskTemplate) error { + return global.App.MySQL.Model(&model.TaskTemplate{}).Where("id = ?", id).Updates(t).Error +} + +func DeleteTemplate(id int) error { + return global.App.MySQL.Delete(&model.TaskTemplate{}, id).Error +} diff --git a/automation/server/internal/module/job_workflow/model/template.go b/automation/server/internal/module/job_workflow/model/template.go new file mode 100644 index 00000000..f299d8d0 --- /dev/null +++ b/automation/server/internal/module/job_workflow/model/template.go @@ -0,0 +1,52 @@ +package model + +type TaskTemplate struct { + ID int `json:"id" gorm:"primaryKey;autoIncrement;comment:作业编排Id"` + Name string `json:"name" gorm:"type:varchar(255);comment:作业编排名称"` + Description string `json:"description" gorm:"type:varchar(255);comment:作业描述"` + Tags string `json:"tags" gorm:"comment:场景标签"` + FirstStepId int `json:"first_step_id"` + LastStepId int `json:"last_step_id"` + Creator string `json:"creator" gorm:"comment:创建人"` + CreatedAt string `json:"created_at" gorm:"comment:创建时间"` + LastModifyUser string `json:"last_modify_user" gorm:"type:varchar(100);not null;comment:'最后修改者'"` + LastModifyUpdatedAt string `json:"last_modify_updated_at" gorm:"comment:'最后修改时间'"` +} + +type TaskTemplateVariable struct { + ID int `json:"id" gorm:"primaryKey;autoIncrement"` + TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` + Name string `json:"name" gorm:"type:varchar(255);comment:变量名称"` + Type string `json:"type" gorm:"comment:变量类型(字符串、命名空间、数组等)"` + DefaultVaue string `json:"default_value" gorm:"comment:变量默认值"` + Description string `json:"description" gorm:"comment:变量描述"` + IsChangeable bool `json:"is_changeable" gorm:"comment:赋值可变"` + IsRequired string `json:"is_required" gorm:"comment:是否必需"` + Creator string `json:"creator" gorm:"comment:创建人"` + CreatedAt string `json:"created_at" gorm:"comment:创建时间"` + LastModifyUser string `json:"last_modify_user" gorm:"type:varchar(100);not null;comment:'最后修改者'"` + LastModifyUpdatedAt string `json:"last_modify_updated_at" gorm:"comment:'最后修改时间'"` +} + +type TaskTemplateStep struct { + ID int `json:"id" gorm:"primaryKey;autoIncrement"` + TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` + StepType string `json:"step_type" gorm:"comment:编排步骤类型(开始、脚本、人工干预、结束等)"` + Name string `json:"name" gorm:"comment:步骤名称"` + StepId int `json:"step_id" gorm:"comment:作业编排步骤Id"` + PreviousStepId int `json:"previous_step_id" gorm:"comment:作业编排上一步骤Id"` + NextStepId int `json:"next_step_id" gorm:"comment:作业编排下一步骤Id"` +} + +type TaskTemplateStepScript struct { + ID int `json:"id" gorm:"primaryKey;autoIncrement"` + TemplateId int `json:"template_id" gorm:"comment:作业编排Id"` + StepId int `json:"step_id" gorm:"comment:作业编排步骤Id"` + ScriptType string `json:"script_type" gorm:"comment:脚本类型"` + ScriptId string `json:"script_id" gorm:"comment:引用脚本Id"` + ScriptVersionId string `json:"script_version_id" gorm:"comment:引用脚本版本Id"` + ScriptContent string `json:"script_content" gorm:"comment:脚本内容"` + ScriptParam string `json:"script_param" gorm:"comment:脚本执行参数"` + ScriptTimeout string `json:"script_timeout" gorm:"comment:脚本超时"` + DestinationHostList string `json:"destination_host_list" gorm:"comment:远程执行主机列表"` +} diff --git a/automation/server/internal/module/script_library/dao/script.go b/automation/server/internal/module/script_library/dao/script.go index 773a4ead..48edb7b3 100644 --- a/automation/server/internal/module/script_library/dao/script.go +++ b/automation/server/internal/module/script_library/dao/script.go @@ -37,6 +37,7 @@ func GetScripts(query *response.PaginationQ) ([]*model.ScriptResponse, int, erro sr := &model.ScriptResponse{ ID: s.ID, Name: s.Name, + ScriptName: s.ScriptName, ScriptType: s.ScriptType, Description: s.Description, IsPublic: s.IsPublic, diff --git a/automation/server/internal/module/script_library/dao/script_version.go b/automation/server/internal/module/script_library/dao/script_version.go index b7c9d8b1..7fa244a5 100644 --- a/automation/server/internal/module/script_library/dao/script_version.go +++ b/automation/server/internal/module/script_library/dao/script_version.go @@ -14,6 +14,7 @@ func GetScriptVersions(scriptId string) (*model.ScriptVersionResponse, error) { SELECT s.id AS script_id, s.name AS name, + s.script_name AS script_name, s.script_type AS script_type, s.description AS description, s.is_public AS is_public, @@ -76,6 +77,7 @@ WHERE s.id = ? resp := &model.ScriptVersionResponse{ ID: row.ScriptID, Name: row.Name, + ScriptName: row.ScriptName, ScriptType: row.ScriptType, Description: row.Description, IsPublic: row.IsPublic, diff --git a/automation/server/internal/module/script_library/model/script.go b/automation/server/internal/module/script_library/model/script.go index 2185dc31..c9a96977 100644 --- a/automation/server/internal/module/script_library/model/script.go +++ b/automation/server/internal/module/script_library/model/script.go @@ -18,6 +18,7 @@ type Script struct { type ScriptWithVersion struct { Name string `json:"name"` + ScriptName string `json:"script_name"` ScriptType string `json:"script_type"` Description string `json:"description"` Tags string `json:"tags"` @@ -33,6 +34,7 @@ type ScriptWithVersion struct { type ScriptResponse struct { ID string `json:"id"` Name string `json:"name"` + ScriptName string `json:"script_name"` ScriptType string `json:"script_type"` Description string `json:"description"` Tags []Tag `json:"tags"` 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 e758285c..ae6f0f9c 100644 --- a/automation/server/internal/module/script_library/model/script_version.go +++ b/automation/server/internal/module/script_library/model/script_version.go @@ -29,6 +29,7 @@ type ScriptVersion struct { type ScriptVersionResponse struct { ID string `json:"id"` Name string `json:"name"` + ScriptName string `json:"script_name"` ScriptType string `json:"script_type"` Description string `json:"description"` Tags []Tag `json:"tags"` @@ -40,6 +41,7 @@ type RawScriptVersion struct { // Script 字段 ScriptID string `json:"script_id"` Name string `json:"name"` + ScriptName string `json:"script_name"` ScriptType string `json:"script_type"` Description string `json:"description"` IsPublic bool `json:"is_public"` diff --git a/automation/server/internal/module/script_library/service/script.go b/automation/server/internal/module/script_library/service/script.go index 0783eb5b..f02f1737 100644 --- a/automation/server/internal/module/script_library/service/script.go +++ b/automation/server/internal/module/script_library/service/script.go @@ -24,6 +24,7 @@ func AddScript(s *model.ScriptWithVersion) error { script := &model.Script{ ID: scriptId, Name: s.Name, + ScriptName: s.ScriptName, ScriptType: s.ScriptType, Description: s.Description, Tags: s.Tags, @@ -56,7 +57,6 @@ func GetScripts(query *response.PaginationQ) ([]*model.ScriptResponse, int, erro func UpdateScript(s *model.Script) error { script := &model.Script{ - Name: s.Name, Description: s.Description, Tags: s.Tags, LastModifyUser: s.LastModifyUser, -- Gitee