fix: export guard dependencies so cross-module @UseGuards resolves
NestJS resolves a guard referenced via @UseGuards(SomeGuard) using the consuming module's injector, not the guard's own declaring module's injector. OidcAuthGuard and TripMembershipGuard are shared across several feature modules, so every constructor dependency they need (UsersRepository/UsersService, TripMembersRepository, etc.) must be re-exported by AuthModule/TripsLibModule/UsersLibModule, not just the guard classes themselves. Found via the Phase 02 end-to-end smoke test against a mocked IdP, which failed to boot the API before this fix.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { Global, Module } from '@nestjs/common';
|
||||
import { DatabaseModule } from '../../database/src';
|
||||
import { TripsRepository } from './trips.repository';
|
||||
import { TripsService } from './trips.service';
|
||||
@@ -14,6 +14,7 @@ import { TravelersService } from './travelers.service';
|
||||
import { TripPreferenceOverridesRepository } from './trip-preference-overrides.repository';
|
||||
import { TripPreferenceOverridesService } from './trip-preference-overrides.service';
|
||||
|
||||
@Global()
|
||||
@Module({
|
||||
imports: [DatabaseModule],
|
||||
providers: [
|
||||
@@ -32,12 +33,18 @@ import { TripPreferenceOverridesService } from './trip-preference-overrides.serv
|
||||
TripPreferenceOverridesService,
|
||||
],
|
||||
exports: [
|
||||
TripsRepository,
|
||||
TripsService,
|
||||
TripSettingsRepository,
|
||||
TripSettingsService,
|
||||
TripMembersRepository,
|
||||
TripMembersService,
|
||||
TripMembershipGuard,
|
||||
TripInvitationsRepository,
|
||||
TripInvitationsService,
|
||||
TravelersRepository,
|
||||
TravelersService,
|
||||
TripPreferenceOverridesRepository,
|
||||
TripPreferenceOverridesService,
|
||||
],
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user