From 9cc09014a462e19380ee4e5b91e9b22d242b704f Mon Sep 17 00:00:00 2001 From: Hannah dagemark Date: Mon, 10 Aug 2026 23:11:21 +0200 Subject: [PATCH] Fixed syntax misc issues --- app/logic/project_logic.py | 17 ++++++++++++----- app/logic/service_logic.py | 13 ++++++++++--- app/logic/user_logic.py | 17 +++++++++++------ 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/app/logic/project_logic.py b/app/logic/project_logic.py index f03b1bf..4b3ebb5 100644 --- a/app/logic/project_logic.py +++ b/app/logic/project_logic.py @@ -1,3 +1,5 @@ +from sqlmodel import inspect + from app.database import ( add_to_database, delete_from_database_where, @@ -17,10 +19,10 @@ def get_by_id(project_id: int): return get_from_database_where_id(Project, project_id) -def get_with_parent(project_id: int): +def get_with_parent(project_id: int | None): return get_from_database_where( Project, - Project.parent_id, + Project.id, # type: ignore (Type correct on runtime) project_id, ) @@ -35,11 +37,16 @@ def update( update_attribute: str, new_value: int | str | None, ): + if update_attribute not in inspect(Project).attrs: + raise ValueError(f"Invalid attribute: {update_attribute}") + + attribute = getattr(Project, update_attribute) + return update_database_where( Project, - Project.id, + Project.id, # type: ignore (Type correct on runtime) project_id, - update_attribute, + attribute, new_value, ) @@ -47,6 +54,6 @@ def update( def delete(project_id: int): return delete_from_database_where( Project, - Project.id, + Project.id, # type: ignore (Type correct on runtime) project_id, ) diff --git a/app/logic/service_logic.py b/app/logic/service_logic.py index d7e7fe8..e8bf626 100644 --- a/app/logic/service_logic.py +++ b/app/logic/service_logic.py @@ -1,3 +1,5 @@ +from sqlmodel import inspect + from app.database import ( add_to_database, delete_from_database_where, @@ -26,11 +28,16 @@ def update( update_attribute: str, new_value: int | str | None, ): + if update_attribute not in inspect(Service).attrs: + raise ValueError(f"Invalid attribute: {update_attribute}") + + attribute = getattr(Service, update_attribute) + return update_database_where( Service, - Service.id, + Service.id, # type: ignore (Type correct on runtime) service_id, - update_attribute, + attribute, new_value, ) @@ -38,6 +45,6 @@ def update( def delete(service_id: int): return delete_from_database_where( Service, - Service.id, + Service.id, # type: ignore (Type correct on runtime) service_id, ) diff --git a/app/logic/user_logic.py b/app/logic/user_logic.py index 5b401f7..ecd3e06 100644 --- a/app/logic/user_logic.py +++ b/app/logic/user_logic.py @@ -27,9 +27,14 @@ def get_password_hash(password: str): def get_user(username: str): - user_dict = get_from_database_where(User, User.username, username, True) - if user_dict is not None: - return UserInDB(**user_dict) + user = get_from_database_where( + User, + User.username, # type: ignore (Type correct on runtime) + username, + True, + ) + if user is not None: + return UserInDB.model_validate(user[0]) def authenticate_user(username: str, password: str): @@ -43,7 +48,7 @@ def authenticate_user(username: str, password: str): def create_access_token( - data: dict[str, str], + data: dict[str, str | datetime], expires_delta: timedelta | None = None, ): to_encode = data.copy() @@ -52,7 +57,7 @@ def create_access_token( else: expire = datetime.now(UTC) + timedelta(minutes=15) to_encode.update({"exp": expire}) - encoded_jwt = jwt.encode( + encoded_jwt = jwt.encode( # pyright: ignore[reportUnknownMemberType] (Third party skill issue) to_encode, Settings.secret_key, algorithm=Settings.algorithm, @@ -67,7 +72,7 @@ async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]): headers={"WWW-Authenticate": "Bearer"}, ) try: - payload = jwt.decode( + payload = jwt.decode( # pyright: ignore[reportUnknownMemberType] (Third party skill issue) token, Settings.secret_key, algorithms=[Settings.algorithm],