20 lines
		
	
	
		
			596 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			596 B
		
	
	
	
		
			Ruby
		
	
	
	
class Projects::TemplatesController < Projects::ApplicationController
 | 
						|
  before_action :authenticate_user!, :get_template_class
 | 
						|
 | 
						|
  def show
 | 
						|
    template = @template_type.find(params[:key], project)
 | 
						|
 | 
						|
    respond_to do |format|
 | 
						|
      format.json { render json: template.to_json }
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def get_template_class
 | 
						|
    template_types = { issue: Gitlab::Template::IssueTemplate, merge_request: Gitlab::Template::MergeRequestTemplate }.with_indifferent_access
 | 
						|
    @template_type = template_types[params[:template_type]]
 | 
						|
    render json: [], status: 404 unless @template_type
 | 
						|
  end
 | 
						|
end
 |