Files
Iss 41434b536b feat(webapp): admin Back Office tab with org API rate limit editor (#3434)
## Summary
- New **Back office** tab at `/admin`, per-org detail page at
`/admin/back-office/orgs/:orgId` designed to host future per-org admin
actions (project count, delete account, YC deals).
- First action: edit an organization's API rate limit — tokenBucket
override (refill rate, interval, max tokens), with a live plain-English
preview (e.g. *"1,500 requests per minute · 750 request burst
allowance"*). Writes are audit-logged via the server logger.
- Cleanup: removed unused `v2?` / `v3?` columns from the admin orgs list
(display only — Prisma select untouched).

## Test plan
- [ ] Back office tab visible in admin nav and highlighted when on a
sub-route
- [ ] `/admin/orgs` shows a Back office "Open" link per row; no v2/v3
columns
- [ ] Empty state at `/admin/back-office` links back to `/admin/orgs`
- [ ] Detail page renders the effective rate limit in view mode; Edit
reveals the form
- [ ] Save writes `Organization.apiRateLimiterConfig`, returns to view
mode, shows "Rate limit saved." banner
- [ ] Invalid values surface inline field errors and keep edit mode
- [ ] Non-admins hitting any new route are redirected to `/`
- [ ] Server logs show `admin.backOffice.rateLimit` info line per
mutation
2026-04-23 12:51:49 -04:00
..
2026-03-31 19:06:54 +01:00
2024-11-28 11:49:52 +00:00
2025-07-08 13:44:47 +01:00
2026-03-31 19:06:54 +01:00
2024-11-18 17:11:06 +00:00
2026-01-21 13:07:07 +00:00
2026-02-12 17:48:02 +00:00
2024-07-08 14:42:19 +01:00
2025-11-19 11:22:23 +00:00
2025-07-08 13:44:47 +01:00
2025-05-28 11:02:56 +01:00
2023-03-13 20:26:35 +00:00
2025-03-08 14:53:06 +00:00
2025-03-08 14:53:06 +00:00
2024-03-04 17:33:53 +00:00
2024-03-06 18:06:20 +00:00
2026-03-31 19:06:54 +01:00
2026-03-31 19:06:54 +01:00
2026-02-12 17:48:02 +00:00
2026-03-31 19:06:54 +01:00