2016-05-27 05:00:56 -04:00
|
|
|
module API
|
|
|
|
class Templates < Grape::API
|
|
|
|
TEMPLATE_TYPES = {
|
2016-06-02 12:20:08 -04:00
|
|
|
gitignores: Gitlab::Template::Gitignore,
|
2016-06-16 09:33:11 -04:00
|
|
|
gitlab_ci_ymls: Gitlab::Template::GitlabCiYml
|
2016-05-27 05:00:56 -04:00
|
|
|
}.freeze
|
|
|
|
|
|
|
|
TEMPLATE_TYPES.each do |template, klass|
|
|
|
|
# Get the list of the available template
|
|
|
|
#
|
|
|
|
# Example Request:
|
|
|
|
# GET /gitignores
|
|
|
|
# GET /gitlab_ci_ymls
|
|
|
|
get template.to_s do
|
|
|
|
present klass.all, with: Entities::TemplatesList
|
|
|
|
end
|
|
|
|
|
|
|
|
# Get the text for a specific template
|
|
|
|
#
|
|
|
|
# Parameters:
|
|
|
|
# name (required) - The name of a template
|
|
|
|
#
|
|
|
|
# Example Request:
|
|
|
|
# GET /gitignores/Elixir
|
|
|
|
# GET /gitlab_ci_ymls/Ruby
|
|
|
|
get "#{template}/:name" do
|
|
|
|
required_attributes! [:name]
|
|
|
|
|
|
|
|
new_template = klass.find(params[:name])
|
2016-06-17 02:37:19 -04:00
|
|
|
not_found!(template.to_s.singularize) unless new_template
|
2016-06-16 09:33:11 -04:00
|
|
|
|
2016-05-27 05:00:56 -04:00
|
|
|
present new_template, with: Entities::Template
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|