diff --git a/backend/app/core/config.py b/backend/app/core/config.py index 166ee94..02b77b0 100644 --- a/backend/app/core/config.py +++ b/backend/app/core/config.py @@ -1,6 +1,6 @@ from functools import lru_cache -from pydantic import AnyHttpUrl, Field +from pydantic import AnyHttpUrl, Field, field_validator from pydantic_settings import BaseSettings, SettingsConfigDict @@ -20,6 +20,13 @@ class Settings(BaseSettings): demo_admin_password: str = "ChangeMe_UseEnvInstead" cors_origins: list[AnyHttpUrl] | list[str] = ["http://localhost:5173", "http://localhost:8080"] + @field_validator("cors_origins", mode="before") + @classmethod + def parse_cors_origins(cls, value: str | list[str]) -> list[str]: + if isinstance(value, str): + return [origin.strip() for origin in value.split(",") if origin.strip()] + return value + @lru_cache def get_settings() -> Settings: