Skip to content

Commit 1673460

Browse files
committed
added get_collaborator_permission
1 parent ebb64ff commit 1673460

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

ForgejoRepoAPI.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,21 @@ def get_repository(self, id: str) -> Repository | None:
5151
return None
5252

5353
def get_collaborator_permission(self, repo: Repository, user: User) -> str:
54-
return "|||"
54+
try:
55+
permission = self.client.repository.repo_get_repo_permissions(
56+
owner=repo.owner.login,
57+
repo=repo.name,
58+
collaborator=user.login
59+
)
60+
return permission.permission
61+
62+
except Exception as e:
63+
if "403" in str(e):
64+
logging.error(
65+
f"Permission error: Only admins or repo admins can view permissions for others in {repo.name}.")
66+
return f"Permission error: Only admins or repo admins can view permissions for others in {repo.name}."
67+
logging.error(f"Failed to get collaborator permission for {user.login} in {repo.name}: {e}")
68+
return "Error"
5569

5670
def get_commits(self, repo: Repository, files: bool = True) -> list[Commit]:
5771
try:

0 commit comments

Comments
 (0)