import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { PrismaModule } from './prisma/prisma.module';
import { FirebaseModule } from './modules/firebase/firebase.module';
import { AuthModule } from './modules/auth/auth.module';
import { UsersModule } from './modules/users/users.module';
import { BusinessesModule } from './modules/businesses/businesses.module';
import { ClientsModule } from './modules/clients/clients.module';
import { ProjectsModule } from './modules/projects/projects.module';
import { EstimatesModule } from './modules/estimates/estimates.module';
import { ContractsModule } from './modules/contracts/contracts.module';
import { TaxInvoicesModule } from './modules/tax-invoices/tax-invoices.module';
import { CashReceiptsModule } from './modules/cash-receipts/cash-receipts.module';
import { SettlementsModule } from './modules/settlements/settlements.module';
import { PurchaseSalesModule } from './modules/purchase-sales/purchase-sales.module';
import { ExpensesModule } from './modules/expenses/expenses.module';
import { ReportsModule } from './modules/reports/reports.module';
import { DashboardModule } from './modules/dashboard/dashboard.module';
import { TemplatesModule } from './modules/templates/templates.module';
import { AiChatModule } from './modules/ai-chat/ai-chat.module';
import { NotificationsModule } from './modules/notifications/notifications.module';
import { IntegrationsModule } from './modules/integrations/integrations.module';
import { SubscriptionsModule } from './modules/subscriptions/subscriptions.module';
import { CreditsModule } from './modules/credits/credits.module';
import { PaymentsModule } from './modules/payments/payments.module';
import { NcpStorageModule } from './common/services/ncp-storage.module';

@Module({
  imports: [
    ConfigModule.forRoot({ isGlobal: true }),
    PrismaModule,
    NcpStorageModule,
    FirebaseModule,
    AuthModule,
    UsersModule,
    BusinessesModule,
    ClientsModule,
    ProjectsModule,
    EstimatesModule,
    ContractsModule,
    TaxInvoicesModule,
    CashReceiptsModule,
    SettlementsModule,
    PurchaseSalesModule,
    ExpensesModule,
    ReportsModule,
    DashboardModule,
    TemplatesModule,
    AiChatModule,
    NotificationsModule,
    IntegrationsModule,
    SubscriptionsModule,
    CreditsModule,
    PaymentsModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
