feat(ploeg): expose who asked for changes on a pull request #203
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ryangr0/ploeg-changes-requested-by"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The operator API's
pullRequestnow carrieschangesRequestedBy: each distinct forge login fromwork_item_reviewsthat asked for changes (state = 'changes_requested', empty logins skipped), ordered by that login's newest request first, and[]when nobody did. It is a correlatedjsonb_aggsubquery next to the existingEXISTS, so list and detail reads stay one SQL statement. No migration.Ticket: https://vikunja.webgrip.dev/tasks/1601
Acceptance criteria
pullRequest.changesRequestedByis an array of distinct reviewer logins fromwork_item_reviews, newest review first, and an empty array when there are none.humanChangesRequestedstays unchanged. The existing assertions are untouched and still pass.docs/contracts/operator-api.v1.schema.jsondeclares the field optional (not inrequired,uniqueItems).Tests
pkg/store:TestOperatorPullRequestNamesWhoAskedForChangesNewestFirstcovers no review, approved only, one reviewer, the same reviewer twice, two reviewers newest first, and a reviewer who asked again moving back to the front. It checks both the list and the detail.pkg/httpapi:TestOperatorWorkItemNamesWhoAskedForChangesWithinTheSchemachecks that the list and detail responses validate against operator-api.v1 and carry the logins.go test -count=1 ./...: all ok.go vet ./...: clean.mise run verify: all gates passed (vloer 7, demo-replay 1, vloer-extension 4, ploeg 7, brand 1, site 5, site-demo 1, helm 15, release 3, integration 1, docs 1). The site replay was not stale.Checks left to CI
None. Every gate ran locally.
🤖 Generated with Claude Code