🐛 fix(endpoints.py): change get_all function signature to include settings_manager as a dependency to improve code readability

🐛 fix(flows.py): change update_flow function signature to include settings_manager as a dependency to improve code readability
🐛 fix(login.py): change auto_login function signature to include settings_manager as a dependency to improve code readability
🐛 fix(users.py): change add_user function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change read_all_users function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change patch_user function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change delete_user function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change add_super_user_for_testing_purposes_delete_me_before_merge_into_dev function signature to include session as a dependency to improve code readability
This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-09-04 06:41:34 -03:00
commit 2bbbf44b39
4 changed files with 27 additions and 26 deletions

View file

@ -34,14 +34,15 @@ from sqlmodel import Session
router = APIRouter(tags=["Base"]) router = APIRouter(tags=["Base"])
@router.get("/all") @router.get("/all", dependencies=[Depends(get_current_active_user)])
def get_all(current_user: User = Depends(get_current_active_user)): def get_all(
settings_manager=Depends(get_settings_manager),
):
logger.debug("Building langchain types dict") logger.debug("Building langchain types dict")
native_components = build_langchain_types_dict() native_components = build_langchain_types_dict()
# custom_components is a list of dicts # custom_components is a list of dicts
# need to merge all the keys into one dict # need to merge all the keys into one dict
custom_components_from_file: dict[str, Any] = {} custom_components_from_file: dict[str, Any] = {}
settings_manager = get_settings_manager()
if settings_manager.settings.COMPONENTS_PATH: if settings_manager.settings.COMPONENTS_PATH:
logger.info( logger.info(
f"Building custom components from {settings_manager.settings.COMPONENTS_PATH}" f"Building custom components from {settings_manager.settings.COMPONENTS_PATH}"

View file

@ -83,6 +83,7 @@ def update_flow(
flow_id: UUID, flow_id: UUID,
flow: FlowUpdate, flow: FlowUpdate,
current_user: User = Depends(get_current_active_user), current_user: User = Depends(get_current_active_user),
settings_manager=Depends(get_settings_manager),
): ):
"""Update a flow.""" """Update a flow."""
@ -90,7 +91,6 @@ def update_flow(
if not db_flow: if not db_flow:
raise HTTPException(status_code=404, detail="Flow not found") raise HTTPException(status_code=404, detail="Flow not found")
flow_data = flow.dict(exclude_unset=True) flow_data = flow.dict(exclude_unset=True)
settings_manager = get_settings_manager()
if settings_manager.settings.REMOVE_API_KEYS: if settings_manager.settings.REMOVE_API_KEYS:
flow_data = remove_api_keys(flow_data) flow_data = remove_api_keys(flow_data)
for key, value in flow_data.items(): for key, value in flow_data.items():

View file

@ -34,9 +34,9 @@ async def login_to_get_access_token(
@router.get("/auto_login") @router.get("/auto_login")
async def auto_login(db: Session = Depends(get_session)): async def auto_login(
settings_manager = get_settings_manager() db: Session = Depends(get_session), settings_manager=Depends(get_settings_manager)
):
if settings_manager.auth_settings.AUTO_LOGIN: if settings_manager.auth_settings.AUTO_LOGIN:
return create_user_longterm_token(db) return create_user_longterm_token(db)

View file

@ -29,7 +29,7 @@ router = APIRouter(tags=["Users"])
@router.post("/user", response_model=UserRead, status_code=201) @router.post("/user", response_model=UserRead, status_code=201)
def add_user( def add_user(
user: UserCreate, user: UserCreate,
db: Session = Depends(get_session), session: Session = Depends(get_session),
) -> User: ) -> User:
""" """
Add a new user to the database. Add a new user to the database.
@ -38,11 +38,11 @@ def add_user(
try: try:
new_user.password = get_password_hash(user.password) new_user.password = get_password_hash(user.password)
db.add(new_user) session.add(new_user)
db.commit() session.commit()
db.refresh(new_user) session.refresh(new_user)
except IntegrityError as e: except IntegrityError as e:
db.rollback() session.rollback()
raise HTTPException( raise HTTPException(
status_code=400, detail="This username is unavailable." status_code=400, detail="This username is unavailable."
) from e ) from e
@ -65,16 +65,16 @@ def read_all_users(
skip: int = 0, skip: int = 0,
limit: int = 10, limit: int = 10,
current_user: Session = Depends(get_current_active_superuser), current_user: Session = Depends(get_current_active_superuser),
db: Session = Depends(get_session), session: Session = Depends(get_session),
) -> UsersResponse: ) -> UsersResponse:
""" """
Retrieve a list of users from the database with pagination. Retrieve a list of users from the database with pagination.
""" """
query = select(User).offset(skip).limit(limit) query = select(User).offset(skip).limit(limit)
users = db.execute(query).fetchall() users = session.execute(query).fetchall()
count_query = select(func.count()).select_from(User) # type: ignore count_query = select(func.count()).select_from(User) # type: ignore
total_count = db.execute(count_query).scalar() total_count = session.execute(count_query).scalar()
return UsersResponse( return UsersResponse(
total_count=total_count, # type: ignore total_count=total_count, # type: ignore
@ -87,19 +87,19 @@ def patch_user(
user_id: UUID, user_id: UUID,
user: UserUpdate, user: UserUpdate,
_: Session = Depends(get_current_active_user), _: Session = Depends(get_current_active_user),
db: Session = Depends(get_session), session: Session = Depends(get_session),
) -> User: ) -> User:
""" """
Update an existing user's data. Update an existing user's data.
""" """
return update_user(user_id, user, db) return update_user(user_id, user, session)
@router.delete("/user/{user_id}") @router.delete("/user/{user_id}")
def delete_user( def delete_user(
user_id: UUID, user_id: UUID,
current_user: User = Depends(get_current_active_superuser), current_user: User = Depends(get_current_active_superuser),
db: Session = Depends(get_session), session: Session = Depends(get_session),
) -> dict: ) -> dict:
""" """
Delete a user from the database. Delete a user from the database.
@ -113,12 +113,12 @@ def delete_user(
status_code=403, detail="You don't have the permission to delete this user" status_code=403, detail="You don't have the permission to delete this user"
) )
user_db = db.query(User).filter(User.id == user_id).first() user_db = session.query(User).filter(User.id == user_id).first()
if not user_db: if not user_db:
raise HTTPException(status_code=404, detail="User not found") raise HTTPException(status_code=404, detail="User not found")
db.delete(user_db) session.delete(user_db)
db.commit() session.commit()
return {"detail": "User deleted"} return {"detail": "User deleted"}
@ -126,7 +126,7 @@ def delete_user(
# TODO: REMOVE - Just for testing purposes # TODO: REMOVE - Just for testing purposes
@router.post("/super_user", response_model=User) @router.post("/super_user", response_model=User)
def add_super_user_for_testing_purposes_delete_me_before_merge_into_dev( def add_super_user_for_testing_purposes_delete_me_before_merge_into_dev(
db: Session = Depends(get_session), session: Session = Depends(get_session),
) -> User: ) -> User:
""" """
Add a superuser for testing purposes. Add a superuser for testing purposes.
@ -141,11 +141,11 @@ def add_super_user_for_testing_purposes_delete_me_before_merge_into_dev(
) )
try: try:
db.add(new_user) session.add(new_user)
db.commit() session.commit()
db.refresh(new_user) session.refresh(new_user)
except IntegrityError as e: except IntegrityError as e:
db.rollback() session.rollback()
raise HTTPException(status_code=400, detail="User exists") from e raise HTTPException(status_code=400, detail="User exists") from e
return new_user return new_user