import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { TypeOrmModule } from '@nestjs/typeorm'; import { StudentModule } from './student/student.module'; import { UserModule } from './user/user.module'; import { User } from './user/entities/user.entity'; import { Student } from './student/entities/student.entity'; import { TicketModule } from './ticket/ticket.module'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, envFilePath: '.env', }), TypeOrmModule.forRootAsync({ inject: [ConfigService], useFactory: async (configService: ConfigService) => ({ type: 'mariadb', host: configService.get('DB_HOST'), port: configService.get('DB_PORT'), username: configService.get('DB_USER'), password: configService.get('DB_PASSWORD'), database: configService.get('DB_NAME'), entities: [User, Student], synchronize: false, }), }), UserModule, StudentModule, TicketModule, ], controllers: [AppController], providers: [AppService], }) export class AppModule {}