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 {