From 86ea5fe825b015ba12840c5286abaeb6c3fcc8d7 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 27 Nov 2023 17:15:16 -0300 Subject: [PATCH] Refactor API key module --- src/backend/langflow/api/v1/api_key.py | 35 ++++++++++++++++++-------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src/backend/langflow/api/v1/api_key.py b/src/backend/langflow/api/v1/api_key.py index 5c7c6ca0b..48cf7d1ca 100644 --- a/src/backend/langflow/api/v1/api_key.py +++ b/src/backend/langflow/api/v1/api_key.py @@ -1,27 +1,27 @@ +from typing import TYPE_CHECKING from uuid import UUID -from fastapi import APIRouter, HTTPException, Depends -from langflow.api.v1.schemas import ApiKeysResponse, ApiKeyCreateRequest + +from fastapi import APIRouter, Depends, HTTPException +from sqlmodel import Session + +from langflow.api.v1.schemas import ApiKeyCreateRequest, ApiKeysResponse from langflow.services.auth import utils as auth_utils -from langflow.services.database.models.api_key.model import ( - ApiKeyCreate, - UnmaskedApiKeyRead, -) # Assuming you have these methods in your service layer from langflow.services.database.models.api_key.crud import ( - get_api_keys, create_api_key, delete_api_key, + get_api_keys, +) +from langflow.services.database.models.api_key.model import ( + ApiKeyCreate, + UnmaskedApiKeyRead, ) from langflow.services.database.models.user.model import User from langflow.services.deps import ( get_session, get_settings_service, ) -from typing import TYPE_CHECKING - - -from sqlmodel import Session if TYPE_CHECKING: pass @@ -85,3 +85,16 @@ def save_store_api_key( return {"detail": "API Key saved"} except Exception as e: raise HTTPException(status_code=400, detail=str(e)) from e + + +@router.delete("/store") +def delete_store_api_key( + current_user: User = Depends(auth_utils.get_current_active_user), + db: Session = Depends(get_session), +): + try: + current_user.store_api_key = None + db.commit() + return {"detail": "API Key deleted"} + except Exception as e: + raise HTTPException(status_code=400, detail=str(e)) from e