pinkmine/libs/event-emitter/src/event-emitter.module.ts
2022-06-18 19:19:17 +07:00

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],
};
}
}