Refacto on restart endpoint for Jobs

This commit is contained in:
Ana Rosas 2016-06-01 14:57:55 +02:00
parent 0038197aab
commit 1c9212ef08

View File

@ -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