mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-09 05:58:18 +00:00
Revert "remove throttler again and increase limits"
This reverts commit fdb5e0f74c.
This commit is contained in:
@@ -69,11 +69,11 @@ import { EOtpType } from "@tria-plc/iamapi-common";
|
|||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
// ThrottlerModule.forRoot([
|
ThrottlerModule.forRoot([
|
||||||
// { name: "auth", ttl: 60, limit: 100000 },
|
{ name: "auth", ttl: 60, limit: 100000 },
|
||||||
// { name: "strict", ttl: 60, limit: 100000 },
|
{ name: "strict", ttl: 60, limit: 100000 },
|
||||||
// { name: "default", ttl: 60, limit: 100000 },
|
{ name: "default", ttl: 60, limit: 100000 },
|
||||||
// ]),
|
]),
|
||||||
ConfigModule.forRoot({
|
ConfigModule.forRoot({
|
||||||
isGlobal: true,
|
isGlobal: true,
|
||||||
load: [
|
load: [
|
||||||
|
|||||||
@@ -1,29 +1,28 @@
|
|||||||
import { Injectable } from "@nestjs/common";
|
import { Injectable } from '@nestjs/common';
|
||||||
import { PrismaService } from "../../common/prisma.service";
|
import { PrismaService } from '../../common/prisma.service';
|
||||||
|
|
||||||
export const CONFIG_KEYS = {
|
export const CONFIG_KEYS = {
|
||||||
SEAT_HOLD_DURATION_MINUTES: "seat_hold_duration_minutes",
|
SEAT_HOLD_DURATION_MINUTES: 'seat_hold_duration_minutes',
|
||||||
HOLD_CUTOFF_HOURS_BEFORE_DEPARTURE: "hold_cutoff_hours_before_departure",
|
HOLD_CUTOFF_HOURS_BEFORE_DEPARTURE: 'hold_cutoff_hours_before_departure',
|
||||||
BOARDING_WINDOW_HOURS_BEFORE_DEPARTURE:
|
BOARDING_WINDOW_HOURS_BEFORE_DEPARTURE: 'boarding_window_hours_before_departure',
|
||||||
"boarding_window_hours_before_departure",
|
THROTTLE_AUTH_LIMIT: 'throttle_auth_limit',
|
||||||
THROTTLE_AUTH_LIMIT: "throttle_auth_limit",
|
THROTTLE_AUTH_TTL_MS: 'throttle_auth_ttl_ms',
|
||||||
THROTTLE_AUTH_TTL_MS: "throttle_auth_ttl_ms",
|
THROTTLE_STRICT_LIMIT: 'throttle_strict_limit',
|
||||||
THROTTLE_STRICT_LIMIT: "throttle_strict_limit",
|
THROTTLE_STRICT_TTL_MS: 'throttle_strict_ttl_ms',
|
||||||
THROTTLE_STRICT_TTL_MS: "throttle_strict_ttl_ms",
|
THROTTLE_DEFAULT_LIMIT: 'throttle_default_limit',
|
||||||
THROTTLE_DEFAULT_LIMIT: "throttle_default_limit",
|
THROTTLE_DEFAULT_TTL_MS: 'throttle_default_ttl_ms',
|
||||||
THROTTLE_DEFAULT_TTL_MS: "throttle_default_ttl_ms",
|
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
const DEFAULTS: Record<string, string> = {
|
const DEFAULTS: Record<string, string> = {
|
||||||
[CONFIG_KEYS.SEAT_HOLD_DURATION_MINUTES]: "5",
|
[CONFIG_KEYS.SEAT_HOLD_DURATION_MINUTES]: '5',
|
||||||
[CONFIG_KEYS.HOLD_CUTOFF_HOURS_BEFORE_DEPARTURE]: "2",
|
[CONFIG_KEYS.HOLD_CUTOFF_HOURS_BEFORE_DEPARTURE]: '2',
|
||||||
[CONFIG_KEYS.BOARDING_WINDOW_HOURS_BEFORE_DEPARTURE]: "4",
|
[CONFIG_KEYS.BOARDING_WINDOW_HOURS_BEFORE_DEPARTURE]: '4',
|
||||||
[CONFIG_KEYS.THROTTLE_AUTH_LIMIT]: "5000",
|
[CONFIG_KEYS.THROTTLE_AUTH_LIMIT]: '5',
|
||||||
[CONFIG_KEYS.THROTTLE_AUTH_TTL_MS]: "60",
|
[CONFIG_KEYS.THROTTLE_AUTH_TTL_MS]: '60000',
|
||||||
[CONFIG_KEYS.THROTTLE_STRICT_LIMIT]: "20000",
|
[CONFIG_KEYS.THROTTLE_STRICT_LIMIT]: '20',
|
||||||
[CONFIG_KEYS.THROTTLE_STRICT_TTL_MS]: "60",
|
[CONFIG_KEYS.THROTTLE_STRICT_TTL_MS]: '60000',
|
||||||
[CONFIG_KEYS.THROTTLE_DEFAULT_LIMIT]: "100000",
|
[CONFIG_KEYS.THROTTLE_DEFAULT_LIMIT]: '100',
|
||||||
[CONFIG_KEYS.THROTTLE_DEFAULT_TTL_MS]: "6",
|
[CONFIG_KEYS.THROTTLE_DEFAULT_TTL_MS]: '60000',
|
||||||
};
|
};
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
@@ -39,14 +38,11 @@ export class SystemConfigService {
|
|||||||
|
|
||||||
async getValue(key: string): Promise<string> {
|
async getValue(key: string): Promise<string> {
|
||||||
const row = await this.prisma.systemConfig.findUnique({ where: { key } });
|
const row = await this.prisma.systemConfig.findUnique({ where: { key } });
|
||||||
return row?.value ?? DEFAULTS[key] ?? "";
|
return row?.value ?? DEFAULTS[key] ?? '';
|
||||||
}
|
}
|
||||||
|
|
||||||
async getNumber(key: string): Promise<number> {
|
async getNumber(key: string): Promise<number> {
|
||||||
return (
|
return parseInt(await this.getValue(key), 10) || parseInt(DEFAULTS[key] ?? '0', 10);
|
||||||
parseInt(await this.getValue(key), 10) ||
|
|
||||||
parseInt(DEFAULTS[key] ?? "0", 10)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async set(key: string, value: string): Promise<void> {
|
async set(key: string, value: string): Promise<void> {
|
||||||
@@ -57,9 +53,7 @@ export class SystemConfigService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async updateMany(
|
async updateMany(entries: Record<string, string>): Promise<Record<string, string>> {
|
||||||
entries: Record<string, string>,
|
|
||||||
): Promise<Record<string, string>> {
|
|
||||||
await Promise.all(Object.entries(entries).map(([k, v]) => this.set(k, v)));
|
await Promise.all(Object.entries(entries).map(([k, v]) => this.set(k, v)));
|
||||||
return this.getAll();
|
return this.getAll();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user