|
| 1 | +require 'fetchers/base_list_fetcher' |
| 2 | + |
1 | 3 | module VCAP::CloudController |
2 | | - class ServiceBrokerListFetcher |
3 | | - def fetch(message:, permitted_space_guids: nil) |
4 | | - if permitted_space_guids |
5 | | - dataset = ServiceBroker.dataset.where(Sequel[:service_brokers][:space_id] => spaces_from(permitted_space_guids)) |
6 | | - return filter(message, dataset) |
| 4 | + class ServiceBrokerListFetcher < BaseListFetcher |
| 5 | + class << self |
| 6 | + def fetch(message:, permitted_space_guids: nil) |
| 7 | + if permitted_space_guids |
| 8 | + dataset = ServiceBroker.dataset.where(Sequel[:service_brokers][:space_id] => spaces_from(permitted_space_guids)) |
| 9 | + return filter(message, dataset) |
| 10 | + end |
| 11 | + |
| 12 | + dataset = ServiceBroker.dataset |
| 13 | + filter(message, dataset) |
7 | 14 | end |
8 | 15 |
|
9 | | - dataset = ServiceBroker.dataset |
10 | | - filter(message, dataset) |
11 | | - end |
| 16 | + private |
12 | 17 |
|
13 | | - private |
| 18 | + def filter(message, dataset) |
| 19 | + if message.requested?(:space_guids) |
| 20 | + dataset = dataset.where( |
| 21 | + Sequel[:service_brokers][:space_id] => spaces_from(message.space_guids) |
| 22 | + ) |
| 23 | + end |
14 | 24 |
|
15 | | - def filter(message, dataset) |
16 | | - if message.requested?(:space_guids) |
17 | | - dataset = dataset.where( |
18 | | - Sequel[:service_brokers][:space_id] => spaces_from(message.space_guids) |
19 | | - ) |
20 | | - end |
| 25 | + if message.requested?(:names) |
| 26 | + dataset = dataset.where( |
| 27 | + name: message.names |
| 28 | + ) |
| 29 | + end |
21 | 30 |
|
22 | | - if message.requested?(:names) |
23 | | - dataset = dataset.where( |
24 | | - name: message.names |
25 | | - ) |
26 | | - end |
| 31 | + if message.requested?(:label_selector) |
| 32 | + dataset = LabelSelectorQueryGenerator.add_selector_queries( |
| 33 | + label_klass: ServiceBrokerLabelModel, |
| 34 | + resource_dataset: dataset, |
| 35 | + requirements: message.requirements, |
| 36 | + resource_klass: ServiceBroker, |
| 37 | + ) |
| 38 | + end |
27 | 39 |
|
28 | | - if message.requested?(:label_selector) |
29 | | - dataset = LabelSelectorQueryGenerator.add_selector_queries( |
30 | | - label_klass: ServiceBrokerLabelModel, |
31 | | - resource_dataset: dataset, |
32 | | - requirements: message.requirements, |
33 | | - resource_klass: ServiceBroker, |
34 | | - ) |
| 40 | + super(message, dataset, ServiceBroker) |
35 | 41 | end |
36 | 42 |
|
37 | | - dataset |
38 | | - end |
39 | | - |
40 | | - def spaces_from(space_guids) |
41 | | - Space.where(guid: space_guids).select(:id) |
| 43 | + def spaces_from(space_guids) |
| 44 | + Space.where(guid: space_guids).select(:id) |
| 45 | + end |
42 | 46 | end |
43 | 47 | end |
44 | 48 | end |
0 commit comments