mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-18 21:16:47 +00:00
45564b0a8a
Fold the 1497-line services/authService.ts into the DI-native nest/auth
domain (Wave-5 chain opener, unblocked by the atlas fold):
- Pure crypto half (backup-code hash/match/generate, stripUserForClient,
key masking, the import-time DUMMY_PASSWORD_HASH timing equaliser and
avatarDir mkdir — documented parity exceptions) moves verbatim to the
plain module nest/auth/auth.helpers.ts.
- DB half folds into AuthService over DatabaseService + injected
PermissionsService (ex permissions.bridge) + AtlasService (ex
atlas.bridge, deleted on schedule). mfaSetupPending and the per-email
reset throttle stay module-scoped so the bridge and container instances
share them; avatarDir and require('../../../package.json') re-anchor one
directory deeper — with the two injection swaps, the only non-verbatim
lines. Controller-facing method surface unchanged.
- New 8-export auth.bridge.ts for out-of-container consumers: mcp/index.ts
token verification, the journey/notifications/transports registrars'
isDemoUser, and the still-legacy adminService/oidcService/passkeyService.
- 15 domain *.mcp.ts demo guards now inject AuthService (their modules
import AuthModule); atlas.mcp.ts alone stays on the bridge because
AuthService injects AtlasService and the reverse module edge would close
an AuthModule<->AtlasModule cycle (places.mcp precedent). OidcService and
PasskeyEnabledGuard inject AuthService too.
- Tests move with case IDs preserved: authService.test.ts ->
auth.helpers.test.ts, authServiceDb.test.ts -> auth.service.test.ts
(+ AUTH-BR-001..007 bridge delegation, + AUTH-DB-050..088 pinning the
previously untested getAppConfig/login/MFA/reset/admin-settings branches
now under the src/nest coverage gate). auth.e2e converts DI-native (real
bcrypt, real audit rows); oidc.e2e swaps its dead path mock for an
instance spy; websocket/integration suites repoint to bridge/helpers.
Quirks preserved byte-for-byte (0-coord drop in getTravelStats,
un-transactioned registerUser/verifyMfaLogin multi-writes, unguarded
revokeUserSessions in deleteMcpToken, current! assertions in
updateApiKeys) — fixes land separately.
23 lines
1.0 KiB
TypeScript
23 lines
1.0 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { DaysModule } from '../days/days.module';
|
|
import { PermissionsModule } from '../permissions/permissions.module';
|
|
import { DayAssignmentsController, AssignmentOpsController } from './assignments.controller';
|
|
import { AssignmentsService } from './assignments.service';
|
|
import { AssignmentsMcp } from './assignments.mcp';
|
|
import { AuthModule } from '../auth/auth.module';
|
|
|
|
/**
|
|
* Assignments domain (S7 — Phase 2 trip sub-domain). The day-assignments mount
|
|
* sits under the /api/trips/:tripId/days prefix (S6); the per-assignment ops use
|
|
* the /api/trips/:tripId/assignments prefix. AssignmentsService is exported for
|
|
* the plugin RPC host (PluginHostDepsFactory injects it).
|
|
*/
|
|
@Module({
|
|
// DaysModule: AssignmentsMcp injects DaysService for the target-day checks.
|
|
imports: [DaysModule, PermissionsModule, AuthModule],
|
|
controllers: [DayAssignmentsController, AssignmentOpsController],
|
|
providers: [AssignmentsService, AssignmentsMcp],
|
|
exports: [AssignmentsService],
|
|
})
|
|
export class AssignmentsModule {}
|