修改模板查询相关接口

This commit is contained in:
moshenglv 2021-01-12 13:54:11 +08:00
parent 77529319a1
commit bcb4e78829
6 changed files with 43 additions and 7 deletions

View File

@ -6,15 +6,22 @@ class Ci::TemplatesController < ApplicationController
def templates_by_stage
stage_type = params[:stage_type]
@templates = Ci::Template.where("stage_type = ?", stage_type)
#根据模板类别分组
@category_templates = @templates.group_by{ |template| template.category }
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!
@ -23,4 +30,27 @@ class Ci::TemplatesController < ApplicationController
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

View File

@ -4,10 +4,10 @@
#
# id :integer not null, primary key
# pipeline_name :string(255) not null
# pipeline_status :integer default("0"), not null
# file_name :string(255) not null
# created_at :datetime not null
# updated_at :datetime not null
# pipeline_status :string(50) default("unknown"), not null
#
class Ci::Pipeline < Ci::LocalBase

View File

@ -20,5 +20,6 @@ class Ci::PipelineStage < Ci::LocalBase
has_many :pipeline_stage_steps, -> { reorder(show_index: :asc) }, foreign_key: "stage_id", :class_name => 'Ci::PipelineStageStep', dependent: :destroy
INIT_STAGES = {init:"初始化", build:"编译构建", deploy:"部署", confirm:"确认"}.freeze
CUSTOMIZE_STAGE_TYPE = 'customize'
INIT_STAGE_TYPE = 'init'
end

View File

@ -7,7 +7,7 @@
# stage_id :integer not null
# template_id :integer
# content :text(65535)
# show_index :integer
# show_index :integer default("0"), not null
# created_at :datetime not null
# updated_at :datetime not null
#

View File

@ -31,7 +31,7 @@ Rails.application.routes.draw do
end
end
resources :templates, only: [:list,:templates_by_stage,:create] do
resources :templates, only: [:list,:templates_by_stage,:create,:update,:destroy] do
collection do
get :list
get :templates_by_stage

View File

@ -0,0 +1,5 @@
class AddParentCategoryToCiTemplates < ActiveRecord::Migration[5.2]
def change
add_column :ci_templates, :parent_category, :string
end
end