|
47 | 47 | from superset.views.base import DatasourceFilter
|
48 | 48 | from superset.views.base_api import (
|
49 | 49 | BaseSupersetModelRestApi,
|
| 50 | + RelatedFieldFilter, |
50 | 51 | requires_json,
|
51 | 52 | statsd_metrics,
|
52 | 53 | )
|
53 |
| -from superset.views.filters import BaseFilterRelatedRoles |
| 54 | +from superset.views.filters import ( |
| 55 | + BaseFilterRelatedRoles, |
| 56 | + BaseFilterRelatedUsers, |
| 57 | + FilterRelatedOwners, |
| 58 | +) |
54 | 59 |
|
55 | 60 | logger = logging.getLogger(__name__)
|
56 | 61 |
|
@@ -129,9 +134,13 @@ class RLSRestApi(BaseSupersetModelRestApi):
|
129 | 134 | edit_model_schema = RLSPutSchema()
|
130 | 135 |
|
131 | 136 | allowed_rel_fields = {"tables", "roles", "created_by", "changed_by"}
|
| 137 | + related_field_filters = { |
| 138 | + "changed_by": RelatedFieldFilter("first_name", FilterRelatedOwners), |
| 139 | + } |
132 | 140 | base_related_field_filters = {
|
133 | 141 | "tables": [["id", DatasourceFilter, lambda: []]],
|
134 | 142 | "roles": [["id", BaseFilterRelatedRoles, lambda: []]],
|
| 143 | + "changed_by": [["id", BaseFilterRelatedUsers, lambda: []]], |
135 | 144 | }
|
136 | 145 |
|
137 | 146 | openapi_spec_methods = openapi_spec_methods_override
|
|
0 commit comments