28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import { DynamicModule, Module } from '@nestjs/common';
|
|
import { EventEmitterService } from './event-emitter.service';
|
|
import { RedmineEventsGateway } from './events/redmine-events.gateway';
|
|
import { ServeStaticModule } from '@nestjs/serve-static';
|
|
import { join } from 'path';
|
|
import MainConfig from './configs/main-config';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { RedmineDataLoader } from './redmine-data-loader/redmine-data-loader';
|
|
import { MainController } from './main/main.controller';
|
|
import { MainConfigModel } from './models/main-config-model';
|
|
|
|
@Module({})
|
|
export class EventEmitterModule {
|
|
static register(params?: { config?: MainConfigModel }): DynamicModule {
|
|
return {
|
|
module: EventEmitterModule,
|
|
imports: [
|
|
ServeStaticModule.forRoot({
|
|
rootPath: join(__dirname, '..', 'client'),
|
|
}),
|
|
ConfigModule.forRoot({ load: [() => params?.config || MainConfig()] }),
|
|
],
|
|
providers: [EventEmitterService, RedmineEventsGateway, RedmineDataLoader],
|
|
exports: [EventEmitterService, RedmineEventsGateway, RedmineDataLoader],
|
|
controllers: [MainController],
|
|
};
|
|
}
|
|
}
|