2.7 KiB
2.7 KiB
TASK METADATA
- Target Files:
server/routes/admin.ts,server/routes/auth.ts,server/routes/admin/*.ts,server/routes/auth/*.ts,server/main.ts - Core Objective: Phase 3.1 (Domain Route Modularization): Decompose the
monolithic 865-line
server/routes/admin.tsand 928-lineserver/routes/auth.tsinto clean, domain-isolated sub-routers underserver/routes/admin/andserver/routes/auth/. - Dependencies:
tasks/complete/2026-0825.01.jul.story.arch.monolith-decomposition-roadmap-1845.ph3.md - Additional Important Notes: Must preserve 100% route path compatibility,
zero-trust scope guards (
requireAdmin,requirePrimarySession), rate limiting middlewares, and pass all 59 tests.
2. Architectural Considerations & Risks
- Risks:
- Route mounting path mismatches (e.g. prefix collisions when mounting sub-routers in Hono).
- Scope guard bypass if
requireAdminorrequirePrimarySessionis not applied at the top of domain routers.
- Alternatives:
- Keeping 900-line monolithic route files; rejected because it mashes unrelated business domains and violates SRP.
3. Proposed Implementation
-
Decompose
server/routes/admin.tsintoserver/routes/admin/:server/routes/admin/users.ts:/users,/users/:id/status,/users/:id/profile,/users/:id/grants,/users/:id/recovery.server/routes/admin/apps.ts:/apps,/apps/:idCRUD.server/routes/admin/roles.ts:/roles,/roles/:idRBAC CRUD.server/routes/admin/invites.ts:/invites,/invites/create,/invites/:id/redemptions,/invites/:id.server/routes/admin/hardware_keys.ts:/aaguid,/hwk.server/routes/admin/audit.ts:/audit-logs,/check,/sessions/:id.server/routes/admin/index.ts(oradmin.tsentry router): Mounts the sub-routers and enforcesrequireAdmin+adminRateLimiter.
-
Decompose
server/routes/auth.tsintoserver/routes/auth/:server/routes/auth/register.ts:/.well-known/webauthn,/api/register/challenge,/api/register/verify.server/routes/auth/login.ts:/api/login/challenge,/api/login/verify.server/routes/auth/passkeys.ts:/api/passkeys/register/challenge,/api/passkeys/register/verify,GET /api/passkeys,DELETE /api/passkeys/:idguarded byrequirePrimarySession.server/routes/auth/guest.ts:/api/guests/sandbox,/api/revoke.server/routes/auth/index.ts(orauth.tsentry router): Assembles the auth sub-routers.
-
Quality Gates & Validation:
- Run
deno fmt,deno task lint,deno task check. - Run
deno test --allow-all(all 59 tests must pass).
- Run