Merge branch 'zustand/io/migration' of github.com:logspace-ai/langflow into zustand/io/migration

This commit is contained in:
igorrCarvalho 2024-03-21 13:58:24 -03:00
commit ef9fdce774
5 changed files with 18 additions and 27 deletions

View file

@ -89,9 +89,7 @@ async def auto_login(
@router.post("/refresh")
async def refresh_token(
request: Request, response: Response, settings_service=Depends(get_settings_service)
):
async def refresh_token(request: Request, response: Response, settings_service=Depends(get_settings_service)):
auth_settings = settings_service.auth_settings
token = request.cookies.get("refresh_token_lf")

View file

@ -1,8 +1,7 @@
from typing import List, Optional
from langflow.components.vectorstores.base.model import LCVectorStoreComponent
from langflow.components.vectorstores.MongoDBAtlasVector import \
MongoDBAtlasComponent
from langflow.components.vectorstores.MongoDBAtlasVector import MongoDBAtlasComponent
from langflow.field_typing import Embeddings, NestedDict, Text
from langflow.schema import Record
@ -37,9 +36,8 @@ class MongoDBAtlasSearchComponent(MongoDBAtlasComponent, LCVectorStoreComponent)
mongodb_atlas_cluster_uri: str = "",
search_kwargs: Optional[NestedDict] = None,
) -> List[Record]:
search_kwargs = search_kwargs or {}
vector_store = super().build(
vector_store = super().build(
connection_string=mongodb_atlas_cluster_uri,
namespace=f"{db_name}.{collection_name}",
embedding=embedding,

View file

@ -9,13 +9,9 @@ from jose import JWTError, jwt
from sqlmodel import Session
from starlette.websockets import WebSocket
from langflow.services.database.models.api_key.model import ApiKey
from langflow.services.database.models.api_key.crud import check_key
from langflow.services.database.models.user.crud import (
get_user_by_id,
get_user_by_username,
update_user_last_login_at,
)
from langflow.services.database.models.api_key.model import ApiKey
from langflow.services.database.models.user.crud import get_user_by_id, get_user_by_username, update_user_last_login_at
from langflow.services.database.models.user.model import User
from langflow.services.deps import get_session, get_settings_service
@ -107,13 +103,13 @@ async def get_current_user_by_jwt(
if isinstance(token, Coroutine):
token = await token
if settings_service.auth_settings.SECRET_KEY is None:
if settings_service.auth_settings.SECRET_KEY.get_secret_value() is None:
raise credentials_exception
try:
payload = jwt.decode(
token,
settings_service.auth_settings.SECRET_KEY,
settings_service.auth_settings.SECRET_KEY.get_secret_value(),
algorithms=[settings_service.auth_settings.ALGORITHM],
)
user_id: UUID = payload.get("sub") # type: ignore
@ -183,7 +179,7 @@ def create_token(data: dict, expires_delta: timedelta):
return jwt.encode(
to_encode,
settings_service.auth_settings.SECRET_KEY,
settings_service.auth_settings.SECRET_KEY.get_secret_value(),
algorithm=settings_service.auth_settings.ALGORITHM,
)
@ -287,7 +283,7 @@ def create_refresh_token(refresh_token: str, db: Session = Depends(get_session))
try:
payload = jwt.decode(
refresh_token,
settings_service.auth_settings.SECRET_KEY,
settings_service.auth_settings.SECRET_KEY.get_secret_value(),
algorithms=[settings_service.auth_settings.ALGORITHM],
)
user_id: UUID = payload.get("sub") # type: ignore
@ -326,7 +322,7 @@ def add_padding(s):
def get_fernet(settings_service=Depends(get_settings_service)):
SECRET_KEY = settings_service.auth_settings.SECRET_KEY
SECRET_KEY = settings_service.auth_settings.SECRET_KEY.get_secret_value()
# It's important that your secret key is 32 url-safe base64-encoded byte
padded_secret_key = add_padding(SECRET_KEY)
fernet = Fernet(padded_secret_key)

View file

@ -1,23 +1,23 @@
import secrets
from pathlib import Path
from typing import Optional
from loguru import logger
from passlib.context import CryptContext
from pydantic import Field, SecretStr, validator
from pydantic_settings import BaseSettings
from langflow.services.settings.constants import (
DEFAULT_SUPERUSER,
DEFAULT_SUPERUSER_PASSWORD,
)
from langflow.services.settings.utils import read_secret_from_file, write_secret_to_file
from loguru import logger
from passlib.context import CryptContext
from pydantic import Field, validator
from pydantic_settings import BaseSettings
class AuthSettings(BaseSettings):
# Login settings
CONFIG_DIR: str
SECRET_KEY: str = Field(
default="",
SECRET_KEY: SecretStr = Field(
default=None,
description="Secret key for JWT. If not provided, a random one will be generated.",
frozen=False,
)
@ -26,7 +26,6 @@ class AuthSettings(BaseSettings):
REFRESH_TOKEN_EXPIRE_MINUTES: int = 60 * 12 * 7
# API Key to execute /process endpoint
API_KEY_SECRET_KEY: Optional[str] = "b82818e0ad4ff76615c5721ee21004b07d84cd9b87ba4d9cb42374da134b841a"
API_KEY_ALGORITHM: str = "HS256"
API_V1_STR: str = "/api/v1"

View file

@ -90,7 +90,7 @@ export default function InputComponent({
// if the user copies a password from another input
// it might come as ••••••••••• it causes errors
// in ascii encoding, so we need to handle it
if (password) {
if (password && e.target.value.length > 0) {
// check if all chars are •
if (e.target.value.split("").every((char) => char === "•")) {
setErrorData({