import { Module } from '@nestjs/common';
import { WebhookController } from '@controllers/webhook.controller';
import { WebhookService } from '@services/webhook.service';
import { QuickBooksController } from '@controllers/quickbooks.controller';
import { ConfigModule } from '@nestjs/config';
import { DatabaseModule } from './modules/database.module';
import { PaymentModule } from './modules/payment.module';
import { PaymentController } from './controllers/payment.controller';
import { PaymentService } from './services/payment.service';
import { QuickBooksModule } from './modules/quickbooks.module';
import { CustomerService } from './services/customer.service';
import { InvoiceService } from './services/invoice.service';
import { QuickBooksService } from './services/quickbooks.service';

@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true, // Permet d'accéder aux variables partout dans l'application
    }),
    DatabaseModule,
    PaymentModule,
    QuickBooksModule,
  ],
  controllers: [WebhookController, QuickBooksController, PaymentController],
  providers: [WebhookService, PaymentService, CustomerService, InvoiceService, QuickBooksService],
})
export class AppModule {}
