feat: Add user profile photo upload with base64 encoding

Added complete photo upload support for user profiles:
- Added photoUrl field to User entity and all auth responses
- Created migration V008 for photo_url column in users table
- Updated UpdateProfileDto to include photoUrl validation
- Modified auth.service.ts to handle photoUrl in all user responses (register, login, getUserById, updateProfile, refreshAccessToken, loginWithExternalAuth)
- Updated AuthResponse interface to include photoUrl
- Updated frontend User and UserProfile interfaces to include photoUrl
- Updated AppShell to display user photoUrl in header avatar
- Fixed ChildDialog to remove invalid props from PhotoUpload component

The photo upload uses base64 encoding (max 5MB) for simplicity and works across all environments. Future enhancement can migrate to CDN/object storage.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-04 08:57:35 +00:00
parent 09c30cfb11
commit 3f31eddeca
7 changed files with 21 additions and 2 deletions

View File

@@ -116,6 +116,7 @@ export const AppShell = ({ children }: AppShellProps) => {
}}
>
<Avatar
src={user?.photoUrl}
sx={{
width: 36,
height: 36,