diff --git a/server/src/nest/accommodations/accommodations.module.ts b/server/src/nest/accommodations/accommodations.module.ts index 37b0ecab8..32cdab332 100644 --- a/server/src/nest/accommodations/accommodations.module.ts +++ b/server/src/nest/accommodations/accommodations.module.ts @@ -1,6 +1,5 @@ import { Module } from '@nestjs/common'; import { AccommodationsController } from './accommodations.controller'; -import { AccommodationsService } from './accommodations.service'; import { AccommodationsRpc } from './accommodations.rpc'; import { AccommodationsMcp } from './accommodations.mcp'; import { PlacesModule } from '../places/places.module'; @@ -32,6 +31,9 @@ import { McpSharedModule } from '../mcp-shared/mcp-shared.module'; imports: [McpSharedModule, PermissionsModule, RealtimeModule, PluginGuardsModule, DatabaseModule, PlacesModule, AccommodationsDomainModule, AuthModule], controllers: [AccommodationsController], providers: [AccommodationsRpc, AccommodationsMcp], - exports: [AccommodationsService], + // The MODULE, not the provider: Nest refuses to export a provider that belongs to + // an imported module, and the service lives in the domain module now. Re-exporting + // the module gives every existing importer the same service it always got. + exports: [AccommodationsDomainModule], }) export class AccommodationsModule {} diff --git a/server/tests/unit/nest/accommodations.service.test.ts b/server/tests/unit/nest/accommodations.service.test.ts index 7fcebc3fd..1e7f24c74 100644 --- a/server/tests/unit/nest/accommodations.service.test.ts +++ b/server/tests/unit/nest/accommodations.service.test.ts @@ -840,9 +840,12 @@ describe('AccommodationsService wiring', () => { expectRegisteredProvider(AccommodationsDomainModule, AccommodationsService); const imports = Reflect.getMetadata('imports', AccommodationsModule) as unknown[]; expect(imports).toEqual(expect.arrayContaining([AccommodationsDomainModule])); + // The MODULE is re-exported, not the provider: Nest refuses to export a provider + // belonging to an imported module, and a boot that fails on that only shows up when + // the container is actually built. const exports = Reflect.getMetadata('exports', AccommodationsModule) as unknown[]; expect(Array.isArray(exports)).toBe(true); - expect(exports).toEqual(expect.arrayContaining([AccommodationsService])); + expect(exports).toEqual(expect.arrayContaining([AccommodationsDomainModule])); }); it('ACC-001b: the domain module reaches neither places nor the surfaces', () => {