From a5cf49a98d6e9e78780e68dc846faf2140efa78c Mon Sep 17 00:00:00 2001 From: Jared Storts Date: Thu, 27 Jul 2023 09:28:41 -0600 Subject: [PATCH] [EF-369] Add roles to project members qgl query --- labelbox/schema/project.py | 3 ++- tests/integration/test_user_management.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/labelbox/schema/project.py b/labelbox/schema/project.py index aa1c880cf..d7667d8ac 100644 --- a/labelbox/schema/project.py +++ b/labelbox/schema/project.py @@ -150,7 +150,7 @@ def members(self) -> PaginatedCollection: """ id_param = "projectId" query_str = """query ProjectMemberOverviewPyApi($%s: ID!) { - project(where: {id : $%s}) { id members(skip: %%d first: %%d){ id user { %s } role { id name } } + project(where: {id : $%s}) { id members(skip: %%d first: %%d){ id user { %s } role { id name } accessFrom } } }""" % (id_param, id_param, query.results_query_part(Entity.User)) return PaginatedCollection(self.client, query_str, @@ -1360,6 +1360,7 @@ def __check_data_rows_have_been_processed( class ProjectMember(DbObject): user = Relationship.ToOne("User", cache=True) role = Relationship.ToOne("Role", cache=True) + access_from = Field.String("access_from") class LabelingParameterOverride(DbObject): diff --git a/tests/integration/test_user_management.py b/tests/integration/test_user_management.py index 1a7aeee89..66f0fb659 100644 --- a/tests/integration/test_user_management.py +++ b/tests/integration/test_user_management.py @@ -60,6 +60,7 @@ def test_project_invite(client, organization, project_pack, queries): for proj_role in [project_role_1, project_role_2]]) project_members = project_1.members() + project_member = [ member for member in project_members if member.user().uid == client.get_user().uid @@ -68,6 +69,7 @@ def test_project_invite(client, organization, project_pack, queries): assert len(project_member) == 1 project_member = project_member[0] + assert project_member.access_from == 'ORGANIZATION' assert project_member.role().name.upper() == roles['ADMIN'].name.upper() queries.cancel_invite(client, invite.uid)