- ThrottlerGuard global: 20 req/min por IP en todos los endpoints - forbidNonWhitelisted: true en ValidationPipe - Dockerfile API: prisma migrate deploy antes de arrancar el proceso - coolify-compose: depends_on api (service_healthy) en web - GitHub Actions: build y push de imágenes api/web a GHCR en cada push a main Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
53 lines
1.9 KiB
TypeScript
53 lines
1.9 KiB
TypeScript
import { Module } from "@nestjs/common";
|
|
import { ConfigModule } from "@nestjs/config";
|
|
import { ThrottlerModule, ThrottlerGuard } from "@nestjs/throttler";
|
|
import { APP_GUARD } from "@nestjs/core";
|
|
import { HealthModule } from "./health/health.module";
|
|
import { PrismaModule } from "./prisma/prisma.module";
|
|
import { CalculatorModule } from "./calculator/calculator.module";
|
|
import { TrackingModule } from "./tracking/tracking.module";
|
|
import { AuthModule } from "./auth/auth.module";
|
|
import { UsersModule } from "./users/users.module";
|
|
import { PackagesModule } from "./packages/packages.module";
|
|
import { PreAlertsModule } from "./pre-alerts/pre-alerts.module";
|
|
import { B2BModule } from "./b2b/b2b.module";
|
|
import { StorageModule } from "./storage/storage.module";
|
|
import { AuditLogModule } from "./audit-log/audit-log.module";
|
|
import { NotificationsModule } from "./notifications/notifications.module";
|
|
import { TariffsModule } from "./tariffs/tariffs.module";
|
|
import { ProductsModule } from "./products/products.module";
|
|
import { WarehousesModule } from "./warehouses/warehouses.module";
|
|
import { IntegrationsModule } from "./integrations/integrations.module";
|
|
import { PaymentsModule } from "./payments/payments.module";
|
|
import { ConsolidationsModule } from "./consolidations/consolidations.module";
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({
|
|
isGlobal: true,
|
|
envFilePath: ["../../.env", ".env"],
|
|
}),
|
|
ThrottlerModule.forRoot([{ ttl: 60000, limit: 20 }]),
|
|
PrismaModule,
|
|
HealthModule,
|
|
CalculatorModule,
|
|
TrackingModule,
|
|
AuthModule,
|
|
UsersModule,
|
|
PackagesModule,
|
|
PreAlertsModule,
|
|
B2BModule,
|
|
StorageModule,
|
|
AuditLogModule,
|
|
NotificationsModule,
|
|
TariffsModule,
|
|
ProductsModule,
|
|
WarehousesModule,
|
|
IntegrationsModule,
|
|
PaymentsModule,
|
|
ConsolidationsModule,
|
|
],
|
|
providers: [{ provide: APP_GUARD, useClass: ThrottlerGuard }],
|
|
})
|
|
export class AppModule {}
|