From 2059fa69d940f15d2a3e9b64a03c3163801d5f77 Mon Sep 17 00:00:00 2001 From: Thomas Reitz Date: Sun, 8 Mar 2026 16:46:06 +0100 Subject: [PATCH] fix: add @Type(() => Number) for numeric env var conversion Environment variables are strings from process.env. Explicit Type decorators ensure class-transformer converts them to numbers. Co-Authored-By: Claude Opus 4.6 --- packages/core-service/src/config/env.validation.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/core-service/src/config/env.validation.ts b/packages/core-service/src/config/env.validation.ts index 35737fc..ce8fd54 100644 --- a/packages/core-service/src/config/env.validation.ts +++ b/packages/core-service/src/config/env.validation.ts @@ -1,4 +1,4 @@ -import { plainToInstance } from 'class-transformer'; +import { plainToInstance, Type } from 'class-transformer'; import { IsEnum, IsNotEmpty, @@ -20,6 +20,7 @@ class EnvironmentVariables { @IsEnum(Environment) NODE_ENV: Environment = Environment.Development; + @Type(() => Number) @IsNumber() @Min(1) @Max(65535) @@ -42,6 +43,7 @@ class EnvironmentVariables { @IsString() REDIS_HOST = 'redis'; + @Type(() => Number) @IsNumber() REDIS_PORT = 6379; @@ -68,15 +70,18 @@ class EnvironmentVariables { JWT_ISSUER = 'insight-platform'; // Bcrypt + @Type(() => Number) @IsNumber() @Min(10) @Max(14) BCRYPT_COST = 12; // Rate Limiting + @Type(() => Number) @IsNumber() THROTTLE_TTL = 60000; + @Type(() => Number) @IsNumber() THROTTLE_LIMIT = 200; }