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 { EventEmitterService } from './event-emitter.service';
|
||||||
import { RedmineEventsGateway } from './events/redmine-events.gateway';
|
import { RedmineEventsGateway } from './events/redmine-events.gateway';
|
||||||
import { ServeStaticModule } from '@nestjs/serve-static';
|
import { ServeStaticModule } from '@nestjs/serve-static';
|
||||||
|
|
@ -7,14 +7,22 @@ import MainConfig from './configs/main-config';
|
||||||
import { ConfigModule } from '@nestjs/config';
|
import { ConfigModule } from '@nestjs/config';
|
||||||
import { RedmineDataLoader } from './redmine-data-loader/redmine-data-loader';
|
import { RedmineDataLoader } from './redmine-data-loader/redmine-data-loader';
|
||||||
import { MainController } from './main/main.controller';
|
import { MainController } from './main/main.controller';
|
||||||
|
import { MainConfigModel } from './models/main-config-model';
|
||||||
|
|
||||||
@Module({
|
@Module({})
|
||||||
imports: [
|
export class EventEmitterModule {
|
||||||
ServeStaticModule.forRoot({ rootPath: join(__dirname, '..', 'client') }),
|
static register(params?: { config?: MainConfigModel }): DynamicModule {
|
||||||
ConfigModule.forRoot({ load: [MainConfig] }),
|
return {
|
||||||
],
|
module: EventEmitterModule,
|
||||||
providers: [EventEmitterService, RedmineEventsGateway, RedmineDataLoader],
|
imports: [
|
||||||
exports: [EventEmitterService, RedmineEventsGateway, RedmineDataLoader],
|
ServeStaticModule.forRoot({
|
||||||
controllers: [MainController],
|
rootPath: join(__dirname, '..', 'client'),
|
||||||
})
|
}),
|
||||||
export class EventEmitterModule {}
|
ConfigModule.forRoot({ load: [() => params?.config || MainConfig()] }),
|
||||||
|
],
|
||||||
|
providers: [EventEmitterService, RedmineEventsGateway, RedmineDataLoader],
|
||||||
|
exports: [EventEmitterService, RedmineEventsGateway, RedmineDataLoader],
|
||||||
|
controllers: [MainController],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,9 @@ import { RedmineDataLoaderModule } from '@app/redmine-data-loader';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
EventEmitterModule,
|
EventEmitterModule.register({
|
||||||
|
config: configuration().redmineIssueEventEmitterConfig,
|
||||||
|
}),
|
||||||
RedmineIssuesCacheWriterModule.register({
|
RedmineIssuesCacheWriterModule.register({
|
||||||
issueDocumentScopeProvider: Issues.getDatasource,
|
issueDocumentScopeProvider: Issues.getDatasource,
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
import RedmineIssueEventEmitterConfigLoader from '@app/event-emitter/configs/main-config';
|
||||||
|
|
||||||
|
const redmineIssueEventEmitterConfig = RedmineIssueEventEmitterConfigLoader();
|
||||||
|
|
||||||
const appConfig = {
|
const appConfig = {
|
||||||
couchDbUrl:
|
couchDbUrl:
|
||||||
process.env['ELTEX_REDMINE_HELPER_COUCHDB_URL'] || 'http://localhost:5984',
|
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'] ||
|
process.env['ELTEX_REDMINE_HELPER_COUCHDB_USERS_DB_NAME'] ||
|
||||||
'redmine_users',
|
'redmine_users',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
redmineIssueEventEmitterConfig: redmineIssueEventEmitterConfig,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue