🔧 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,4 +1,4 @@
from sqlalchemy.orm import Session
from sqlmodel import Session
from fastapi import APIRouter, Depends, HTTPException, status
from fastapi.security import OAuth2PasswordRequestForm

View file

@ -96,7 +96,7 @@ def patch_user(
@router.delete("/user/{user_id}")
def delete_user(
user_id: UUID,
current_user: Session = Depends(get_current_active_superuser),
current_user: User = Depends(get_current_active_superuser),
db: Session = Depends(get_session),
) -> dict:
"""

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],
)

View file

@ -1,4 +1,5 @@
from datetime import datetime, timezone
from typing import Union
from uuid import UUID
from fastapi import Depends, HTTPException
from langflow.services.database.models.user.user import User, UserUpdate
@ -10,11 +11,11 @@ from sqlmodel import Session
from sqlalchemy.orm.attributes import flag_modified
def get_user_by_username(db: Session, username: str) -> User:
def get_user_by_username(db: Session, username: str) -> Union[User, None]:
return db.query(User).filter(User.username == username).first()
def get_user_by_id(db: Session, id: UUID) -> User:
def get_user_by_id(db: Session, id: UUID) -> Union[User, None]:
return db.query(User).filter(User.id == id).first()

View file

@ -1,5 +1,5 @@
from langflow.services.schema import ServiceType
from typing import TYPE_CHECKING, List
from typing import TYPE_CHECKING, List, Optional
if TYPE_CHECKING:
from langflow.services.factory import ServiceFactory
@ -16,7 +16,9 @@ class ServiceManager:
self.dependencies = {}
def register_factory(
self, service_factory: "ServiceFactory", dependencies: List[ServiceType] = None
self,
service_factory: "ServiceFactory",
dependencies: Optional[List[ServiceType]] = None,
):
"""
Registers a new factory with dependencies.