small tweaks

This commit is contained in:
James Pattinson
2025-11-10 17:37:08 +00:00
parent a41e5a8cbb
commit 731c615d07
5 changed files with 22 additions and 9 deletions

View File

@@ -28,6 +28,15 @@ async def update_current_user_profile(
"""Update current user's profile"""
update_data = user_update.model_dump(exclude_unset=True)
# Check email uniqueness if email is being updated
if 'email' in update_data and update_data['email'] != current_user.email:
existing_user = db.query(User).filter(User.email == update_data['email']).first()
if existing_user:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail="Email already registered"
)
for field, value in update_data.items():
setattr(current_user, field, value)

View File

@@ -18,6 +18,7 @@ class UserCreate(UserBase):
class UserUpdate(BaseModel):
email: Optional[EmailStr] = None
first_name: Optional[str] = Field(None, min_length=1, max_length=100)
last_name: Optional[str] = Field(None, min_length=1, max_length=100)
phone: Optional[str] = None