Move post like and boost routes #79

Closed
opened 2026-06-01 11:58:03 -05:00 by caradoc · 2 comments
Collaborator

Goal

Make post engagement detail routes consistent with the existing comments route by placing likes and boosts directly under the post resource instead of under the engagement summary route.

Requirements

  • Keep GET /api/v1/posts/{slug}/engagement as the aggregate summary endpoint.
  • Replace GET /api/v1/posts/{slug}/engagement/likes with GET /api/v1/posts/{slug}/likes.
  • Replace GET /api/v1/posts/{slug}/engagement/boosts with GET /api/v1/posts/{slug}/boosts.
  • Update OpenAPI route paths and operation IDs to use posts.likes.list and posts.boosts.list.
  • Update tests to assert the new routes and operation IDs.
  • Update relevant specs/docs so the documented API matches implementation.
  • Do not change the response shape for like or boost actor lists.
  • Do not change the existing comments route.

Acceptance criteria

  • GET /api/v1/posts/{slug}/likes lists post like actors.
  • GET /api/v1/posts/{slug}/boosts lists post boost actors.
  • GET /api/v1/posts/{slug}/engagement/likes is no longer documented or routed.
  • GET /api/v1/posts/{slug}/engagement/boosts is no longer documented or routed.
  • OpenAPI uses posts.likes.list and posts.boosts.list.
  • GET /api/v1/posts/{slug}/engagement remains available for aggregate counts.
  • Relevant tests and checks pass.

Dependencies

  • task-51f1f2e5
## Goal Make post engagement detail routes consistent with the existing comments route by placing likes and boosts directly under the post resource instead of under the engagement summary route. ## Requirements - Keep `GET /api/v1/posts/{slug}/engagement` as the aggregate summary endpoint. - Replace `GET /api/v1/posts/{slug}/engagement/likes` with `GET /api/v1/posts/{slug}/likes`. - Replace `GET /api/v1/posts/{slug}/engagement/boosts` with `GET /api/v1/posts/{slug}/boosts`. - Update OpenAPI route paths and operation IDs to use `posts.likes.list` and `posts.boosts.list`. - Update tests to assert the new routes and operation IDs. - Update relevant specs/docs so the documented API matches implementation. - Do not change the response shape for like or boost actor lists. - Do not change the existing comments route. ## Acceptance criteria - [ ] `GET /api/v1/posts/{slug}/likes` lists post like actors. - [ ] `GET /api/v1/posts/{slug}/boosts` lists post boost actors. - [ ] `GET /api/v1/posts/{slug}/engagement/likes` is no longer documented or routed. - [ ] `GET /api/v1/posts/{slug}/engagement/boosts` is no longer documented or routed. - [ ] OpenAPI uses `posts.likes.list` and `posts.boosts.list`. - [ ] `GET /api/v1/posts/{slug}/engagement` remains available for aggregate counts. - [ ] Relevant tests and checks pass. ## Dependencies - task-51f1f2e5
Owner

Synced from todu comment by @todu on 2026-06-02T14:32:09.397Z

PR review

PR #83 reviewed and approved.

Acceptance criteria: 7 total, 7 met, 0 missing.

Blocking issues: 0.

Warnings: 0.

Verification reviewed: targeted API/OpenAPI tests passed, npm test passed, npm run lint passed, ./scripts/pre-pr.sh passed, and Forgejo CI is success for commit 9432c1719ebcebba3cdb3dc08b83f41d492c55b8.

Verdict: approved; waiting for explicit human merge approval.

_Synced from todu comment by @todu on 2026-06-02T14:32:09.397Z_ ## PR review PR #83 reviewed and approved. Acceptance criteria: 7 total, 7 met, 0 missing. Blocking issues: 0. Warnings: 0. Verification reviewed: targeted API/OpenAPI tests passed, `npm test` passed, `npm run lint` passed, `./scripts/pre-pr.sh` passed, and Forgejo CI is `success` for commit `9432c1719ebcebba3cdb3dc08b83f41d492c55b8`. Verdict: approved; waiting for explicit human merge approval.
erik 2026-06-02 10:13:50 -05:00
Owner

Synced from todu comment by @todu on 2026-06-02T15:13:10.534Z

Completed

  • PR #83 was merged into main; local main is at merge commit 968d757 for feat: move post like and boost routes.
  • Verified all acceptance criteria against the merged repository state: /posts/:slug/likes and /posts/:slug/boosts are routed with posts.likes.list and posts.boosts.list, old engagement-scoped actor-list paths are absent from implementation/docs except negative assertions, /posts/:slug/engagement remains the aggregate summary endpoint, and docs/specs/OpenAPI/tests match the new paths.
  • Used the existing reviewed verification as closure evidence: PR review reported targeted API/OpenAPI tests, npm test, npm run lint, ./scripts/pre-pr.sh, and Forgejo CI all passed for commit 9432c1719ebcebba3cdb3dc08b83f41d492c55b8.
_Synced from todu comment by @todu on 2026-06-02T15:13:10.534Z_ ### Completed - PR #83 was merged into `main`; local `main` is at merge commit `968d757` for `feat: move post like and boost routes`. - Verified all acceptance criteria against the merged repository state: `/posts/:slug/likes` and `/posts/:slug/boosts` are routed with `posts.likes.list` and `posts.boosts.list`, old engagement-scoped actor-list paths are absent from implementation/docs except negative assertions, `/posts/:slug/engagement` remains the aggregate summary endpoint, and docs/specs/OpenAPI/tests match the new paths. - Used the existing reviewed verification as closure evidence: PR review reported targeted API/OpenAPI tests, `npm test`, `npm run lint`, `./scripts/pre-pr.sh`, and Forgejo CI all passed for commit `9432c1719ebcebba3cdb3dc08b83f41d492c55b8`.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/slugkit#79
No description provided.