Skip to content

Commit 0be4bd5

Browse files
authored
Merge pull request #829 from superannotateai/user_project_filters
User project filters
2 parents 791f052 + b814ffc commit 0be4bd5

File tree

2 files changed

+12
-27
lines changed

2 files changed

+12
-27
lines changed

src/superannotate/lib/infrastructure/controller.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@
5959
from lib.infrastructure.query_builder import ProjectFilterHandler
6060
from lib.infrastructure.query_builder import ProjectUserRoleFilterHandler
6161
from lib.infrastructure.query_builder import QueryBuilderChain
62-
from lib.infrastructure.query_builder import TeamUserRoleFilterHandler
63-
from lib.infrastructure.query_builder import TeamUserStateFilterHandler
62+
from lib.infrastructure.query_builder import TeamUserFilterHandler
6463
from lib.infrastructure.repositories import S3Repository
6564
from lib.infrastructure.serviceprovider import ServiceProvider
6665
from lib.infrastructure.services.http_client import HttpClient
@@ -238,13 +237,7 @@ def list_users(
238237
chain = QueryBuilderChain(
239238
[
240239
FieldValidationHandler(valid_fields.keys()),
241-
TeamUserRoleFilterHandler(
242-
team_id=self.service_provider.client.team_id,
243-
service_provider=self.service_provider,
244-
entity=CustomFieldEntityEnum.CONTRIBUTOR,
245-
parent=parent_entity,
246-
),
247-
TeamUserStateFilterHandler(
240+
TeamUserFilterHandler(
248241
team_id=self.service_provider.client.team_id,
249242
service_provider=self.service_provider,
250243
entity=CustomFieldEntityEnum.CONTRIBUTOR,
@@ -717,7 +710,7 @@ def list_projects(
717710
FieldValidationHandler(valid_fields.keys()),
718711
ProjectFilterHandler(
719712
team_id=self.service_provider.client.team_id,
720-
project_id=None,
713+
project=None,
721714
service_provider=self.service_provider,
722715
entity=CustomFieldEntityEnum.PROJECT,
723716
parent=CustomFieldEntityEnum.TEAM,

src/superannotate/lib/infrastructure/query_builder.py

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ def handle(self, filters: Dict[str, Any], query: Query = None) -> Query:
264264
return super().handle(filters, query)
265265

266266

267-
class TeamUserRoleFilterHandler(BaseCustomFieldHandler):
267+
class TeamUserFilterHandler(BaseCustomFieldHandler):
268268
def _handle_special_fields(self, keys: List[str], val):
269269
"""
270270
Handle special fields like 'custom_fields__'.
@@ -279,6 +279,14 @@ def _handle_special_fields(self, keys: List[str], val):
279279
raise AppException("Invalid user role provided.")
280280
except (KeyError, AttributeError):
281281
raise AppException("Invalid user role provided.")
282+
elif keys[0] == "state":
283+
try:
284+
if isinstance(val, list):
285+
val = [WMUserStateEnum[i].value for i in val]
286+
else:
287+
val = WMUserStateEnum[val].value
288+
except (TypeError, KeyError):
289+
raise AppException("Invalid user state provided.")
282290
return super()._handle_special_fields(keys, val)
283291

284292

@@ -303,22 +311,6 @@ def _handle_special_fields(self, keys: List[str], val):
303311
return super()._handle_special_fields(keys, val)
304312

305313

306-
class TeamUserStateFilterHandler(BaseCustomFieldHandler):
307-
def _handle_special_fields(self, keys: List[str], val):
308-
"""
309-
Handle special fields like 'custom_fields__'.
310-
"""
311-
if keys[0] == "state":
312-
try:
313-
if isinstance(val, list):
314-
val = [WMUserStateEnum[i].value for i in val]
315-
else:
316-
val = WMUserStateEnum[val].value
317-
except (TypeError, KeyError):
318-
raise AppException("Invalid user state provided.")
319-
return super()._handle_special_fields(keys, val)
320-
321-
322314
class ProjectFilterHandler(BaseCustomFieldHandler):
323315
def _handle_special_fields(self, keys: List[str], val):
324316
"""

0 commit comments

Comments
 (0)