🐛 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:
parent
1b317ee4c9
commit
2bbbf44b39
4 changed files with 27 additions and 26 deletions
|
|
@ -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}"
|
||||||
|
|
|
||||||
|
|
@ -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():
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue