Event-Emitter - динамическая либа
This commit is contained in:
parent
a98326269e
commit
16d15b27ca
3 changed files with 28 additions and 12 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { Module } from '@nestjs/common';
|
||||
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';
|
||||
|
|
@ -7,14 +7,22 @@ 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({
|
||||
@Module({})
|
||||
export class EventEmitterModule {
|
||||
static register(params?: { config?: MainConfigModel }): DynamicModule {
|
||||
return {
|
||||
module: EventEmitterModule,
|
||||
imports: [
|
||||
ServeStaticModule.forRoot({ rootPath: join(__dirname, '..', 'client') }),
|
||||
ConfigModule.forRoot({ load: [MainConfig] }),
|
||||
ServeStaticModule.forRoot({
|
||||
rootPath: join(__dirname, '..', 'client'),
|
||||
}),
|
||||
ConfigModule.forRoot({ load: [() => params?.config || MainConfig()] }),
|
||||
],
|
||||
providers: [EventEmitterService, RedmineEventsGateway, RedmineDataLoader],
|
||||
exports: [EventEmitterService, RedmineEventsGateway, RedmineDataLoader],
|
||||
controllers: [MainController],
|
||||
})
|
||||
export class EventEmitterModule {}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,9 @@ import { RedmineDataLoaderModule } from '@app/redmine-data-loader';
|
|||
|
||||
@Module({
|
||||
imports: [
|
||||
EventEmitterModule,
|
||||
EventEmitterModule.register({
|
||||
config: configuration().redmineIssueEventEmitterConfig,
|
||||
}),
|
||||
RedmineIssuesCacheWriterModule.register({
|
||||
issueDocumentScopeProvider: Issues.getDatasource,
|
||||
}),
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
import RedmineIssueEventEmitterConfigLoader from '@app/event-emitter/configs/main-config';
|
||||
|
||||
const redmineIssueEventEmitterConfig = RedmineIssueEventEmitterConfigLoader();
|
||||
|
||||
const appConfig = {
|
||||
couchDbUrl:
|
||||
process.env['ELTEX_REDMINE_HELPER_COUCHDB_URL'] || 'http://localhost:5984',
|
||||
|
|
@ -10,6 +14,8 @@ const appConfig = {
|
|||
process.env['ELTEX_REDMINE_HELPER_COUCHDB_USERS_DB_NAME'] ||
|
||||
'redmine_users',
|
||||
},
|
||||
|
||||
redmineIssueEventEmitterConfig: redmineIssueEventEmitterConfig,
|
||||
};
|
||||
|
||||
export default () => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue