/* * @author gs * @date 2020/11/17 19:28 */ import { Module } from '@nestjs/common'; import { MongooseModule } from '@nestjs/mongoose'; import { MongoDBCollection } from '../../constant'; import { projectSchema } from './model/project'; import { projectAuthSchema } from './model/project.auth'; import { projectTableDefinitionSchema } from './model/project.table.definition'; import { ProjectService } from './service/project.service'; import { ProjectAuthService } from './service/project.auth.service'; import { ProjectTableDefinitionService } from './service/project.table.definition.service'; import { ProjectTableDefinitionCacheService } from './service/project.table.definition.cache.service'; @Module({ imports: [ MongooseModule.forFeature([ { name: MongoDBCollection.Project, schema: projectSchema }, { name: MongoDBCollection.ProjectAuth, schema: projectAuthSchema }, { name: MongoDBCollection.ProjectTableDefinition, schema: projectTableDefinitionSchema } ]) ], providers: [ { provide: 'ProjectAuthService', useClass: ProjectAuthService }, { provide: 'ProjectService', useClass: ProjectService }, { provide: 'ProjectTableDefinitionService', useClass: ProjectTableDefinitionService }, { provide: 'ProjectTableDefinitionCacheService', useClass: ProjectTableDefinitionCacheService } ], exports: [ { provide: 'ProjectAuthService', useClass: ProjectAuthService }, { provide: 'ProjectService', useClass: ProjectService }, { provide: 'ProjectTableDefinitionService', useClass: ProjectTableDefinitionService }, { provide: 'ProjectTableDefinitionCacheService', useClass: ProjectTableDefinitionCacheService } ] }) export class ProjectBaseModule {}