Handle duplicate key error on user patch
This commit is contained in:
parent
d19e2a5473
commit
d36db8c04f
|
@ -4,6 +4,7 @@ from typing import Annotated, final
|
|||
from beanie import PydanticObjectId
|
||||
from fastapi import APIRouter, Body, HTTPException, Response, status
|
||||
from pydantic import BaseModel, EmailStr, StringConstraints
|
||||
from pymongo.errors import DuplicateKeyError
|
||||
from starlette.status import HTTP_204_NO_CONTENT
|
||||
|
||||
from src.api.auth.dependencies import LoggedInDep
|
||||
|
@ -184,7 +185,13 @@ async def patch_user(
|
|||
detail="You're not authorized to update this user",
|
||||
)
|
||||
|
||||
try:
|
||||
user = await data.update_user(user)
|
||||
except DuplicateKeyError:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_409_CONFLICT,
|
||||
detail="Username or email already taken",
|
||||
)
|
||||
|
||||
return UserData.from_user(user)
|
||||
|
||||
|
|
Loading…
Reference in a new issue