🔧 fix(login.py): update import statement from sqlalchemy.orm to sqlmodel.Session for Session class

🔧 fix(users.py): update type annotation for current_user parameter from Session to User
🔧 fix(utils.py): update import statement from sqlalchemy.orm to sqlmodel.Session
🔧 fix(utils.py): update type annotation for token parameter from Annotated to Union[Coroutine, str]
🔧 fix(utils.py): update type annotation for get_user_by_username function return type from User to Union[User, None]
🔧 fix(utils.py): update type annotation for get_user_by_id function return type from User to Union[User, None]
🔧 fix(manager.py): update type annotation for dependencies parameter in register_factory method from List to Optional[List]
This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-08-25 10:24:01 -03:00
commit 81816baada
5 changed files with 16 additions and 9 deletions

View file

@ -1,7 +1,7 @@
from datetime import datetime, timedelta, timezone
from fastapi import Depends, HTTPException, Request, status
from jose import JWTError, jwt
from typing import Annotated
from typing import Annotated, Coroutine
from uuid import UUID
from langflow.services.auth.service import AuthManager
from langflow.services.database.models.user.user import User
@ -11,7 +11,7 @@ from langflow.services.database.models.user.utils import (
update_user_last_login_at,
)
from langflow.services.utils import get_session, get_settings_manager
from sqlalchemy.orm import Session
from sqlmodel import Session
def auth_scheme_dependency(request: Request):
@ -33,9 +33,13 @@ async def get_current_user(
detail="Could not validate credentials",
headers={"WWW-Authenticate": "Bearer"},
)
if isinstance(token, Coroutine):
token = await token
try:
payload = jwt.decode(
await token,
token,
settings_manager.auth_settings.SECRET_KEY,
algorithms=[settings_manager.auth_settings.ALGORITHM],
)