import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { DatabaseModule } from './core/database/database.module';
import { ConfigModule } from '@nestjs/config';
import { UsersModule } from './modules/users/users.module';
import { UsersController } from './modules/users/users.controller';
import { ProductsModule } from './modules/products/products.module';
import { AuthModule } from './modules/auth/auth.module';
import { OrdersModule } from './modules/orders/orders.module';
import { WalletsModule } from './modules/wallets/wallets.module';
import { WalletsTransactionsModule } from './modules/wallets-transactions/wallets-transactions.module';
import { ReceiptsModule } from './modules/receipts/receipts.module';
import { ShoppingCardsModule } from './modules/shopping-cards/shopping-cards.module';
import { CacheModule } from '@nestjs/cache-manager';

@Module({
  imports: [
    DatabaseModule,
    ConfigModule.forRoot({ isGlobal: true }),
    UsersModule,
    ProductsModule,
    AuthModule,
    OrdersModule,
    WalletsModule,
    WalletsTransactionsModule,
    ReceiptsModule,
    ShoppingCardsModule,
  ],
  controllers: [AppController, UsersController],
  providers: [AppService],
})
export class AppModule {}