import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { MailModule } from './mail/mail.module';
import { ContactModule } from './contact/contact.module';
import { EasyconfigModule } from 'nestjs-easyconfig';
import { TypeOrmModule } from '@nestjs/typeorm';
import { DatabaseConfigurations } from './utils/database/database';
import { ConfigurationModule } from './configuration/config.module';
import { ConfigurationService } from './configuration/config.service';

@Module({
  imports: [
    EasyconfigModule.register({
      path: `environment/.env.${process.env.NODE_ENV}`,
      safe: true,
    }),
    TypeOrmModule.forRootAsync(DatabaseConfigurations),
    MailModule,
    ConfigurationModule,
    ContactModule,
  ],
  controllers: [AppController],
  providers: [AppService, ConfigurationService],
})
export class AppModule {}
