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 post '/:id/restart' do
Metriks.meter("api.request.restart_job").mark Metriks.meter("api.request.restart_job").mark
if Travis::Features.owner_active?(:enqueue_to_hub, current_user) service = if Travis::Features.owner_active?(:enqueue_to_hub, current_user)
service = Travis::Enqueue::Services::RestartModel.new(current_user, { job_id: params[:id] }) Travis::Enqueue::Services::RestartModel.new(current_user, { job_id: params[:id] })
if !service.accept?
status 400
result = false
else else
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} payload = {id: params[:id], user_id: current_user.id}
service.push("job:restart", payload) service.push("job:restart", payload)
status 202 status 202
result = true true
end
else
service = self.service(:reset_model, job_id: params[:id])
if !service.accept?
status 400
result = false
else else
Travis::Sidekiq::JobRestart.perform_async(id: params[:id], user_id: current_user.id) Travis::Sidekiq::JobRestart.perform_async(id: params[:id], user_id: current_user.id)
status 202 status 202
result = true result = true
end end
end
respond_with(result: result, flash: service.messages) respond_with(result: result, flash: service.messages)
end end