feat(manufacturers): detail page with MPN-level insights
CI / Lint · Typecheck · Test · Build (push) Successful in 47s
CI / Playwright (smoke) (push) Has been skipped
CI / Build & push images (push) Successful in 1m2s

Adds /manufacturers/:id with vendor-wide KPIs, top MPNs by units,
failures by MPN, category mix, past-EOL exposure, and a filtered
PartModels table. Wires upstream links from PartDetail and
PartModelDetail so the manufacturer name is a navigable anchor.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-17 15:10:37 -04:00
parent c6fb839005
commit 1d53e81d5e
14 changed files with 1027 additions and 30 deletions
+2
View File
@@ -11,6 +11,8 @@ import { validate } from '../middleware/validate.js';
const router = Router();
router.get('/', requireAuth, validate('query', PaginationQuery), ctrl.list);
router.get('/:id', requireAuth, ctrl.get);
router.get('/:id/insights', requireAuth, ctrl.getInsights);
router.post('/', requireAuth, requireRole('ADMIN'), validate('body', CreateManufacturerRequest), ctrl.create);
router.patch('/:id', requireAuth, requireRole('ADMIN'), validate('body', UpdateManufacturerRequest), ctrl.update);
router.delete('/:id', requireAuth, requireRole('ADMIN'), ctrl.remove);