From 928ba602bb942ae6cf0ab9b726e170941cadc7c2 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Thu, 8 Feb 2024 16:33:42 -0300 Subject: [PATCH] Refactor credential creation logic --- src/backend/langflow/api/v1/credential.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/backend/langflow/api/v1/credential.py b/src/backend/langflow/api/v1/credential.py index 53d5a1215..3b1411cf5 100644 --- a/src/backend/langflow/api/v1/credential.py +++ b/src/backend/langflow/api/v1/credential.py @@ -2,12 +2,17 @@ from datetime import datetime from uuid import UUID from fastapi import APIRouter, Depends, HTTPException +from sqlmodel import Session, select + from langflow.services.auth import utils as auth_utils from langflow.services.auth.utils import get_current_active_user from langflow.services.database.models.credential import Credential, CredentialCreate, CredentialRead, CredentialUpdate from langflow.services.database.models.user.model import User from langflow.services.deps import get_session, get_settings_service -from sqlmodel import Session, select + CredentialRead, + CredentialUpdate) +from langflow.services.database.models.user.model import User +from langflow.services.deps import get_session, get_settings_service router = APIRouter(prefix="/credentials", tags=["Credentials"]) @@ -29,7 +34,10 @@ def create_credential( if credential_exists: raise HTTPException(status_code=400, detail="Credential name already exists") - db_credential = Credential.model_validate(credential, from_attributes=True) + credential_dict = credential.model_dump() + credential_dict["user_id"] = current_user.id + + db_credential = Credential.model_validate(credential_dict) if not db_credential.value: raise HTTPException(status_code=400, detail="Credential value cannot be empty") encrypted = auth_utils.encrypt_api_key(db_credential.value, settings_service=settings_service)