diff options
| author | l3wdfut4pwr <l3wdfut4pwr@gmail.com> | 2026-04-29 02:08:02 +0300 |
|---|---|---|
| committer | l3wdfut4pwr <l3wdfut4pwr@gmail.com> | 2026-04-29 02:08:02 +0300 |
| commit | ea58f7b3b514098f365c50facc5fc212459acac0 (patch) | |
| tree | 64924839f51d274cd710b1e88ed0edcad8d7f812 /app/routes/users | |
| parent | 5d18f873e9b72bd00d69e42a10c566d44a0c5255 (diff) | |
add google auth
Diffstat (limited to 'app/routes/users')
| -rw-r--r-- | app/routes/users/user.py | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/app/routes/users/user.py b/app/routes/users/user.py index ed0e898..034233e 100644 --- a/app/routes/users/user.py +++ b/app/routes/users/user.py @@ -4,7 +4,7 @@ from sqlalchemy.ext.asyncio import AsyncSession from app.auth.dependencies import get_current_user from app.models.user import User from app.schemas.profile import DescriptionUpdate -from app.schemas.user import ChangeEmail, ChangePassword, UserRead +from app.schemas.user import ChangeEmail, ChangePassword, SetPassword, UserRead from app.utils.db import get_async_session from app.utils.hash_cfg import hash_password, verify_password @@ -92,3 +92,24 @@ async def change_password( "success": True, "message": "Password updated successfully", } + + +@router.post("/password/set") +async def set_password( + data: SetPassword, + user: User = Depends(get_current_user), + session: AsyncSession = Depends(get_async_session), +): + if user.password: + raise HTTPException(status_code=400, detail="Password already set") + + if data.new_password != data.repeat_password: + raise HTTPException(status_code=400, detail="Passwords do not match") + + user.password = hash_password(data.new_password) + + session.add(user) + await session.commit() + await session.refresh(user) + + return {"success": True} |
