8000 Fixed Update User · Tert0/fastapi-framework-template@1ed5a70 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1ed5a70

Browse files
committed
Fixed Update User
1 parent 404bd3c commit 1ed5a70

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

app/api/v1/users.py

Lines changed: 6 additions & 5 deletions
< 8000 th scope="col">Original file line number
Diff line numberDiff line change
@@ -13,20 +13,21 @@
1313

1414

1515
@router.get("/", response_model=UserSchema)
16-
async def get_user(data=Depends(get_data)):
17-
return data.get("user")
16+
async def get_user(data=Depends(get_data), db: DB = Depends(database_dependency)):
17+
user: User = await db.first(select(User).filter_by(id=data["user"]["id"]))
18+
return UserSchema(**{"id": user.id, "username": user.username})
1819

1920

2021
@router.put("/", response_model=UserSchema)
2122
async def update_user(updated_user: UpdateUser, data=Depends(get_data), db: DB = Depends(database_dependency)):
22-
if await db.exists(select(User).filter_by(username=updated_user.username)):
23-
raise HTTPException(409, "Username already used")
2423
user: User = await db.first(select(User).filter_by(id=data["user"]["id"]))
2524
if user.username == updated_user.username:
2625
updated_user.username = None
27-
else:
26+
elif updated_user.username:
2827
if not RE_USERNAME.match(updated_user.username):
2928
raise HTTPException(400, "Username doesn't match Regex")
29+
if await db.exists(select(User).filter_by(username=updated_user.username)):
30+
raise HTTPException(409, "Username already used")
3031
if not updated_user.username and not updated_user.password:
3132
raise HTTPException(400, "Nothing Changed")
3233
if not user:

0 commit comments

Comments
 (0)
0