remove throttler

This commit is contained in:
SennayT
2026-07-14 10:30:22 +03:00
parent 3aa4451e00
commit 8f45d7ae1f
7 changed files with 1094 additions and 760 deletions

View File

@@ -1,78 +1,78 @@
import {Logger, Module, OnApplicationBootstrap} from '@nestjs/common';
import { ThrottlerModule } from '@nestjs/throttler';
import { DynamicThrottlerGuard } from './common/dynamic-throttler.guard';
import { APP_GUARD, APP_FILTER } from '@nestjs/core';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { ScheduleModule } from '@nestjs/schedule';
import { EventEmitterModule } from '@nestjs/event-emitter';
import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm';
import { IamModule as TriaIamModule } from '@tria-plc/iamapi-common/iam.module';
import { DataSeeder } from '@tria-plc/iamapi-common/db/seed/seeder';
import { SharedAuthModule } from '@tria-plc/api-common/modules/auth/shared-auth.module';
import { Logger, Module, OnApplicationBootstrap } from "@nestjs/common";
import { ThrottlerModule } from "@nestjs/throttler";
import { DynamicThrottlerGuard } from "./common/dynamic-throttler.guard";
import { APP_GUARD, APP_FILTER } from "@nestjs/core";
import { ConfigModule, ConfigService } from "@nestjs/config";
import { ScheduleModule } from "@nestjs/schedule";
import { EventEmitterModule } from "@nestjs/event-emitter";
import { TypeOrmModule, TypeOrmModuleOptions } from "@nestjs/typeorm";
import { IamModule as TriaIamModule } from "@tria-plc/iamapi-common/iam.module";
import { DataSeeder } from "@tria-plc/iamapi-common/db/seed/seeder";
import { SharedAuthModule } from "@tria-plc/api-common/modules/auth/shared-auth.module";
import {
EDR_PASSENGER_APPLICATION,
EDR_PASSENGER_PERMISSIONS,
} from './seed/edr-passenger.seed';
import { EdrPassengerOrgSeeder } from './seed/edr-passenger-org.seeder';
import { PassengerStaffUsersSeeder } from './seed/passenger-staff-users.seeder';
import { PrismaModule } from './common/prisma.module';
import { AuditModule } from './common/audit.module';
import { I18nModule } from './common/i18n/i18n.module';
import { LocaleMiddleware } from './common/i18n/locale.middleware';
import { DeleteExceptionFilter } from './common/exceptions/delete-exception.filter';
import appConfig from './config/app.config';
import dbConfig from './config/database.config';
import iamDatabaseConfig from './config/iam-database.config';
import telebirrConfig from './config/telebirr.config';
import cbeConfig from './config/cbe.config';
import ebirrConfig from './config/ebirr.config';
import cardConfig from './config/card.config';
import waafiConfig from './config/waafi.config';
import faydaConfig from './config/fayda.config';
import rabbitmqConfig from './config/rabbitmq.config';
import { AuthModule } from './modules/auth/auth.module';
import { StationsModule } from './modules/stations/stations.module';
import { FleetModule } from './modules/fleet/fleet.module';
import { SchedulesModule } from './modules/schedules/schedules.module';
import { SearchModule } from './modules/search/search.module';
import { SeatsModule } from './modules/seats/seats.module';
import { BookingsModule } from './modules/bookings/bookings.module';
import { PaymentsModule } from './modules/payments/payments.module';
import { TicketsModule } from './modules/tickets/tickets.module';
import { PassengersModule } from './modules/passengers/passengers.module';
import { NotificationsModule } from './modules/notifications/notifications.module';
import { LoyaltyModule } from './modules/loyalty/loyalty.module';
import { WalletModule } from './modules/wallet/wallet.module';
import { PromosModule } from './modules/promos/promos.module';
import { LiveModule } from './modules/live/live.module';
import { SupportModule } from './modules/support/support.module';
import { DashboardModule } from './modules/dashboard/dashboard.module';
import { SegmentsModule } from './modules/segments/segments.module';
import { AgentsModule } from './modules/agents/agents.module';
import { ReportsModule } from './modules/reports/reports.module';
import { FraudModule } from './modules/fraud/fraud.module';
import { SeatClassesModule } from './modules/seat-classes/seat-classes.module';
import { FareEngineModule } from './modules/fare-engine/fare-engine.module';
import { VerifaydaModule } from './modules/verifayda/verifayda.module';
import { AuditModuleFeature } from './modules/audit/audit.module';
import { CurrenciesModule } from './modules/currencies/currencies.module';
import { SystemConfigModule } from './modules/system-config/system-config.module';
import { PackagesModule } from './modules/packages/packages.module';
import { ExcessBaggageModule } from './modules/excess-baggage/excess-baggage.module';
import { HealthModule } from './modules/health/health.module';
import { TasksModule } from './modules/tasks/tasks.module';
import { AppReleasesModule } from './modules/app-releases/app-releases.module';
import { ConfigurableFareModule } from './modules/configurable-fare/configurable-fare.module';
import { SegmentFareSeeder } from './seed/segment-fare.seeder';
} from "./seed/edr-passenger.seed";
import { EdrPassengerOrgSeeder } from "./seed/edr-passenger-org.seeder";
import { PassengerStaffUsersSeeder } from "./seed/passenger-staff-users.seeder";
import { PrismaModule } from "./common/prisma.module";
import { AuditModule } from "./common/audit.module";
import { I18nModule } from "./common/i18n/i18n.module";
import { LocaleMiddleware } from "./common/i18n/locale.middleware";
import { DeleteExceptionFilter } from "./common/exceptions/delete-exception.filter";
import appConfig from "./config/app.config";
import dbConfig from "./config/database.config";
import iamDatabaseConfig from "./config/iam-database.config";
import telebirrConfig from "./config/telebirr.config";
import cbeConfig from "./config/cbe.config";
import ebirrConfig from "./config/ebirr.config";
import cardConfig from "./config/card.config";
import waafiConfig from "./config/waafi.config";
import faydaConfig from "./config/fayda.config";
import rabbitmqConfig from "./config/rabbitmq.config";
import { AuthModule } from "./modules/auth/auth.module";
import { StationsModule } from "./modules/stations/stations.module";
import { FleetModule } from "./modules/fleet/fleet.module";
import { SchedulesModule } from "./modules/schedules/schedules.module";
import { SearchModule } from "./modules/search/search.module";
import { SeatsModule } from "./modules/seats/seats.module";
import { BookingsModule } from "./modules/bookings/bookings.module";
import { PaymentsModule } from "./modules/payments/payments.module";
import { TicketsModule } from "./modules/tickets/tickets.module";
import { PassengersModule } from "./modules/passengers/passengers.module";
import { NotificationsModule } from "./modules/notifications/notifications.module";
import { LoyaltyModule } from "./modules/loyalty/loyalty.module";
import { WalletModule } from "./modules/wallet/wallet.module";
import { PromosModule } from "./modules/promos/promos.module";
import { LiveModule } from "./modules/live/live.module";
import { SupportModule } from "./modules/support/support.module";
import { DashboardModule } from "./modules/dashboard/dashboard.module";
import { SegmentsModule } from "./modules/segments/segments.module";
import { AgentsModule } from "./modules/agents/agents.module";
import { ReportsModule } from "./modules/reports/reports.module";
import { FraudModule } from "./modules/fraud/fraud.module";
import { SeatClassesModule } from "./modules/seat-classes/seat-classes.module";
import { FareEngineModule } from "./modules/fare-engine/fare-engine.module";
import { VerifaydaModule } from "./modules/verifayda/verifayda.module";
import { AuditModuleFeature } from "./modules/audit/audit.module";
import { CurrenciesModule } from "./modules/currencies/currencies.module";
import { SystemConfigModule } from "./modules/system-config/system-config.module";
import { PackagesModule } from "./modules/packages/packages.module";
import { ExcessBaggageModule } from "./modules/excess-baggage/excess-baggage.module";
import { HealthModule } from "./modules/health/health.module";
import { TasksModule } from "./modules/tasks/tasks.module";
import { AppReleasesModule } from "./modules/app-releases/app-releases.module";
import { ConfigurableFareModule } from "./modules/configurable-fare/configurable-fare.module";
import { SegmentFareSeeder } from "./seed/segment-fare.seeder";
import { EOtpType } from "@tria-plc/iamapi-common";
@Module({
imports: [
ThrottlerModule.forRoot([
{ name: 'auth', ttl: 60_000, limit: 5 },
{ name: 'strict', ttl: 60_000, limit: 20 },
{ name: 'default', ttl: 60_000, limit: 100 },
{ name: "auth", ttl: 60, limit: 100000 },
{ name: "strict", ttl: 60, limit: 100000 },
{ name: "default", ttl: 60, limit: 100000 },
]),
ConfigModule.forRoot({
isGlobal: true,
@@ -94,27 +94,27 @@ import { EOtpType } from "@tria-plc/iamapi-common";
TypeOrmModule.forRootAsync({
inject: [ConfigService],
useFactory: (config: ConfigService): TypeOrmModuleOptions =>
config.get<TypeOrmModuleOptions>('iamDatabase')!,
config.get<TypeOrmModuleOptions>("iamDatabase")!,
}),
TriaIamModule.forRoot({
applications: [EDR_PASSENGER_APPLICATION],
permissions: EDR_PASSENGER_PERMISSIONS,
otpMessages: {
[EOtpType.MFA_LOGIN]: ({ otp }) =>
`Your EDR Passenger login code is ${otp}. It will expire in 5 minutes.`,
`Your EDR Passenger login code is ${otp}. It will expire in 5 minutes.`,
[EOtpType.VERIFY_PHONE_NUMBER]: ({ otp }) =>
`Your EDR Passenger phone verification code is ${otp}. It will expire in 5 minutes.`,
`Your EDR Passenger phone verification code is ${otp}. It will expire in 5 minutes.`,
[EOtpType.RESET_PASSWORD]: ({ route }) =>
`Reset your EDR Passenger password using this link: ${route}`,
`Reset your EDR Passenger password using this link: ${route}`,
[EOtpType.SET_PASSWORD]: ({ route }) =>
`Set your EDR Passenger password using this link: ${route}`,
`Set your EDR Passenger password using this link: ${route}`,
},
}),
SharedAuthModule,
PrismaModule,
AuditModule,
I18nModule,
AuthModule,
AuthModule,
StationsModule,
FleetModule,
SchedulesModule,
@@ -170,22 +170,34 @@ export class AppModule implements OnApplicationBootstrap {
try {
await this.seeder.run();
} catch (err) {
this.logger.error('[DataSeeder] Seed failed (non-fatal):', (err as Error).message);
this.logger.error(
"[DataSeeder] Seed failed (non-fatal):",
(err as Error).message,
);
}
try {
await this.edrPassengerOrgSeeder.run();
} catch (err) {
this.logger.error('[EdrPassengerOrgSeeder] Seed failed (non-fatal):', (err as Error).message);
this.logger.error(
"[EdrPassengerOrgSeeder] Seed failed (non-fatal):",
(err as Error).message,
);
}
try {
await this.passengerStaffUsersSeeder.run();
} catch (err) {
this.logger.error('[PassengerStaffUsersSeeder] Seed failed (non-fatal):', (err as Error).message);
this.logger.error(
"[PassengerStaffUsersSeeder] Seed failed (non-fatal):",
(err as Error).message,
);
}
try {
await this.segmentFareSeeder.run();
} catch (err) {
this.logger.error('[SegmentFareSeeder] Seed failed (non-fatal):', (err as Error).message);
this.logger.error(
"[SegmentFareSeeder] Seed failed (non-fatal):",
(err as Error).message,
);
}
}
}