template

package
v0.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2026 License: MIT Imports: 10 Imported by: 0

README

流程编排模版

Documentation

Index

Constants

View Source
const (
	APP_NAME = "templates"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CreatePipelineRequest

type CreatePipelineRequest struct {
	// 所属域
	Domain string `json:"domain" gorm:"column:domain" validate:"required"`
	// 所属空间
	Namespace string `json:"namespace" gorm:"column:namespace" validate:"required"`
	// 创建人
	CreateBy string `json:"create_by" gorm:"column:create_by"`
	// 定义
	PipelineSpec
}

func NewCreatePipelineRequest

func NewCreatePipelineRequest() *CreatePipelineRequest

func (*CreatePipelineRequest) AddTask

func (r *CreatePipelineRequest) AddTask(tasks ...*task.Task) *CreatePipelineRequest

func (*CreatePipelineRequest) SetDescription

func (r *CreatePipelineRequest) SetDescription(description string) *CreatePipelineRequest

func (*CreatePipelineRequest) SetIsParallel

func (r *CreatePipelineRequest) SetIsParallel(isParallel bool) *CreatePipelineRequest

func (*CreatePipelineRequest) SetIsTemplate

func (r *CreatePipelineRequest) SetIsTemplate(isTemplate bool) *CreatePipelineRequest

func (*CreatePipelineRequest) SetLabel

func (r *CreatePipelineRequest) SetLabel(key, value string) *CreatePipelineRequest

func (*CreatePipelineRequest) SetName

func (*CreatePipelineRequest) SetNamespace

func (r *CreatePipelineRequest) SetNamespace(namespace string) *CreatePipelineRequest

func (*CreatePipelineRequest) SetRequiredApproval

func (r *CreatePipelineRequest) SetRequiredApproval(requiredApproval bool) *CreatePipelineRequest

func (*CreatePipelineRequest) SetRunParam

func (r *CreatePipelineRequest) SetRunParam(param *job.RunParam) *CreatePipelineRequest

func (*CreatePipelineRequest) Validate

func (r *CreatePipelineRequest) Validate() error

type DeletePipelineRequest

type DeletePipelineRequest struct {
	DescribePipelineRequest
}

type DescribePipelineRequest

type DescribePipelineRequest struct {
	PipelineId string `json:"pipeline_id"`
}

func NewDescribePipelineRequest

func NewDescribePipelineRequest(pipelineId string) *DescribePipelineRequest

type Pipeline

type Pipeline struct {
	// 对象Id
	Id string `json:"id" gorm:"column:id;primaryKey"`
	// 创建时间
	CreateAt time.Time `json:"create_at" gorm:"column:create_at"`
	// 更新时间
	UpdateAt *time.Time `json:"update_at" gorm:"column:update_at"`
	// 更新人
	UpdateBy string `json:"update_by" gorm:"column:update_by;type:varchar(60)"`

	// Pipeline信息
	CreatePipelineRequest
}

func NewPipeline

func NewPipeline(spec CreatePipelineRequest) *Pipeline

func (*Pipeline) String

func (r *Pipeline) String() string

func (*Pipeline) TableName

func (r *Pipeline) TableName() string

type PipelineSpec

type PipelineSpec struct {
	// 名称
	Name string `json:"name" gorm:"column:name" validate:"required"`
	// 描述
	Description string `json:"description"  gorm:"column:description"`
	Logo string `json:"logo" gorm:"column:logo"`
	// 是否需要审核才能执行, 默认不需要审核
	RequiredApproval *bool `json:"required_approval" gorm:"required_approval"`
	// 是否允许并行允许, 默认为false, 同一时间只能有一个运行中的任务
	IsParallel *bool `json:"is_parallel" gorm:"column:is_parallel"`
	// 是否是模版, 用于快速继承模版参数进行修改, 模版不能用于执行
	IsTemplate *bool `json:"is_template" gorm:"column:is_template"`
	// 运行时 全局参数, 会传递给每个Task
	RunParams []*job.RunParam `json:"run_params" gorm:"column:run_params;serializer:json;type:json"`
	// 任务列表
	Tasks []*task.Task `json:"tasks" gorm:"column:tasks;serializer:json;type:json"`
	// 下一个需要运行的Pipeline, 多个Pipeline编排时指定先后顺序
	NextPipeline string `json:"next_pipeline" gorm:"next_pipeline"`
	// 额外的其他属性
	Extras map[string]string `json:"extras" form:"extras" gorm:"column:extras;type:json;serializer:json;"`
	// 标签
	Label map[string]string `json:"label" gorm:"column:label;type:json;serializer:json;"`
}

func (*PipelineSpec) AddTask

func (r *PipelineSpec) AddTask(tasks ...*task.Task)

type QueryPipelineRequest

type QueryPipelineRequest struct {
	request.PageRequest
}

func NewQueryPipelineRequest

func NewQueryPipelineRequest() *QueryPipelineRequest

type Service

type Service interface {
	// 创建流水线
	CreatePipeline(context.Context, *CreatePipelineRequest) (*Pipeline, error)
	// 查询流水线
	QueryPipeline(context.Context, *QueryPipelineRequest) (*types.Set[*Pipeline], error)
	// 获取流水线
	DescribePipeline(context.Context, *DescribePipelineRequest) (*Pipeline, error)

	// 删除流水线
	DeletePipeline(context.Context, *DeletePipelineRequest) (*Pipeline, error)
}

func GetService

func GetService() Service

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL