Skip to content

Commit 2457ca5

Browse files
committed
Resolved Type incosistencies between Pydantic modles and dict
1 parent 984d532 commit 2457ca5

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/app/api/dependencies.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ async def get_current_user(
3434
user = await crud_users.get(db=db, username=token_data.username_or_email, is_deleted=False)
3535

3636
if user:
37-
return cast(dict[str, Any], user)
37+
return user
3838

3939
raise UnauthorizedException("User not authenticated.")
4040

src/app/api/v1/users.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,20 +80,21 @@ async def patch_user(
8080
current_user: Annotated[dict, Depends(get_current_user)],
8181
db: Annotated[AsyncSession, Depends(async_get_db)],
8282
) -> dict[str, str]:
83-
db_user = await crud_users.get(db=db, username=username, schema_to_select=UserRead)
83+
# Remove schema_to_select to get a dictionary
84+
db_user = await crud_users.get(db=db, username=username)
8485
if db_user is None:
8586
raise NotFoundException("User not found")
8687

87-
db_user = cast(UserRead, db_user)
88-
if db_user.username != current_user["username"]:
88+
# Now both are dictionaries, use dictionary access
89+
if db_user["username"] != current_user["username"]:
8990
raise ForbiddenException()
9091

91-
if values.username != db_user.username:
92+
if values.username != db_user["username"]:
9293
existing_username = await crud_users.exists(db=db, username=values.username)
9394
if existing_username:
9495
raise DuplicateValueException("Username not available")
9596

96-
if values.email != db_user.email:
97+
if values.email != db_user["email"]:
9798
existing_email = await crud_users.exists(db=db, email=values.email)
9899
if existing_email:
99100
raise DuplicateValueException("Email is already registered")

0 commit comments

Comments
 (0)