diff --git a/openbb_sdk/sdk/core/openbb_core/app/model/hub/hub_user_settings.py b/openbb_sdk/sdk/core/openbb_core/app/model/hub/hub_user_settings.py index 6eae4cb64b9..a18eae36ab8 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/model/hub/hub_user_settings.py +++ b/openbb_sdk/sdk/core/openbb_core/app/model/hub/hub_user_settings.py @@ -1,12 +1,14 @@ # from typing import Dict, List, Union - from openbb_core.app.model.hub.features_keys import FeaturesKeys -from pydantic import BaseModel +from pydantic import BaseModel, Field class HubUserSettings(BaseModel): # features_settings: Dict[str, str] - features_keys: FeaturesKeys + features_keys: FeaturesKeys = Field(default_factory=FeaturesKeys) # features_sources: Dict[str, List[str]] # features_terminal_style: Dict[str, Union[str, Dict[str, str]]] + + class Config: + validate_assignment = True diff --git a/openbb_sdk/sdk/core/openbb_core/app/service/hub_service.py b/openbb_sdk/sdk/core/openbb_core/app/service/hub_service.py index 8879ccda70c..9611f0f9220 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/service/hub_service.py +++ b/openbb_sdk/sdk/core/openbb_core/app/service/hub_service.py @@ -178,7 +178,8 @@ class HubService: ) if response.status_code == 200: user_settings = response.json() - return HubUserSettings.parse_obj(user_settings) + filtered = {k: v for k, v in user_settings.items() if v is not None} + return HubUserSettings.parse_obj(filtered) status_code = response.status_code detail = response.json().get("detail", None) raise HTTPException(status_code, detail)