Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -196,12 +196,12 @@ async def _list_projects_access_rights(


async def get_project_access_rights(
conn: AsyncConnection, user_id: UserID, project_id: ProjectID
connection: AsyncConnection, user_id: UserID, project_id: ProjectID
) -> AccessRights:
"""
Returns access-rights of user (user_id) over a project resource (project_id)
"""
user_group_ids: list[GroupID] = await _get_user_groups_ids(conn, user_id)
user_group_ids: list[GroupID] = await _get_user_groups_ids(connection, user_id)

private_workspace_query = (
sa.select(
Expand Down Expand Up @@ -246,7 +246,7 @@ async def get_project_access_rights(

combined_query = sa.union_all(private_workspace_query, shared_workspace_query)

result = await conn.execute(combined_query)
result = await connection.execute(combined_query)
row = result.one_or_none()

if not row:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ async def list_files(
async with self.engine.connect() as conn:
if project_id is not None:
project_access_rights = await get_project_access_rights(
conn=conn, user_id=user_id, project_id=project_id
connection=conn, user_id=user_id, project_id=project_id
)
if not project_access_rights.read:
raise ProjectAccessRightError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,13 +215,16 @@ async def list_child_paths_from_repository(


async def get_accessible_project_ids(
conn: AsyncConnection, *, user_id: UserID, project_id: ProjectID | None
*,
user_id: UserID,
project_id: ProjectID | None,
connection: AsyncConnection | None = None,
) -> list[ProjectID]:
if project_id:
project_access_rights = await get_project_access_rights(
conn=conn, user_id=user_id, project_id=project_id
connection=connection, user_id=user_id, project_id=project_id
)
if not project_access_rights.read:
raise ProjectAccessRightError(access_right="read", project_id=project_id)
return [project_id]
return await get_readable_project_ids(conn, user_id)
return await get_readable_project_ids(connection, user_id)
Loading