Sha256: 9922c0a885aeb9295196d3592613971702c1c02d3c73fc819a651a3f141df09c
Contents?: true
Size: 1.64 KB
Versions: 9
Compression:
Stored size: 1.64 KB
Contents
module Katello class Api::V2::SyncController < Api::V2::ApiController before_filter :find_optional_organization, :only => [:index] before_filter :find_object, :only => [:index] before_filter :ensure_library, :only => [:index] api :GET, "/organizations/:organization_id/products/:product_id/sync", N_("Get status of repo synchronisation for given product") api :GET, "/repositories/:repository_id/sync", N_("Get status of synchronisation for given repository") def index respond_for_async(:resource => @obj.sync_status) end private # used in unit tests def find_object if params.key?(:product_id) @obj = find_product elsif params.key?(:repository_id) @obj = find_repository else fail HttpErrors::NotFound, N_("Couldn't find subject of synchronization") if @obj.nil? end @obj end def find_product fail _("Organization required") if @organization.nil? @product = Product.syncable.find_by_cp_id(params[:product_id], @organization) fail HttpErrors::NotFound, _("Couldn't find product with id '%s'") % params[:product_id] if @product.nil? @product end def find_repository @repository = Repository.syncable.find_by_id(params[:repository_id]) fail HttpErrors::NotFound, _("Couldn't find repository '%s'") % params[:repository_id] if @repository.nil? @repository end def ensure_library unless @repository.nil? fail HttpErrors::NotFound, _("You can check sync status for repositories only in the library lifecycle environment.'") unless @repository.environment.library? end end end end
Version data entries
9 entries across 9 versions & 1 rubygems