diff --git a/src/backend/langflow/interface/custom/component.py b/src/backend/langflow/interface/custom/component.py index 420a62a85..0f3d25d5d 100644 --- a/src/backend/langflow/interface/custom/component.py +++ b/src/backend/langflow/interface/custom/component.py @@ -28,10 +28,13 @@ class Component: def __init__(self, **data): self.cache = TTLCache(maxsize=1024, ttl=60) for key, value in data.items(): - setattr(self, key, value) + if key == "user_id": + setattr(self, "_user_id", value) + else: + setattr(self, key, value) def __setattr__(self, key, value): - if key == "user_id" and hasattr(self, key): + if key == "_user_id" and hasattr(self, "_user_id"): warnings.warn("Modification of user_id is not allowed") else: super().__setattr__(key, value) diff --git a/src/backend/langflow/interface/custom/custom_component.py b/src/backend/langflow/interface/custom/custom_component.py index 7f1722241..5173e17a1 100644 --- a/src/backend/langflow/interface/custom/custom_component.py +++ b/src/backend/langflow/interface/custom/custom_component.py @@ -186,13 +186,13 @@ class CustomComponent(Component): @property def keys(self): def get_credential(name: str): - if not self.user_id: + if hasattr(self, "_user_id") and not self._user_id: raise ValueError(f"User id is not set for {self.__class__.__name__}") credential_service = get_credential_service() # Get service instance # Retrieve and decrypt the credential by name for the current user db_service = get_db_service() with session_getter(db_service) as session: - return credential_service.get_credential(user_id=self.user_id, name=name, session=session) + return credential_service.get_credential(user_id=self._user_id, name=name, session=session) return get_credential