import { SpaceRepositoryModule } from '@app/common/modules/space/space.repository.module'; import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { SpaceModelController } from './controllers'; import { SpaceModelService, SpaceProductItemModelService, SpaceProductModelService, SubSpaceModelService, SubspaceProductItemModelService, } from './services'; import { SpaceModelRepository, SpaceProductItemModelRepository, SpaceProductModelRepository, SubspaceModelRepository, SubspaceProductItemModelRepository, SubspaceProductModelRepository, } from '@app/common/modules/space-model'; import { ProjectRepository } from '@app/common/modules/project/repositiories'; import { ProductRepository } from '@app/common/modules/product/repositories'; import { SubspaceProductModelService } from './services/subspace/subspace-product-model.service'; import { PropogateSubspaceHandler } from './handlers'; import { CqrsModule } from '@nestjs/cqrs'; import { SpaceRepository } from '@app/common/modules/space'; import { SubspaceProductItemRepository, SubspaceProductRepository, SubspaceRepository, } from '@app/common/modules/space/repositories/subspace.repository'; const CommandHandlers = [PropogateSubspaceHandler]; @Module({ imports: [ConfigModule, SpaceRepositoryModule, CqrsModule], controllers: [SpaceModelController], providers: [ ...CommandHandlers, SpaceModelService, SpaceModelRepository, SpaceRepository, ProjectRepository, SubSpaceModelService, SpaceProductModelService, SubspaceModelRepository, SpaceProductModelRepository, ProductRepository, SpaceProductItemModelService, SpaceProductItemModelRepository, SubspaceProductItemModelService, SubspaceProductItemModelRepository, SubspaceProductModelService, SubspaceProductModelRepository, SubspaceRepository, SubspaceProductRepository, SubspaceProductItemRepository, ], exports: [CqrsModule], }) export class SpaceModelModule {}