fixed PR issue

This commit is contained in:
2026-05-11 23:56:45 +02:00
parent edf3c9824e
commit 35afa8d8f1
15 changed files with 88 additions and 217 deletions
+7 -14
View File
@@ -28,22 +28,15 @@ type memberResponse struct {
AddedAt string `json:"addedAt"`
}
// lookupRepoForMembers resolves the repo from URL params and returns the owner User.
// lookupRepoAndOwner resolves {owner}/{repo} and returns the repo + its creator user.
func (h *MemberHandler) lookupRepoAndOwner(w http.ResponseWriter, r *http.Request) (*models.Repository, *models.User, bool) {
ownerName := chi.URLParam(r, "owner")
repoName := chi.URLParam(r, "repo")
repo, ok := resolveRepo(h.db, w, r)
if !ok {
return nil, nil, false
}
var owner models.User
if found, _ := h.db.Where("username = ?", ownerName).Get(&owner); !found {
jsonError(w, "repository not found", http.StatusNotFound)
return nil, nil, false
}
var repo models.Repository
if found, _ := h.db.Where("owner_id = ? AND name = ?", owner.ID, repoName).Get(&repo); !found {
jsonError(w, "repository not found", http.StatusNotFound)
return nil, nil, false
}
return &repo, &owner, true
h.db.ID(repo.OwnerID).Get(&owner)
return repo, &owner, true
}
// callerCanManage returns true if callerID is the repo owner or has admin permission.