nisse-review: match repository patterns against Gitea's search
At bring-up, `dev/*` failed: listing an organization's repositories (/orgs/dev/repos) needs the read:organization token scope, which the reviewer's token doesn't have and shouldn't need. Patterns are now matched against /repos/search, which needs only the repository scope and already lists every repository the account can read. A pattern that matches nothing is logged (access.no_match). owner_repositories goes. A Gitea error at startup is now reported like a config error, not a traceback. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J5Utyfzw7gF7UhjRDEtjTk
This commit is contained in:
1 parent
86f899006a
commit
faf973be6c
8 files changed
+25
-58
No files matched your search
@@ -421,14 +421,6 @@ class GiteaClient:
|
||||
return found
|
||||
raise GiteaError("too many repositories to list")
|
||||
|
||||
def owner_repositories(self, owner: str) -> list[str]:
|
||||
"""Every repository of an organization (or a user) this account can
|
||||
read, as "owner/name"."""
|
||||
try:
|
||||
return self._paged_names(f"/orgs/{owner}/repos")
|
||||
except GiteaNotFound:
|
||||
return self._paged_names(f"/users/{owner}/repos")
|
||||
|
||||
def visible_repositories(self) -> list[str]:
|
||||
"""Every repository this account can read, public ones included."""
|
||||
return self._paged_names("/repos/search", key="data")
|
||||
|
||||
Reference in new issue
Block a user