Таска 1/2: явный каст и 404 ошибка #1

Open
skvachuk wants to merge 3 commits from feature/1 into develop
2 changed files with 57 additions and 3 deletions
Showing only changes of commit d794d3f9c6 - Show all commits

View File

@@ -55,4 +55,22 @@ async def me(
) -> MeUserPublicResponse: ) -> MeUserPublicResponse:
user = await command(user_id=auth.user_id) user = await command(user_id=auth.user_id)
logger.info(f'Get user: {user.id}') logger.info(f'Get user: {user.id}')
return MeUserPublicResponse.from_user(user) return MeUserPublicResponse(

Лучше сделать явный каст сущности в респонз модель

не MeUserPublicResponse.from_user(user)

а типо что-то:
MeUserPublicResponse(
id=user.id,
...
)

Лучше сделать явный каст сущности в респонз модель не MeUserPublicResponse.from_user(user) а типо что-то: MeUserPublicResponse( id=user.id, ... )
id=user.id,
email=user.email,
first_name=user.first_name,
middle_name=user.middle_name,
last_name=user.last_name,
birth_date=user.birth_date,
encrypted_mnemonic=user.encrypted_mnemonic,
phone=user.phone,
passport_data=user.passport_data,
inn=user.inn,
erc20=user.erc20,
avatar_link=user.avatar_link,
kyc_verified=user.kyc_verified,
is_deleted=user.is_deleted,
created_at=user.created_at,
updated_at=user.updated_at,
kyc_verified_at=user.kyc_verified_at
)

View File

@@ -174,7 +174,25 @@ async def set_avatar(
command: SetAvatarCommand = Depends(get_set_avatar_command), command: SetAvatarCommand = Depends(get_set_avatar_command),
) -> SetAvatarPublicResponse: ) -> SetAvatarPublicResponse:
user, webp_size = await command(user_id=auth.user_id, image_bytes=body.decoded_bytes) user, webp_size = await command(user_id=auth.user_id, image_bytes=body.decoded_bytes)
pub = MeUserPublicResponse.from_user(user) pub = MeUserPublicResponse(
id=user.id,
email=user.email,
first_name=user.first_name,
middle_name=user.middle_name,
last_name=user.last_name,
birth_date=user.birth_date,
encrypted_mnemonic=user.encrypted_mnemonic,
phone=user.phone,
passport_data=user.passport_data,
inn=user.inn,
erc20=user.erc20,
avatar_link=user.avatar_link,
kyc_verified=user.kyc_verified,
is_deleted=user.is_deleted,
created_at=user.created_at,
updated_at=user.updated_at,
kyc_verified_at=user.kyc_verified_at
)
return SetAvatarPublicResponse(**pub.model_dump(), webp_size_bytes=webp_size) return SetAvatarPublicResponse(**pub.model_dump(), webp_size_bytes=webp_size)
Review

**pub.model_dump()

Точно также нужно заменить на явное создание, а не распаковку

**pub.model_dump() Точно также нужно заменить на явное создание, а не распаковку
@@ -196,7 +214,25 @@ async def delete_avatar(
command: DeleteAvatarCommand = Depends(get_delete_avatar_command), command: DeleteAvatarCommand = Depends(get_delete_avatar_command),
) -> MeUserPublicResponse: ) -> MeUserPublicResponse:
user = await command(user_id=auth.user_id) user = await command(user_id=auth.user_id)
return MeUserPublicResponse.from_user(user) return MeUserPublicResponse(
id=user.id,
email=user.email,
first_name=user.first_name,
middle_name=user.middle_name,
last_name=user.last_name,
birth_date=user.birth_date,
encrypted_mnemonic=user.encrypted_mnemonic,
phone=user.phone,
passport_data=user.passport_data,
inn=user.inn,
erc20=user.erc20,
avatar_link=user.avatar_link,
kyc_verified=user.kyc_verified,
is_deleted=user.is_deleted,
created_at=user.created_at,
updated_at=user.updated_at,
kyc_verified_at=user.kyc_verified_at
)
@account_settings_router.post( @account_settings_router.post(