Yield generated for 122d4cac-acdd-4381-af1a-4167955d905d
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

43 lines
1.5 KiB

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { LoggerModule } from './modules/core/logger/logger.module';
import { RouterModule } from 'nest-router';
import { appRoutes } from './app.routes';
import { ConfigModule } from './modules/core/config/config.module';
import { RolesGuard } from './guards/roles.guard';
import { UserModule } from './modules/user/user.module';
import { ConfigService } from './modules/core/config/config.service';
import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm';
import { RolesModule } from './modules/roles/roles.module';
import { AuthModule } from './modules/core/auth/auth.module';
// needle-module-import
@Module({
imports: [
ConfigModule, // Global
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
useFactory: async (
configService: ConfigService,
): Promise<TypeOrmModuleOptions> => ({
type: 'postgres',
url: configService.databaseUrl,
entities: [__dirname + '/**/*.entity{.ts,.js}'],
synchronize: true,
logging: configService.isLoggingDb ? 'all' : false,
}),
inject: [ConfigService],
}),
LoggerModule, // Global
RouterModule.forRoutes(appRoutes),
AuthModule,
UserModule,
RolesModule,
// needle-module-includes
],
controllers: [AppController],
providers: [AppService, RolesGuard],
})
export class AppModule {}