Metric Sets — Code Map
API
| File | Role |
|---|---|
apps/api/src/metric-sets/metric-sets.module.ts | DI wiring |
apps/api/src/metric-sets/metric-sets.controller.ts | listDefinitions, listSets, createSet, resolve, listMemberMetrics, recordMemberMetric |
apps/api/src/metric-sets/metric-sets.service.ts | Service logic + validation |
DB
| File | Role |
|---|---|
libs/db/src/lib/schema/metric-sets.ts | metric_definitions, metric_sets, metric_set_definitions (junction), member_metrics |
libs/db/src/lib/schema/enums.ts | metricKind, metricUnit |
Shared
| File | Role |
|---|---|
libs/shared/src/lib/schemas/metric-set.ts | Zod schemas, response types |
Web
Web integration lives in the member performance metrics tab (apps/web/src/components/overview/members/member-performance-metrics-tab.tsx).
This previously also named the workout assign sidebar. That claim was stale — the sidebar never referenced metric sets, and
metricSetIds(still accepted byAssignPersonalDto) has no web caller at all. The sidebar was removed with the assign-from-library surface; assignment now lives only in the coaching grid.