Closes P0 #6 from PARTIAL to RESOLVED. 8/8 P0s now closed. Extends lib/rate-limit.js from single-class to 5 named limiters (auth/search/upload/generate/import). Atomically gates the 3 import routes (auth + admin-role check + rate limit) and fixes pages/admin/card-import.js's missing Bearer header in the same commit (architect's critical discovery: API gating alone would have broken the admin UI). Per Decision 1 Option A. 10 files +185/-23. Local: lint 128 baseline, vitest 21/21. CI: Playwright smoke 3/3 in 3.8s, forbidden-cors-headers pass, all gates green. PR #20 architect-commit |
||
|---|---|---|
| .. | ||
| admin | ||
| auth | ||
| cards | ||
| collections | ||
| community | ||
| config | ||
| decks | ||
| invite | ||
| public | ||
| user | ||
| users | ||
| auth-utils.js | ||
| collections.js | ||
| decks.js | ||
| favorites.js | ||
| health.js | ||
| user-cards.js | ||