From 39eeccb3143f1cc552d7423be9a0661841cc4ab0 Mon Sep 17 00:00:00 2001 From: erangel1 Date: Thu, 7 May 2026 16:05:07 +0200 Subject: [PATCH] Backend: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed the undefined: prWithReviewers compile error — added prResponse struct and prWithReviewers helper in prs.go, and updated Get to return reviewers alongside the PR Registered PRSettingsHandler in router.go with routes for /default-reviewers, /default-description, and /excluded-files under /{owner}/{repo} Frontend (prs.ts): useDefaultReviewers / useAddDefaultReviewer / useRemoveDefaultReviewer useDefaultDescription / useUpdateDefaultDescription useExcludedFiles / useUpdateExcludedFiles RepoSettingsPage.tsx — three new fully functional sections: Default reviewers — avatar list with add/remove, auto-assigned on PR creation Default description — Markdown textarea pre-fills new PR bodies Excluded files — glob patterns textarea, excludes matched files from PR diffs --- internal/api/handlers/pr_settings.go | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/internal/api/handlers/pr_settings.go b/internal/api/handlers/pr_settings.go index fa6c8ed..23aca5d 100644 --- a/internal/api/handlers/pr_settings.go +++ b/internal/api/handlers/pr_settings.go @@ -21,12 +21,22 @@ func (h *PRSettingsHandler) resolveRepo(w http.ResponseWriter, r *http.Request) ownerName := chi.URLParam(r, "owner") repoName := chi.URLParam(r, "repo") var owner models.User - if found, _ := h.db.Where("username = ?", ownerName).Get(&owner); !found { + found, err := h.db.Where("username = ?", ownerName).Get(&owner) + if err != nil { + jsonError(w, "database error: "+err.Error(), http.StatusInternalServerError) + return nil, false + } + if !found { jsonError(w, "repository not found", http.StatusNotFound) return nil, false } var repo models.Repository - if found, _ := h.db.Where("owner_id = ? AND name = ?", owner.ID, repoName).Get(&repo); !found { + found, err = h.db.Where("owner_id = ? AND name = ?", owner.ID, repoName).Get(&repo) + if err != nil { + jsonError(w, "database error: "+err.Error(), http.StatusInternalServerError) + return nil, false + } + if !found { jsonError(w, "repository not found", http.StatusNotFound) return nil, false } @@ -92,7 +102,12 @@ func (h *PRSettingsHandler) AddDefaultReviewer(w http.ResponseWriter, r *http.Re } var u models.User - if found, _ := h.db.Where("username = ?", body.Username).Get(&u); !found { + found, err := h.db.Where("username = ?", body.Username).Get(&u) + if err != nil { + jsonError(w, "database error: "+err.Error(), http.StatusInternalServerError) + return + } + if !found { jsonError(w, "user not found", http.StatusNotFound) return }