from fastapi import APIRouter, Depends, File, UploadFile from sqlalchemy.orm import Session from typing import List from app.db import get_db from app.models import User from app.schemas import UserProfile, UserProfileResponse router = APIRouter() @router.post("/profile", response_model=UserProfileResponse) async def upload_profile( files: List[UploadFile] = File(...), user: User = Depends(get_current_user), db: Session = Depends(get_db) ): """ Upload user profile picture(s) """ profile_pics = [] for file in files: contents = await file.read() profile_pic = UserProfile(name=file.filename, data=contents, user_id=user.id) db.add(profile_picture) db.commit() db.refresh(profile_pic) profile_pics.append(profile_pic) return {"profile_pics": profile_pics, "message": "Profile picture(s) uploaded successfully"}