mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-20 22:16:26 +00:00
31 lines
1.7 KiB
TypeScript
31 lines
1.7 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { MikroOrmModule } from '@mikro-orm/nestjs';
|
|
import { AdminDefaultUserSettingsController, SettingsController } from './settings.controller';
|
|
import { AuthModule } from '../auth/auth.module';
|
|
import { AuditModule } from '../audit/audit.module';
|
|
import { SettingsService } from './settings.service';
|
|
import { SettingsMcp } from './settings.mcp';
|
|
import { AppConfigModule } from '../app-config/app-config.module';
|
|
import { AppSettings } from '../../db/entities/AppSettings.entity';
|
|
import { Settings } from '../../db/entities/Settings.entity';
|
|
|
|
/** Exports SettingsService for in-container consumers (admin, share, llm-parse). */
|
|
@Module({
|
|
// AuthModule for the admin gate on the defaults routes, and for the
|
|
// AuthService that SettingsMcp's demo gate injects. MikroOrmModule.forFeature
|
|
// registers AppSettingsRepository/SettingsRepository for the
|
|
// @InjectRepository(...) constructor params below (Plan 3a Task 0/5) — the
|
|
// forFeature + @InjectRepository wiring pattern every later domain copies.
|
|
// No `Users` entry: `instance-api-keys.ts`'s repository-backed functions
|
|
// take a `UsersRepository` as an explicit parameter from their caller
|
|
// (nothing resolves it off an ambient MikroORM request context — an
|
|
// earlier design tried that and broke ~185 hand-built unit tests, see
|
|
// task-5-review.md §4), so nothing in this module ever needs
|
|
// `@InjectRepository(Users)`.
|
|
imports: [AppConfigModule, AuthModule, AuditModule, MikroOrmModule.forFeature([AppSettings, Settings])],
|
|
controllers: [SettingsController, AdminDefaultUserSettingsController],
|
|
providers: [SettingsService, SettingsMcp],
|
|
exports: [SettingsService],
|
|
})
|
|
export class SettingsModule {}
|