From 95aaf9de134c0118da49a71be2d395c517d788ba Mon Sep 17 00:00:00 2001 From: Raul Bardaji Date: Thu, 12 Feb 2026 09:52:51 +0100 Subject: [PATCH] fix: handle empty Kafka config when connection is disabled Add validators to handle empty strings for kafka_host and kafka_port when KAFKA_CONNECTION=False. Previously, setting these to empty values would cause validation errors even though Kafka was disabled. Fixes #59 --- api/config/kafka_settings.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/api/config/kafka_settings.py b/api/config/kafka_settings.py index 4bdc85e..c01c223 100644 --- a/api/config/kafka_settings.py +++ b/api/config/kafka_settings.py @@ -1,6 +1,8 @@ # api/config/kafka_settings.py from pydantic_settings import BaseSettings +from pydantic import field_validator +from typing import Optional class KafkaSettings(BaseSettings): @@ -10,6 +12,22 @@ class KafkaSettings(BaseSettings): kafka_prefix: str = "data_stream_" max_streams: int = 10 + @field_validator("kafka_port", mode="before") + @classmethod + def validate_kafka_port(cls, v): + """Handle empty string or None when Kafka is disabled.""" + if v is None or v == "": + return 9092 # Return default value + return int(v) + + @field_validator("kafka_host", mode="before") + @classmethod + def validate_kafka_host(cls, v): + """Handle empty string or None when Kafka is disabled.""" + if v is None or v == "": + return "localhost" # Return default value + return v + @property def connection_details(self): return {