Добавил смену аватарок
This commit is contained in:
parent
05d476b02d
commit
1ae5871538
2 changed files with 21 additions and 9 deletions
|
@ -22,21 +22,23 @@ async def upload_file(file: UploadFile, remote_server_url: str) -> httpx.Respons
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
@router.post('/upload_avatar', response_model=str)
|
async def upload_file_returning_str(file: UploadFile, sub_str: str) -> str:
|
||||||
async def upload_avatar(file: UploadFile):
|
remote_server_url = settings.IMAGE_UPLOAD_SERVER + sub_str
|
||||||
remote_server_url = settings.IMAGE_UPLOAD_SERVER + "upload_avatar"
|
|
||||||
response = await upload_file(file, remote_server_url)
|
response = await upload_file(file, remote_server_url)
|
||||||
image_url = response.json()['image_url']
|
image_url = response.json()['image_url']
|
||||||
image_url = settings.IMAGE_UPLOAD_SERVER + image_url
|
image_url = settings.IMAGE_UPLOAD_SERVER + image_url
|
||||||
return image_url
|
return image_url
|
||||||
|
|
||||||
|
|
||||||
|
@router.post('/upload_avatar', response_model=str)
|
||||||
|
async def upload_avatar(file: UploadFile):
|
||||||
|
image_url = await upload_file_returning_str(file, "upload_avatar")
|
||||||
|
return image_url
|
||||||
|
|
||||||
|
|
||||||
@router.post('/upload_image', response_model=str)
|
@router.post('/upload_image', response_model=str)
|
||||||
async def upload_avatar(file: UploadFile):
|
async def upload_avatar(file: UploadFile):
|
||||||
remote_server_url = settings.IMAGE_UPLOAD_SERVER + "upload_image"
|
image_url = await upload_file_returning_str(file, "upload_image")
|
||||||
response = await upload_file(file, remote_server_url)
|
|
||||||
image_url = response.json()['image_url']
|
|
||||||
image_url = settings.IMAGE_UPLOAD_SERVER + image_url
|
|
||||||
return image_url
|
return image_url
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
from fastapi import APIRouter, Response, Depends
|
from fastapi import APIRouter, Response, Depends, UploadFile
|
||||||
from fastapi.responses import RedirectResponse
|
from fastapi.responses import RedirectResponse
|
||||||
from starlette import status
|
from starlette import status
|
||||||
|
|
||||||
|
from app.config import settings
|
||||||
from app.exceptions import UserAlreadyExistsException, UsernameAlreadyInUseException, \
|
from app.exceptions import UserAlreadyExistsException, UsernameAlreadyInUseException, \
|
||||||
IncorrectPasswordException, PasswordsМismatchException, WrongCodeException
|
IncorrectPasswordException, PasswordsМismatchException, WrongCodeException, UserNotFoundException
|
||||||
|
from app.images.router import upload_file, upload_file_returning_str
|
||||||
from app.users.auth import get_password_hash, authenticate_user_by_email, authenticate_user_by_username, \
|
from app.users.auth import get_password_hash, authenticate_user_by_email, authenticate_user_by_username, \
|
||||||
create_access_token, verify_password, REGISTRATED_USER, get_user_codes_list, VERIFICATED_USER, authenticate_user, \
|
create_access_token, verify_password, REGISTRATED_USER, get_user_codes_list, VERIFICATED_USER, authenticate_user, \
|
||||||
check_existing_user
|
check_existing_user
|
||||||
|
@ -88,6 +90,14 @@ async def rename_user(new_username: SUserName, current_user: Users = Depends(get
|
||||||
return new_username
|
return new_username
|
||||||
|
|
||||||
|
|
||||||
|
@router.patch("/change_avatar", response_model=str)
|
||||||
|
async def change_avatar(new_avatar: UploadFile, current_user: Users = Depends(get_current_user)):
|
||||||
|
new_avatar_url = await upload_file_returning_str(new_avatar, "upload_avatar")
|
||||||
|
if await UserDAO.change_data(current_user.id, avatar_image=new_avatar_url):
|
||||||
|
return new_avatar_url
|
||||||
|
raise UserNotFoundException # Надо подумать
|
||||||
|
|
||||||
|
|
||||||
@router.patch("/change_password", status_code=status.HTTP_200_OK)
|
@router.patch("/change_password", status_code=status.HTTP_200_OK)
|
||||||
async def change_password(new_password: SUserPassword, current_user: Users = Depends(get_current_user)):
|
async def change_password(new_password: SUserPassword, current_user: Users = Depends(get_current_user)):
|
||||||
existing_user = await UserDAO.find_one_or_none(id=current_user.id)
|
existing_user = await UserDAO.find_one_or_none(id=current_user.id)
|
||||||
|
|
Loading…
Add table
Reference in a new issue