Files
travel-planner/backend/libs/trips/src/trips.module.ts
Bastian Wagner 854df5bb2d 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.
2026-08-17 16:10:27 +02:00

52 lines
1.7 KiB
TypeScript

import { Global, Module } from '@nestjs/common';
import { DatabaseModule } from '../../database/src';
import { TripsRepository } from './trips.repository';
import { TripsService } from './trips.service';
import { TripSettingsRepository } from './trip-settings.repository';
import { TripSettingsService } from './trip-settings.service';
import { TripMembersRepository } from './trip-members.repository';
import { TripMembersService } from './trip-members.service';
import { TripMembershipGuard } from './trip-membership.guard';
import { TripInvitationsRepository } from './trip-invitations.repository';
import { TripInvitationsService } from './trip-invitations.service';
import { TravelersRepository } from './travelers.repository';
import { TravelersService } from './travelers.service';
import { TripPreferenceOverridesRepository } from './trip-preference-overrides.repository';
import { TripPreferenceOverridesService } from './trip-preference-overrides.service';
@Global()
@Module({
imports: [DatabaseModule],
providers: [
TripsRepository,
TripsService,
TripSettingsRepository,
TripSettingsService,
TripMembersRepository,
TripMembersService,
TripMembershipGuard,
TripInvitationsRepository,
TripInvitationsService,
TravelersRepository,
TravelersService,
TripPreferenceOverridesRepository,
TripPreferenceOverridesService,
],
exports: [
TripsRepository,
TripsService,
TripSettingsRepository,
TripSettingsService,
TripMembersRepository,
TripMembersService,
TripMembershipGuard,
TripInvitationsRepository,
TripInvitationsService,
TravelersRepository,
TravelersService,
TripPreferenceOverridesRepository,
TripPreferenceOverridesService,
],
})
export class TripsLibModule {}