Backend:
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
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user