57 lines
1.7 KiB
Ruby
57 lines
1.7 KiB
Ruby
class Ci::TemplatesController < ApplicationController
|
|
|
|
def list
|
|
@templates = Ci::Template.all
|
|
end
|
|
|
|
def templates_by_stage
|
|
stage_type = params[:stage_type]
|
|
if stage_type != Ci::PipelineStage::CUSTOMIZE_STAGE_TYPE
|
|
@templates = Ci::Template.where("stage_type = ?", stage_type)
|
|
# 根据模板类别分组
|
|
@category_templates = @templates.group_by{ |template| template.category }
|
|
else
|
|
# 自定义阶段,按阶段分类分类返回模板列表
|
|
@templates = Ci::Template.where("stage_type != ?", Ci::PipelineStage::INIT_STAGE_TYPE)
|
|
@category_templates = @templates.group_by{ |template| template.parent_category }
|
|
end
|
|
end
|
|
|
|
def create
|
|
template = Ci::Template.new(template_name: params[:template_name],
|
|
stage_type: params[:stage_type],
|
|
category: params[:category],
|
|
parent_category: params[:parent_category],
|
|
content: params[:content]
|
|
)
|
|
template.save!
|
|
render_ok
|
|
rescue Exception => ex
|
|
render_error(ex.message)
|
|
end
|
|
|
|
def update
|
|
template = Ci::Template.find(params[:id])
|
|
template.update!(template_name: params[:template_name],
|
|
stage_type: params[:stage_type],
|
|
category: params[:category],
|
|
parent_category: params[:parent_category],
|
|
content: params[:content]
|
|
)
|
|
render_ok
|
|
rescue Exception => ex
|
|
render_error(ex.message)
|
|
end
|
|
|
|
def destroy
|
|
template = Ci::Template.find(params[:id])
|
|
if template
|
|
template.destroy!
|
|
end
|
|
render_ok
|
|
rescue Exception => ex
|
|
render_error(ex.message)
|
|
end
|
|
|
|
end
|