Переделал логику изменения данных

This commit is contained in:
urec56 2024-06-14 22:43:18 +05:00
parent 355a433e10
commit 530f298825
2 changed files with 17 additions and 9 deletions

View file

@ -212,14 +212,22 @@ async def change_user_data(user_data: SUserChangeData, user=Depends(get_current_
else: else:
hashed_password = user.hashed_password hashed_password = user.hashed_password
async with uow: async with uow:
await uow.user.change_data( if not user_data.avatar_url:
user_id=user.id, await uow.user.change_data(
email=user_data.email, user_id=user.id,
username=user_data.username, email=user_data.email,
avatar_image=str(user_data.avatar_url), username=user_data.username,
hashed_password=hashed_password hashed_password=hashed_password
) )
await uow.user.add_user_avatar(user_id=user.id, avatar=str(user_data.avatar_url)) else:
await uow.user.change_data(
user_id=user.id,
email=user_data.email,
username=user_data.username,
avatar_image=str(user_data.avatar_url),
hashed_password=hashed_password
)
await uow.user.add_user_avatar(user_id=user.id, avatar=str(user_data.avatar_url))
await uow.commit() await uow.commit()
send_data_change_email.delay(user_data.username, user_data.email) send_data_change_email.delay(user_data.username, user_data.email)
await RedisService.delete_verification_code(redis=redis_session, user_id=user.id) await RedisService.delete_verification_code(redis=redis_session, user_id=user.id)

View file

@ -69,7 +69,7 @@ class SUserChangeData(BaseModel):
email: EmailStr email: EmailStr
username: str = Query(None, min_length=2, max_length=30) username: str = Query(None, min_length=2, max_length=30)
new_password: str | None = Query(None, min_length=8) new_password: str | None = Query(None, min_length=8)
avatar_url: HttpUrl avatar_url: HttpUrl | None
class STokenLogin(BaseModel): class STokenLogin(BaseModel):