21 lines
1.6 KiB
JSON
21 lines
1.6 KiB
JSON
{
|
|
"feature_id": "F-069",
|
|
"agent": "reviewer",
|
|
"verdict": "APPROVED",
|
|
"summary": "Shipping methods now carry an editable description end-to-end. Migration adds the column; backend list/patch schemas and the new public /shipping/methods endpoint read it; admin MethodForm exposes the field; storefront checkout fetches the catalogue and renders the description per method. Hardcoded array of two methods is gone.",
|
|
"evidence": [
|
|
"git diff project/migrations/029_shipping_method_description.js — new migration adding description text",
|
|
"git diff project/src/modules/shipping/api/shipping.routes.ts — methodBodySchema, POST insert, GET select, PATCH schema, new public GET /shipping/methods all include description",
|
|
"git diff project/apps/admin/src/lib/api-client.ts — ShippingMethod.description + payload types",
|
|
"git diff project/apps/admin/src/app/(dashboard)/shipping/page.tsx — MethodRow shows description, MethodForm has description input",
|
|
"git diff project/frontend/src/app/api/shipping/methods/route.ts — new proxy",
|
|
"git diff project/frontend/src/components/checkout/CheckoutClient.tsx — useEffect fetches methods, renders dynamic radio list with description",
|
|
"Migration applied: ALTER TABLE shipping_methods ADD COLUMN description text",
|
|
"curl /shipping/methods returns methods with description after PATCH",
|
|
"curl /api/admin/shipping/methods shows description on both rows",
|
|
"npm test (backend) — 124 passed, 56 skipped",
|
|
"npx tsc --noEmit (frontend / admin) — exit 0",
|
|
"./scripts/verify.sh — exit 0"
|
|
],
|
|
"timestamp": "2026-08-19T15:55:00Z"
|
|
} |