Implement contacts API routes #68

Merged
caradoc merged 1 commit from feat/task-24864d2a-contacts-api into main 2026-05-23 15:19:43 -05:00
Collaborator

Summary

  • Add authenticated contacts CRUD API routes
  • Document contacts routes and schemas in OpenAPI
  • Add contacts route tests for auth, validation, not found, delete conflicts, and OpenAPI coverage
  • Remove Bun from README prerequisites

Verification

  • ./scripts/pre-pr.sh

Task: #task-24864d2a

## Summary - Add authenticated contacts CRUD API routes - Document contacts routes and schemas in OpenAPI - Add contacts route tests for auth, validation, not found, delete conflicts, and OpenAPI coverage - Remove Bun from README prerequisites ## Verification - ./scripts/pre-pr.sh Task: #task-24864d2a
feat: add contacts API routes
All checks were successful
CI / build-lint-test (pull_request) Successful in 30s
9f3fa19bfa
Task: #task-24864d2a
Author
Collaborator

Review summary

Approved. The PR adds authenticated contacts CRUD routes, service logic, OpenAPI coverage, and tests that align with docs/specs/04-contacts-routes.md and the task acceptance criteria. CI is green.

Acceptance criteria

  • Can list contacts — covered by GET /api/v1/contacts and tests.
  • Can create a contact — covered by POST /api/v1/contacts and tests.
  • Can get a contact by ID — covered by GET /api/v1/contacts/{id} and tests.
  • Can update a contact — covered by PUT /api/v1/contacts/{id} and tests.
  • Can delete a contact or receive documented conflict behavior — covered by delete and FK conflict tests.
  • Contact responses may include account summaries/default account as documented — account embedding is not required until accounts exist; current response matches the contacts spec shape.
  • Invalid URLs and missing required fields return shared validation errors — covered by tests.
  • Every contacts route appears in OpenAPI with documented operation IDs — covered by route/OpenAPI tests.
  • Relevant lint/test checks pass — ./scripts/pre-pr.sh passed and CI is green.

Blocking issues

None.

Warnings

None.

Verdict

Approved; waiting for explicit human merge approval.

## Review summary Approved. The PR adds authenticated contacts CRUD routes, service logic, OpenAPI coverage, and tests that align with `docs/specs/04-contacts-routes.md` and the task acceptance criteria. CI is green. ## Acceptance criteria - [x] Can list contacts — covered by `GET /api/v1/contacts` and tests. - [x] Can create a contact — covered by `POST /api/v1/contacts` and tests. - [x] Can get a contact by ID — covered by `GET /api/v1/contacts/{id}` and tests. - [x] Can update a contact — covered by `PUT /api/v1/contacts/{id}` and tests. - [x] Can delete a contact or receive documented conflict behavior — covered by delete and FK conflict tests. - [x] Contact responses may include account summaries/default account as documented — account embedding is not required until accounts exist; current response matches the contacts spec shape. - [x] Invalid URLs and missing required fields return shared validation errors — covered by tests. - [x] Every contacts route appears in OpenAPI with documented operation IDs — covered by route/OpenAPI tests. - [x] Relevant lint/test checks pass — `./scripts/pre-pr.sh` passed and CI is green. ## Blocking issues None. ## Warnings None. ## Verdict Approved; waiting for explicit human merge approval.
caradoc force-pushed feat/task-24864d2a-contacts-api from 9f3fa19bfa
All checks were successful
CI / build-lint-test (pull_request) Successful in 30s
to 494b98a80d
All checks were successful
CI / build-lint-test (pull_request) Successful in 30s
2026-05-23 15:17:40 -05:00
Compare
Author
Collaborator

Review update

Approved after the Makefile/README follow-up. The latest commit removes the LAN IP dependency from make slug, uses the existing .slug/dev.yaml config when running the CLI, and switches CLI execution to npm exec --workspace @slugkit/cli -- slug, which matches the workspace setup.

Verification

  • make slug ARGS="--help" works with .slug/dev.yaml
  • ./scripts/pre-pr.sh passed locally
  • CI is green on the latest commit

Blocking issues

None.

Warnings

None.

Verdict

Approved; waiting for explicit human merge approval.

## Review update Approved after the Makefile/README follow-up. The latest commit removes the LAN IP dependency from `make slug`, uses the existing `.slug/dev.yaml` config when running the CLI, and switches CLI execution to `npm exec --workspace @slugkit/cli -- slug`, which matches the workspace setup. ## Verification - `make slug ARGS="--help"` works with `.slug/dev.yaml` - `./scripts/pre-pr.sh` passed locally - CI is green on the latest commit ## Blocking issues None. ## Warnings None. ## Verdict Approved; waiting for explicit human merge approval.
caradoc deleted branch feat/task-24864d2a-contacts-api 2026-05-23 15:19:43 -05:00
Sign in to join this conversation.
No description provided.