import { Module } from '@nestjs/common'; import databaseConfig from 'src/database/config/database.config'; import { DatabaseConfig } from 'src/database/config/database-config.type'; import { DocumentSessionPersistenceModule } from './infrastructure/persistence/document/document-persistence.module'; import { RelationalSessionPersistenceModule } from './infrastructure/persistence/relational/relational-persistence.module'; import { SessionService } from './session.service'; const infrastructurePersistenceModule = (databaseConfig() as DatabaseConfig) .isDocumentDatabase ? DocumentSessionPersistenceModule : RelationalSessionPersistenceModule; @Module({ imports: [infrastructurePersistenceModule], providers: [SessionService], exports: [SessionService, infrastructurePersistenceModule], }) export class SessionModule {}