From 1c9212ef089e5df3d6b903056f6f8fbe4bc6a611 Mon Sep 17 00:00:00 2001 From: Ana Rosas Date: Wed, 1 Jun 2016 14:57:55 +0200 Subject: [PATCH] Refacto on restart endpoint for Jobs --- lib/travis/api/app/endpoint/jobs.rb | 38 ++++++++++++++--------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/lib/travis/api/app/endpoint/jobs.rb b/lib/travis/api/app/endpoint/jobs.rb index e8a0e1e9..c4d77228 100644 --- a/lib/travis/api/app/endpoint/jobs.rb +++ b/lib/travis/api/app/endpoint/jobs.rb @@ -56,28 +56,26 @@ class Travis::Api::App post '/:id/restart' do Metriks.meter("api.request.restart_job").mark - if Travis::Features.owner_active?(:enqueue_to_hub, current_user) - service = Travis::Enqueue::Services::RestartModel.new(current_user, { job_id: params[:id] }) - if !service.accept? - status 400 - result = false - else - payload = {id: params[:id], user_id: current_user.id} - service.push("job:restart", payload) - status 202 - result = true - end + service = if Travis::Features.owner_active?(:enqueue_to_hub, current_user) + Travis::Enqueue::Services::RestartModel.new(current_user, { job_id: params[:id] }) else - service = self.service(:reset_model, job_id: params[:id]) - if !service.accept? - status 400 - result = false - else - Travis::Sidekiq::JobRestart.perform_async(id: params[:id], user_id: current_user.id) - status 202 - result = true - end + self.service(:reset_model, job_id: params[:id]) end + + result = if !service.accept? + status 400 + false + elsif service.respond_to?(:push) + payload = {id: params[:id], user_id: current_user.id} + service.push("job:restart", payload) + status 202 + true + else + Travis::Sidekiq::JobRestart.perform_async(id: params[:id], user_id: current_user.id) + status 202 + result = true + end + respond_with(result: result, flash: service.messages) end