auto-post-marketplace-facebook/server/src/app.module.ts

43 lines
1.4 KiB
TypeScript

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { CacheModule } from './modules/cache/cache.module';
import { ProductsModule } from './modules/products/products.module';
import { SyncModule } from './modules/sync/sync.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { ScheduleModule } from '@nestjs/schedule';
import { TaskModule } from './modules/task/task.module';
import { PolicyModule } from './modules/policy/policy.module';
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
}),
CacheModule,
ProductsModule,
TaskModule,
SyncModule,
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
type: 'mysql',
host: config.get<string>('DB_HOST'),
port: config.get<number>('DB_PORT'),
username: config.get<string>('DB_USER'),
password: config.get<string>('DB_PASS'),
database: config.get<string>('DB_NAME'),
autoLoadEntities: true,
synchronize: true, // chỉ bật dev
}),
}),
ScheduleModule.forRoot(),
PolicyModule,
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}