Revision 047d1d5a
Added by Justin Sherrill about 10 years ago
app/controllers/katello/api/v2/content_views_controller.rb | ||
---|---|---|
before_filter :find_content_view, :except => [:index, :create]
|
||
before_filter :find_organization, :only => [:index, :create]
|
||
before_filter :find_environment, :only => [:index]
|
||
before_filter :load_search_service, :only => [:index, :history, :available_puppet_modules]
|
||
before_filter :load_search_service, :only => [:index, :history, :available_puppet_modules,
|
||
:available_puppet_module_names]
|
||
before_filter :authorize
|
||
|
||
wrap_parameters :include => (ContentView.attribute_names + %w(repository_ids component_ids))
|
||
... | ... | |
:update => edit_rule,
|
||
:publish => publish_rule,
|
||
:available_puppet_modules => view_rule,
|
||
:history => view_rule
|
||
:history => view_rule,
|
||
:available_puppet_module_names => view_rule
|
||
}
|
||
end
|
||
|
||
... | ... | |
api :GET, "/content_views/:id/available_puppet_modules",
|
||
"Get puppet modules that are available to be added to the content view"
|
||
param :id, :identifier, :desc => "content view numeric identifier", :required => true
|
||
param :name, String, :desc => "module name to restrict modules for", :required => false
|
||
def available_puppet_modules
|
||
current_ids = @view.content_view_puppet_modules.map(&:uuid)
|
||
repo_ids = @view.organization.library.puppet_repositories.pluck(:pulp_id)
|
||
repo_ids = @view.organization.library.puppet_repositories.readable(@view.organization.library).pluck(:pulp_id)
|
||
search_filters = [{ :terms => { :repoids => repo_ids } },
|
||
{ :not => { :terms => { :id => current_ids } } }]
|
||
search_filters << { :term => { :name => params[:name] } } if params[:name]
|
||
options = { :filters => search_filters }
|
||
|
||
respond_for_index :template => '../puppet_modules/index',
|
||
:collection => item_search(PuppetModule, params, options)
|
||
end
|
||
|
||
api :GET, "/content_views/:id/available_puppet_module_names",
|
||
"Get puppet modules names that are available to be added to the content view"
|
||
param :id, :identifier, :desc => "content view numeric identifier", :required => true
|
||
def available_puppet_module_names
|
||
current_ids = @view.content_view_puppet_modules.map(&:uuid)
|
||
repo_ids = @view.organization.library.puppet_repositories.readable(
|
||
@view.organization.library).pluck(:pulp_id)
|
||
search_filters = [{ :terms => { :repoids => repo_ids } },
|
||
{ :not => { :terms => { :id => current_ids } } }]
|
||
options = {:filters => search_filters}
|
||
|
||
respond_for_index :template => '../puppet_modules/names',
|
||
:collection => facet_search(PuppetModule, 'name', options)
|
||
end
|
||
|
||
api :GET, "/content_views/:id/history", "Show a content view's history"
|
||
param :id, :number, :desc => "content view numeric identifier", :required => true
|
||
def history
|
Also available in: Unified diff
Expanding Content Vew available puppet module apis