blob: 5f64019b8cf4ab7000a841bff7271b34ac5784ad [file]
import { Module, ValidationPipe } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { AppService } from './services/app';
import CustomTypeOrmModule from './providers/typeorm.module';
import entities from './models';
import { AppController } from './controllers/app';
import { APP_FILTER, APP_PIPE } from '@nestjs/core';
import { NotFoundFilter } from './providers/exception';
import { SourceController } from './controllers/source';
import { SourceTaskController } from './controllers/sourceTask';
import { SourceService } from './services/source';
import { SourceTaskService } from './services/sourceTask';
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
envFilePath: process.env.NODE_ENV === 'test' ? '.env.test' : '.env',
}),
CustomTypeOrmModule.forRootAsync(null, {
entities,
// FIXME: using db migration instead of synchronize
synchronize: true,
}),
],
controllers: [AppController, SourceController, SourceTaskController],
providers: [
{ provide: APP_FILTER, useClass: NotFoundFilter },
{
provide: APP_PIPE,
useFactory: () => {
return new ValidationPipe({ transform: true });
},
},
AppService,
SourceService,
SourceTaskService,
],
})
export class AppModule {}