Class: Katello::Api::V2::ContentViewVersionsController
Constant Summary
Concerns::FilteredAutoCompleteSearch::PAGE_SIZE
Instance Method Summary
collapse
#auto_complete_search
#empty_search_query?, #full_result_response, #resource_class, #scoped_search, #skip_session
Methods included from Rendering
#respond_for_async, #respond_for_bulk_async, #respond_for_create, #respond_for_destroy, #respond_for_index, #respond_for_show, #respond_for_status, #respond_for_update, #respond_with_template, #respond_with_template_collection, #respond_with_template_resource, #try_specific_collection_template, #try_specific_resource_template
#api_version
Instance Method Details
#destroy ⇒ Object
102
103
104
105
106
107
108
|
# File 'app/controllers/katello/api/v2/content_view_versions_controller.rb', line 102
def destroy
if @view.rolling?
fail HttpErrors::BadRequest, _("It's not possible to destroy a version of a rolling content view.")
end
task = async_task(::Actions::Katello::ContentViewVersion::Destroy, @content_view_version)
respond_for_async :resource => task
end
|
#incremental_update ⇒ Object
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# File 'app/controllers/katello/api/v2/content_view_versions_controller.rb', line 132
def incremental_update
if params[:add_content].values.flatten.empty?
fail HttpErrors::BadRequest, _("Incremental update requires at least one content unit")
end
any_environments = params[:content_view_version_environments].any? { |cvve| cvve[:environment_ids].try(:any?) }
if params[:add_content]&.key?(:errata_ids) && params[:update_hosts] && any_environments
hosts = calculate_hosts_for_incremental(params[:update_hosts], params[:propagate_to_composites])
else
hosts = []
end
validate_content(params[:add_content])
resolve_dependencies = params.fetch(:resolve_dependencies, true)
task = async_task(::Actions::Katello::ContentView::IncrementalUpdates, @content_view_version_environments, @composite_version_environments,
params[:add_content], resolve_dependencies, hosts, params[:description])
respond_for_async :resource => task
end
|
#index ⇒ Object
29
30
31
32
33
34
|
# File 'app/controllers/katello/api/v2/content_view_versions_controller.rb', line 29
def index
options = {
:includes => [:content_view, :environments, :composite_content_views, :history => :task],
}
respond(:collection => scoped_search(index_relation.distinct, :version, :desc, options))
end
|
#index_relation ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'app/controllers/katello/api/v2/content_view_versions_controller.rb', line 36
def index_relation
version_number = params.permit(:version)[:version]
versions = ContentViewVersion.readable
versions = versions.triggered_by(params[:triggered_by_id]) if params[:triggered_by_id]
versions = versions.with_organization_id(params[:organization_id]) if params[:organization_id]
versions = versions.non_default_view if ::Foreman::Cast.to_bool(params[:nondefault])
versions = versions.where(:content_view_id => @view.id) if @view
versions = versions.for_version(version_number) if version_number
versions = versions.in_environment(@environment) if @environment
versions = versions.component_of(params[:composite_version_id]) if params[:composite_version_id]
versions = versions.contains_file(params[:file_id]) if params[:file_id]
versions
end
|
62
63
64
65
66
67
68
69
70
|
# File 'app/controllers/katello/api/v2/content_view_versions_controller.rb', line 62
def promote
if @view.rolling?
fail HttpErrors::BadRequest, _("It's not possible to promote a rolling content view.")
end
is_force = ::Foreman::Cast.to_bool(params[:force])
task = async_task(::Actions::Katello::ContentView::Promote,
@content_view_version, @environments, is_force, params[:description])
respond_for_async :resource => task
end
|
#republish_repositories ⇒ Object
89
90
91
92
93
94
95
96
97
98
|
# File 'app/controllers/katello/api/v2/content_view_versions_controller.rb', line 89
def republish_repositories
mirror_complete_repos = @content_view_version.repositories.joins(:root).where(root: { mirroring_policy: ::Katello::RootRepository::MIRRORING_POLICY_COMPLETE })
if mirror_complete_repos.size > 0 && !::Foreman::Cast.to_bool(params[:force])
fail HttpErrors::BadRequest, _("Metadata republishing is dangerous on content view versions with repositories with the 'Complete Mirroring' mirroring policy.
Change the mirroring policy on these repositories: #{mirror_complete_repos.pluck(:name)} and try again.
Alternatively, use the 'force' parameter to regenerate metadata locally. New versions of the content view will continue to use upstream metadata for repositories with 'Complete Mirroring'.")
end
task = async_task(::Actions::Katello::ContentViewVersion::RepublishRepositories, @content_view_version, force: ::Foreman::Cast.to_bool(params[:force]))
respond_for_async :resource => task
end
|
#show ⇒ Object
53
54
55
|
# File 'app/controllers/katello/api/v2/content_view_versions_controller.rb', line 53
def show
respond :resource => @content_view_version
end
|
#update ⇒ Object
75
76
77
78
79
80
81
82
83
84
|
# File 'app/controllers/katello/api/v2/content_view_versions_controller.rb', line 75
def update
history = @content_view_version.history.publish.first
if history.blank?
fail HttpErrors::BadRequest, _("This content view version doesn't have a history.")
else
history.notes = params[:description]
history.save!
respond_for_show(:resource => @content_view_version)
end
end
|
#verify_checksum ⇒ Object
152
153
154
155
|
# File 'app/controllers/katello/api/v2/content_view_versions_controller.rb', line 152
def verify_checksum
task = async_task(::Actions::Katello::ContentViewVersion::VerifyChecksum, @content_view_version)
respond_for_async :resource => task
end
|