57 lines
1.6 KiB
TypeScript
57 lines
1.6 KiB
TypeScript
|
|
import { Module } from '@nestjs/common';
|
||
|
|
import { ConfigModule } from '@nestjs/config';
|
||
|
|
import { ThrottlerModule } from '@nestjs/throttler';
|
||
|
|
import { AuthModule } from './auth/auth.module';
|
||
|
|
import { UsersModule } from './users/users.module';
|
||
|
|
import { MappingsModule } from './mappings/mappings.module';
|
||
|
|
import { CatalogModule } from './catalog/catalog.module';
|
||
|
|
import { OrdersModule } from './orders/orders.module';
|
||
|
|
import { InvoicesModule } from './invoices/invoices.module';
|
||
|
|
import { SubscriptionsModule } from './subscriptions/subscriptions.module';
|
||
|
|
import { CasesModule } from './cases/cases.module';
|
||
|
|
import { WebhooksModule } from './webhooks/webhooks.module';
|
||
|
|
import { VendorsModule } from './vendors/vendors.module';
|
||
|
|
import { JobsModule } from './jobs/jobs.module';
|
||
|
|
import { HealthModule } from './health/health.module';
|
||
|
|
import { PrismaModule } from './common/prisma/prisma.module';
|
||
|
|
import { AuditModule } from './common/audit/audit.module';
|
||
|
|
import { RedisModule } from './common/redis/redis.module';
|
||
|
|
|
||
|
|
@Module({
|
||
|
|
imports: [
|
||
|
|
// Configuration
|
||
|
|
ConfigModule.forRoot({
|
||
|
|
isGlobal: true,
|
||
|
|
envFilePath: '.env',
|
||
|
|
}),
|
||
|
|
|
||
|
|
// Rate limiting
|
||
|
|
ThrottlerModule.forRoot([
|
||
|
|
{
|
||
|
|
ttl: 60000, // 1 minute
|
||
|
|
limit: 100, // 100 requests per minute
|
||
|
|
},
|
||
|
|
]),
|
||
|
|
|
||
|
|
// Core modules
|
||
|
|
PrismaModule,
|
||
|
|
RedisModule,
|
||
|
|
AuditModule,
|
||
|
|
VendorsModule,
|
||
|
|
JobsModule,
|
||
|
|
HealthModule,
|
||
|
|
|
||
|
|
// Feature modules
|
||
|
|
AuthModule,
|
||
|
|
UsersModule,
|
||
|
|
MappingsModule,
|
||
|
|
CatalogModule,
|
||
|
|
OrdersModule,
|
||
|
|
InvoicesModule,
|
||
|
|
SubscriptionsModule,
|
||
|
|
CasesModule,
|
||
|
|
WebhooksModule,
|
||
|
|
],
|
||
|
|
})
|
||
|
|
export class AppModule {}
|