mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-12 14:16:12 +00:00
test(modules): move gated workout read routes off the exempt inventory
The workout list + detail reads now carry requireModuleEnabled, so the route-gate inventory's exempt allowlist must stop claiming them as ungated data-layer surfaces. Only the iOS batch ingest stays exempt.
This commit is contained in:
1 parent
f966ae884a
commit
629e5396c6
1 file changed
+7
-5
@@ -107,11 +107,13 @@ const EXEMPT_ROUTES: ReadonlyArray<string> = [
|
||||
"src/app/api/mood/tags/groups/[key]/route.ts",
|
||||
"src/app/api/mood/tags/[key]/hidden/route.ts",
|
||||
// ── DATA LAYER (workouts / labs) ──────────────────────────────────
|
||||
// Raw Workout + LabResult CRUD + the iOS batch ingest. Same data-layer
|
||||
// reasoning: the workouts / labs modules gate the surfaces (Insights
|
||||
// pill, dashboard tile, doctor-report section), not the row store.
|
||||
"src/app/api/workouts/route.ts",
|
||||
"src/app/api/workouts/[id]/route.ts",
|
||||
// The workout READ surfaces (`GET /api/workouts`, `GET /api/workouts/{id}`)
|
||||
// are now module-gated — they back the hidden Insights workouts surface, so
|
||||
// a disabled account must not read them even over a Bearer token. Only the
|
||||
// iOS batch INGEST stays exempt: synced workouts must keep landing in the
|
||||
// row store while the surface is hidden, so re-enabling reveals a complete
|
||||
// history rather than a gap. LabResult CRUD follows the same data-layer
|
||||
// reasoning (the labs module gates the surfaces, not the row store).
|
||||
"src/app/api/workouts/batch/route.ts",
|
||||
"src/app/api/labs/route.ts",
|
||||
"src/app/api/labs/[id]/route.ts",
|
||||
|
||||
Reference in new issue
Block a user