diff --git a/app/routers/gitea.py b/app/routers/gitea.py index 4370043..86c30a9 100644 --- a/app/routers/gitea.py +++ b/app/routers/gitea.py @@ -6,19 +6,14 @@ router = APIRouter(tags=["gitea"], prefix="/api/gitea") def _require_gitea(request: Request): - """Return a per-user GiteaClient, fallback to admin token for read ops. + """Return a per-user GiteaClient or raise 401. - Priority: user OAuth token → admin token (read-only fallback). - Use _require_user_gitea for write operations. + Only returns a client if the user has personally connected their Gitea + account (OAuth token). No fallback to admin token — each user must link + their own Gitea account to see Gitea projects. """ - from app.services.gitea_client import get_user_gitea_client, GiteaClient + from app.services.gitea_client import get_user_gitea_client client = get_user_gitea_client(request) - if not client: - # Fallback to server admin token so any logged-in user can browse repos - try: - client = GiteaClient() # uses GITEA_TOKEN from settings - except Exception: - pass if not client: raise HTTPException(status_code=401, detail="Gitea account not linked. Go to Settings → Integrations to connect.") return client