Remove 'type' from payload
This commit is contained in:
parent
5949429f75
commit
41c274b222
|
@ -23,7 +23,7 @@ class Travis::Api::App
|
|||
Metriks.meter("api.request.cancel_build").mark
|
||||
|
||||
if Travis::Features.owner_active?(:enqueue_to_hub, current_user)
|
||||
service = Travis::Enqueue::Services::CancelModel.new(current_user, { id: params[:id], type: :build })
|
||||
service = Travis::Enqueue::Services::CancelModel.new(current_user, { build_id: params[:id] })
|
||||
else
|
||||
service = self.service(:cancel_build, params.merge(source: 'api'))
|
||||
end
|
||||
|
@ -46,10 +46,11 @@ class Travis::Api::App
|
|||
status 422
|
||||
respond_with json
|
||||
else
|
||||
payload = { id: params[:id], user_id: current_user.id, source: 'api' }
|
||||
if service.respond_to?(:push)
|
||||
service.push
|
||||
service.push("build:cancel", payload)
|
||||
else
|
||||
Travis::Sidekiq::BuildCancellation.perform_async(id: params[:id], user_id: current_user.id, source: 'api')
|
||||
Travis::Sidekiq::BuildCancellation.perform_async(payload)
|
||||
end
|
||||
|
||||
Metriks.meter("api.request.cancel_build.success").mark
|
||||
|
|
|
@ -30,7 +30,7 @@ class Travis::Api::App
|
|||
Metriks.meter("api.request.cancel_job").mark
|
||||
|
||||
if Travis::Features.owner_active?(:enqueue_to_hub, current_user)
|
||||
service = Travis::Enqueue::Services::CancelModel.new(current_user, { id: params[:id], type: :job })
|
||||
service = Travis::Enqueue::Services::CancelModel.new(current_user, { job_id: params[:id] })
|
||||
else
|
||||
service = self.service(:cancel_job, params.merge(source: 'api'))
|
||||
end
|
||||
|
@ -53,10 +53,11 @@ class Travis::Api::App
|
|||
status 422
|
||||
respond_with json
|
||||
else
|
||||
payload = { id: params[:id], user_id: current_user.id, source: 'api' }
|
||||
if service.respond_to?(:push)
|
||||
service.push
|
||||
service.push("job:cancel", payload)
|
||||
else
|
||||
Travis::Sidekiq::JobCancellation.perform_async(id: params[:id], user_id: current_user.id, source: 'api')
|
||||
Travis::Sidekiq::JobCancellation.perform_async(payload)
|
||||
end
|
||||
|
||||
Metriks.meter("api.request.cancel_job.success").mark
|
||||
|
|
|
@ -20,26 +20,27 @@ module Travis
|
|||
messages
|
||||
end
|
||||
|
||||
def push
|
||||
def push(event, payload)
|
||||
# target may have been retrieved with a :join query, so we need to reset the readonly status
|
||||
if can_cancel?
|
||||
::Sidekiq::Client.push(
|
||||
'queue' => 'hub',
|
||||
'class' => 'Travis::Hub::Sidekiq::Worker',
|
||||
'args' => ["#{type}:cancel", @params]
|
||||
#'args' => ["#{type}:cancel", @params]
|
||||
'args' => [event, payload]
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
def type
|
||||
@params[:type]
|
||||
@type ||= @params[:build_id] ? :build : :job
|
||||
end
|
||||
|
||||
def target
|
||||
if type == :build
|
||||
@target = Build.find(@params[:id])
|
||||
@target = Build.find(@params[:build_id])
|
||||
else
|
||||
@target = Job.find(@params[:id])
|
||||
@target = Job.find(@params[:job_id])
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -47,6 +48,7 @@ module Travis
|
|||
authorized? && target.cancelable?
|
||||
end
|
||||
|
||||
# check on web
|
||||
def authorized?
|
||||
current_user.permission?(:pull, :repository_id => target.repository_id)
|
||||
end
|
||||
|
|
|
@ -14,9 +14,8 @@ module Travis::API::V3
|
|||
raise BuildNotCancelable if %w(passed failed canceled errored).include? find.state
|
||||
payload = { id: id, user_id: user.id, source: 'api' }
|
||||
if Travis::Features.owner_active?(:enqueue_to_hub, user)
|
||||
payload[:type] = :build
|
||||
service = Travis::Enqueue::Services::CancelModel.new(user, payload)
|
||||
service.push
|
||||
service = Travis::Enqueue::Services::CancelModel.new(user, { build_id: id })
|
||||
service.push("build:cancel", payload)
|
||||
else
|
||||
perform_async(:build_cancellation, payload)
|
||||
end
|
||||
|
|
|
@ -14,8 +14,8 @@ module Travis::API::V3
|
|||
raise JobNotCancelable if %w(passed failed canceled errored).include? find.state
|
||||
payload = { id: id, user_id: user.id, source: 'api' }
|
||||
if Travis::Features.owner_active?(:enqueue_to_hub, user)
|
||||
service = Travis::Enqueue::Services::CancelModel.new(user, payload)
|
||||
service.push
|
||||
service = Travis::Enqueue::Services::CancelModel.new(user, { job_id: id })
|
||||
service.push("job:cancel", payload)
|
||||
else
|
||||
perform_async(:job_cancellation, payload)
|
||||
end
|
||||
|
|
|
@ -256,8 +256,7 @@ describe Travis::API::V3::Services::Build::Cancel do
|
|||
example { expect(sidekiq_payload).to be == {
|
||||
"id" => "#{build.id}",
|
||||
"user_id"=> repo.owner_id,
|
||||
"source" => "api",
|
||||
"type" => "build"}
|
||||
"source" => "api"}
|
||||
}
|
||||
|
||||
example { expect(Sidekiq::Client.last['queue']).to be == 'hub' }
|
||||
|
@ -283,8 +282,7 @@ describe Travis::API::V3::Services::Build::Cancel do
|
|||
example { expect(sidekiq_payload).to be == {
|
||||
"id" => "#{build.id}",
|
||||
"user_id"=> repo.owner_id,
|
||||
"source" => "api",
|
||||
"type" => "build"}
|
||||
"source" => "api"}
|
||||
}
|
||||
|
||||
example { expect(Sidekiq::Client.last['queue']).to be == 'hub' }
|
||||
|
@ -310,8 +308,7 @@ describe Travis::API::V3::Services::Build::Cancel do
|
|||
example { expect(sidekiq_payload).to be == {
|
||||
"id" => "#{build.id}",
|
||||
"user_id"=> repo.owner_id,
|
||||
"source" => "api",
|
||||
"type" => "build"}
|
||||
"source" => "api"}
|
||||
}
|
||||
|
||||
example { expect(Sidekiq::Client.last['queue']).to be == 'hub' }
|
||||
|
@ -324,8 +321,7 @@ describe Travis::API::V3::Services::Build::Cancel do
|
|||
example { expect(sidekiq_payload).to be == {
|
||||
"id" => "#{build.id}",
|
||||
"user_id"=> repo.owner_id,
|
||||
"source" => "api",
|
||||
"type" => "build"}
|
||||
"source" => "api"}
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user