import { Logger, Module, OnModuleInit } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { DataSource } from 'typeorm';
import { AppDataSource } from './database.config';

@Module({
  imports: [TypeOrmModule.forRoot(AppDataSource.options)],
})
export class DatabaseModule implements OnModuleInit {
  private readonly logger = new Logger(DatabaseModule.name);

  async onModuleInit() {
    try {
      const dataSource = new DataSource(AppDataSource.options);
      await dataSource.initialize();
      this.logger.log('✅ Database connected successfully!');
    } catch (err) {
      this.logger.error('❌ Database connection failed!', err);
    }
  }
}
