gitlink-forgeplus/app/controllers/ci/templates_controller.rb

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