feat: add ProfileUpdate schema and extend UserResponse with profile fields

- Add first_name, last_name, display_name, avatar_url to UserResponse
- Add ProfileUpdate schema for self-service profile editing
- Add MFADisableRequest schema for password-confirmed MFA disable

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
CCS Admin 2026-02-26 09:35:54 +00:00
parent d09fdccc75
commit 6bc0b3ac5a
2 changed files with 20 additions and 0 deletions

View file

@ -62,3 +62,9 @@ class ChangePasswordRequest(BaseModel):
old_password: str
new_password: str
class MFADisableRequest(BaseModel):
"""Password confirmation required to disable MFA."""
password: str

View file

@ -12,6 +12,10 @@ class UserResponse(BaseModel):
id: int
username: str
email: str
first_name: Optional[str] = None
last_name: Optional[str] = None
display_name: Optional[str] = None
avatar_url: Optional[str] = None
role: str
mfa_enabled: bool
is_active: bool
@ -30,6 +34,16 @@ class UserCreate(BaseModel):
role: str = "dak_mitarbeiter"
class ProfileUpdate(BaseModel):
"""Self-service profile update (authenticated user edits own data)."""
first_name: Optional[str] = None
last_name: Optional[str] = None
display_name: Optional[str] = None
username: Optional[str] = None
email: Optional[EmailStr] = None
class UserUpdate(BaseModel):
"""Admin-only: partial update of user fields."""