refactor: rename filter_rel_fields to base_related_field_filters (#22508)
This commit is contained in:
parent
9e81c3a119
commit
7926a43aed
|
|
@ -243,7 +243,7 @@ class ChartRestApi(BaseSupersetModelRestApi):
|
|||
"slices": ("slice_name", "asc"),
|
||||
"owners": ("first_name", "asc"),
|
||||
}
|
||||
filter_rel_fields = {
|
||||
base_related_field_filters = {
|
||||
"owners": [["id", BaseFilterRelatedUsers, lambda: []]],
|
||||
"created_by": [["id", BaseFilterRelatedUsers, lambda: []]],
|
||||
}
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ class DashboardRestApi(BaseSupersetModelRestApi):
|
|||
"owners": ("first_name", "asc"),
|
||||
"roles": ("name", "asc"),
|
||||
}
|
||||
filter_rel_fields = {
|
||||
base_related_field_filters = {
|
||||
"owners": [["id", BaseFilterRelatedUsers, lambda: []]],
|
||||
"created_by": [["id", BaseFilterRelatedUsers, lambda: []]],
|
||||
}
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ class DatasetRestApi(BaseSupersetModelRestApi):
|
|||
]
|
||||
openapi_spec_tag = "Datasets"
|
||||
|
||||
filter_rel_fields = {
|
||||
base_related_field_filters = {
|
||||
"owners": [["id", BaseFilterRelatedUsers, lambda: []]],
|
||||
"database": [["id", DatabaseFilter, lambda: []]],
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ class QueryRestApi(BaseSupersetModelRestApi):
|
|||
"tab_name",
|
||||
"user.first_name",
|
||||
]
|
||||
filter_rel_fields = {
|
||||
base_related_field_filters = {
|
||||
"created_by": [["id", BaseFilterRelatedUsers, lambda: []]],
|
||||
"user": [["id", BaseFilterRelatedUsers, lambda: []]],
|
||||
}
|
||||
|
|
@ -120,6 +120,6 @@ class QueryRestApi(BaseSupersetModelRestApi):
|
|||
|
||||
search_columns = ["changed_on", "database", "sql", "status", "user", "start_time"]
|
||||
|
||||
filter_rel_fields = {"database": [["id", DatabaseFilter, lambda: []]]}
|
||||
base_related_field_filters = {"database": [["id", DatabaseFilter, lambda: []]]}
|
||||
allowed_rel_fields = {"database", "user"}
|
||||
allowed_distinct_fields = {"status"}
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ class SavedQueryRestApi(BaseSupersetModelRestApi):
|
|||
related_field_filters = {
|
||||
"database": "database_name",
|
||||
}
|
||||
filter_rel_fields = {"database": [["id", DatabaseFilter, lambda: []]]}
|
||||
base_related_field_filters = {"database": [["id", DatabaseFilter, lambda: []]]}
|
||||
allowed_rel_fields = {"database"}
|
||||
allowed_distinct_fields = {"schema"}
|
||||
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ class ReportScheduleRestApi(BaseSupersetModelRestApi):
|
|||
search_filters = {"name": [ReportScheduleAllTextFilter]}
|
||||
allowed_rel_fields = {"owners", "chart", "dashboard", "database", "created_by"}
|
||||
|
||||
filter_rel_fields = {
|
||||
base_related_field_filters = {
|
||||
"chart": [["id", ChartFilter, lambda: []]],
|
||||
"dashboard": [["id", DashboardAccessFilter, lambda: []]],
|
||||
"database": [["id", DatabaseFilter, lambda: []]],
|
||||
|
|
|
|||
|
|
@ -195,21 +195,27 @@ class BaseSupersetModelRestApi(ModelRestApi):
|
|||
}
|
||||
"""
|
||||
|
||||
related_field_filters: Dict[str, Union[RelatedFieldFilter, str]] = {}
|
||||
base_related_field_filters: Dict[str, BaseFilter] = {}
|
||||
"""
|
||||
Declare the filters for related fields::
|
||||
This is used to specify a base filter for related fields
|
||||
when they are accessed through the '/related/<column_name>' endpoint.
|
||||
When combined with the `related_field_filters` attribute,
|
||||
this filter will be applied in addition to the latest::
|
||||
|
||||
related_fields = {
|
||||
"<RELATED_FIELD>": <RelatedFieldFilter>)
|
||||
base_related_field_filters = {
|
||||
"<RELATED_FIELD>": "<FILTER>")
|
||||
}
|
||||
"""
|
||||
|
||||
filter_rel_fields: Dict[str, BaseFilter] = {}
|
||||
related_field_filters: Dict[str, Union[RelatedFieldFilter, str]] = {}
|
||||
"""
|
||||
Declare the related field base filter::
|
||||
Specify a filter for related fields when they are accessed
|
||||
through the '/related/<column_name>' endpoint.
|
||||
When combined with the `base_related_field_filters` attribute,
|
||||
this filter will be applied in prior to the latest::
|
||||
|
||||
filter_rel_fields_field = {
|
||||
"<RELATED_FIELD>": "<FILTER>")
|
||||
related_fields = {
|
||||
"<RELATED_FIELD>": <RelatedFieldFilter>)
|
||||
}
|
||||
"""
|
||||
allowed_rel_fields: Set[str] = set()
|
||||
|
|
@ -299,7 +305,7 @@ class BaseSupersetModelRestApi(ModelRestApi):
|
|||
filter_field = cast(RelatedFieldFilter, filter_field)
|
||||
search_columns = [filter_field.field_name] if filter_field else None
|
||||
filters = datamodel.get_filters(search_columns)
|
||||
base_filters = self.filter_rel_fields.get(column_name)
|
||||
base_filters = self.base_related_field_filters.get(column_name)
|
||||
if base_filters:
|
||||
filters.add_filter_list(base_filters)
|
||||
if value and filter_field:
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ class BaseFilterRelatedUsers(BaseFilter): # pylint: disable=too-few-public-meth
|
|||
|
||||
Use in the api by adding something like:
|
||||
```
|
||||
filter_rel_fields = {
|
||||
base_related_field_filters = {
|
||||
"owners": [["id", BaseFilterRelatedUsers, lambda: []]],
|
||||
"created_by": [["id", BaseFilterRelatedUsers, lambda: []]],
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue