Skip to content

Commit

Permalink
As an API user, I can delete service brokers that have no instances v…
Browse files Browse the repository at this point in the history
…ia v3

[finishes #166631760]
[PR]

Co-authored-by: Derik Evangelista <[email protected]>
Co-authored-by: Felisia Martini <[email protected]>
Co-authored-by: Joao Lebre <[email protected]>
  • Loading branch information
4 people committed Sep 3, 2019
1 parent fcebddc commit 585f838
Show file tree
Hide file tree
Showing 13 changed files with 553 additions and 187 deletions.
19 changes: 16 additions & 3 deletions app/controllers/v3/service_brokers_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,22 @@ def create
unprocessable!(e.message)
end

def delete
raise "real,ly unique mesage with stypos"
#render status: :ok, json: {}
def destroy
service_broker = VCAP::CloudController::ServiceBroker.find(guid: hashed_params[:guid])
broker_not_found! unless service_broker

if service_broker.space.nil?
broker_not_found! unless permission_queryer.can_read_globally?
unauthorized! unless permission_queryer.can_write_global_service_broker?
else
broker_not_found! unless permission_queryer.can_read_from_space?(service_broker.space.guid, service_broker.space.organization.guid)
unauthorized! unless permission_queryer.can_write_space_scoped_service_broker?(service_broker.space.guid)
end

service_event_repository = VCAP::CloudController::Repositories::ServiceEventRepository.new(user_audit_info)
service_broker_remover = VCAP::Services::ServiceBrokers::ServiceBrokerRemover.new(service_event_repository)

service_broker_remover.remove(service_broker)
end

private
Expand Down
2 changes: 1 addition & 1 deletion bin/rspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env ruby
begin
load File.expand_path('../spring', __FILE__)
load File.expand_path('spring', __dir__)
rescue LoadError => e
raise unless e.message.include?('spring')
end
Expand Down
2 changes: 1 addition & 1 deletion config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
get '/service_brokers', to: 'service_brokers#index'
get '/service_brokers/:guid', to: 'service_brokers#show'
post '/service_brokers', to: 'service_brokers#create'
delete '/service_brokers/:guid', to: 'service_brokers#delete'
delete '/service_brokers/:guid', to: 'service_brokers#destroy'

# space_manifests
post '/spaces/:guid/actions/apply_manifest', to: 'space_manifests#apply_manifest'
Expand Down
Loading

0 comments on commit 585f838

Please sign in to comment.