Skip to content

Commit 75c0c87

Browse files
committed
[NEP-18619]: Adding filter datasets to list endpoint, changing all references to use named attribute, adding filter_only attribute for filter datasets
1 parent ba0569b commit 75c0c87

File tree

6 files changed

+14
-11
lines changed

6 files changed

+14
-11
lines changed

doc/usage.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ Superset::Database::GetSchemas.new(1).list # get schemas for database 1
1010

1111
Superset::Dashboard::List.call
1212
Superset::Dashboard::List.new(title_contains: 'Sales').list
13-
Superset::Dashboard::Datasets::List.new(10).list # get all datasets for dashboard 10
13+
Superset::Dashboard::Datasets::List.new(dashboard_id: 10).list # get all datasets for dashboard 10
14+
15+
Superset::Dashboard::Datasets::List.new(dashboard_id: 10, include_filter_datasets: true).list # get all datasets for dashboard 10 including the ones used only in dashboard filters
1416
Superset::Dashboard::WarmUpCache.new(dashboard_id: 10).perform
1517

1618
Superset::Dataset::List.call

lib/superset/dashboard/bulk_delete_cascade.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def perform
3131
private
3232

3333
def delete_datasets(dashboard_id)
34-
datasets_to_delete = Superset::Dashboard::Datasets::List.new(dashboard_id).datasets_details.map{|d| d[:id] }
34+
datasets_to_delete = Superset::Dashboard::Datasets::List.new(dashboard_id: dashboard_id).datasets_details.map{|d| d[:id] }
3535
Superset::Dataset::BulkDelete.new(dataset_ids: datasets_to_delete).perform if datasets_to_delete.any?
3636
end
3737

lib/superset/dashboard/compare.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ def second_dashboard
3737

3838
def list_datasets
3939
puts "\n ====== DASHBOARD DATASETS ====== "
40-
Superset::Dashboard::Datasets::List.new(first_dashboard_id).list
41-
Superset::Dashboard::Datasets::List.new(second_dashboard_id).list
40+
Superset::Dashboard::Datasets::List.new(dashboard_id: first_dashboard_id).list
41+
Superset::Dashboard::Datasets::List.new(dashboard_id: second_dashboard_id).list
4242
end
4343

4444
def list_charts

lib/superset/dashboard/datasets/list.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def filter_datasets(filter_dataset_ids_not_used_in_charts)
6262
'name' => filter_dataset['database']['database_name'],
6363
'backend' => filter_dataset['database']['backend']
6464
}
65-
filter_dataset.slice('id', 'datasource_name', 'schema', 'sql').merge('database' => database_info).with_indifferent_access
65+
filter_dataset.slice('id', 'datasource_name', 'schema', 'sql').merge('database' => database_info, 'filter_only': true).with_indifferent_access
6666
end
6767
end
6868

@@ -71,18 +71,19 @@ def route
7171
end
7272

7373
def list_attributes
74-
['id', 'datasource_name', 'database_id', 'database_name', 'database_backend', 'schema'].map(&:to_sym)
74+
['id', 'datasource_name', 'database_id', 'database_name', 'database_backend', 'schema', 'filter_only'].map(&:to_sym)
7575
end
7676

7777
def rows
78-
result.map do |d|
78+
datasets_details.map do |d|
7979
[
8080
d[:id],
8181
d[:datasource_name],
8282
d[:database][:id],
8383
d[:database][:name],
8484
d[:database][:backend],
85-
d[:schema]
85+
d[:schema],
86+
d[:filter_only]
8687
]
8788
end
8889
end
@@ -93,7 +94,7 @@ def title
9394
end
9495

9596
def dashboard
96-
@dashboard = Superset::Dashboard::Get.new(id)
97+
@dashboard ||= Superset::Dashboard::Get.new(id)
9798
end
9899
end
99100
end

lib/superset/dashboard/warm_up_cache.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def validate_dashboard_id
3535
end
3636

3737
def fetch_dataset_details(dashboard_id)
38-
Superset::Dashboard::Datasets::List.new(dashboard_id).datasets_details.map { |dataset| dataset['database'].slice('name').merge(dataset.slice('datasource_name'))}
38+
Superset::Dashboard::Datasets::List.new(dashboard_id: dashboard_id).datasets_details.map { |dataset| dataset['database'].slice('name').merge(dataset.slice('datasource_name'))}
3939
end
4040
end
4141
end

spec/superset/dashboard/bulk_delete_cascade_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
let(:dashboard_ids) { [1] }
2424

2525
before do
26-
allow(Superset::Dashboard::Datasets::List).to receive(:new).with(1).and_return(double(datasets_details: [{ id: 11 }, { id: 12 }]))
26+
allow(Superset::Dashboard::Datasets::List).to receive(:new).with(dashboard_id: 1).and_return(double(datasets_details: [{ id: 11 }, { id: 12 }]))
2727
allow(Superset::Dataset::BulkDelete).to receive(:new).with(dataset_ids: [11,12]).and_return(double(perform: true))
2828

2929
allow(Superset::Dashboard::Charts::List).to receive(:new).with(1).and_return(double(chart_ids: [21, 22]))

0 commit comments

Comments
 (0)