diff --git a/lib/travis/api/app/endpoint/builds.rb b/lib/travis/api/app/endpoint/builds.rb index 3a4243a2..cf6a39e0 100644 --- a/lib/travis/api/app/endpoint/builds.rb +++ b/lib/travis/api/app/endpoint/builds.rb @@ -49,24 +49,24 @@ class Travis::Api::App post '/:id/restart' do Metriks.meter("api.request.restart_build").mark - if Travis::Features.owner_active?(:enqueue_to_hub, current_user) - service = Travis::Enqueue::Services::RestartModel.new(current_user, { build_id: params[:id] }) + service = if Travis::Features.owner_active?(:enqueue_to_hub, current_user) + Travis::Enqueue::Services::RestartModel.new(current_user, build_id: params[:id]) else - service = self.service(:reset_model, build_id: params[:id]) + self.service(:reset_model, build_id: params[:id]) end - if !service.accept? + result = if !service.accept? status 400 - result = false - else - if service.respond_to?(:push) - payload = {id: params[:id], user_id: current_user.id} - service.push("build:restart", payload) - else - Travis::Sidekiq::BuildRestart.perform_async(id: params[:id], user_id: current_user.id) - end + false + elsif service.respond_to?(:push) + payload = { id: params[:id], user_id: current_user.id } + service.push("build:restart", payload) status 202 - result = true + true + else + Travis::Sidekiq::BuildRestart.perform_async(id: params[:id], user_id: current_user.id) + status 202 + true end respond_with(result: result, flash: service.messages)